详解虚拟机下三种联网模式

目录

  • 一,前言
  • 二,虚拟机联网模式
    • 2.1,仅主机模式(Host-Only)
    • 2.2,NAT模式
      • 2.2.1,NAT模式精髓
    • 2.3,桥接模式
      • 2.3.1,如何让虚拟机连接桥接模式

一,前言

小编最近在搭建LoRaWAN的私用ChirpStack服务器(只在局域网内访问),所以要求在虚拟机上部署的服务器能被局域网上的所有物理主机访问到,所以这里面不得不提一嘴虚拟机的三种联网模式。如果不弄清楚这个问题,那么在搭建私用ChirpStack服务器时将寸步难行。
虚拟机在安装时会给宿主机安装三个虚拟网卡,分别是VMnet0,VMnet1,VMnet8,这三种虚拟网卡分别对应虚拟机的三种上网模式,VMnet0对应桥接模式,VMnet1对应仅主机模式,VMnet8对应NAT模式。
详解虚拟机下三种联网模式_第1张图片

二,虚拟机联网模式

2.1,仅主机模式(Host-Only)

在一些网络环境中,由于安全,调试等原因,可能需要将虚拟机和真实的物理环境隔离开来,那么此模式是首选。此模式下的所有虚拟机可以相互访问,但和真实的物理网络环境是隔离开的,此模式下的IP信息,是由host-only虚拟网络的DHCP服务器来分配的。当然了,此模式由于是和真实环境隔离开的,所以不能够和网络通信。

2.2,NAT模式

NAT模式是很多虚拟机用户用的最多的模式,因为只需要上网的话这个模式确实是够够的了,使用NAT模式,就是让虚拟机借助NAT(网络地址转换)功能,通过物理机来访问网络。此模式下,如果物理机可以访问互联网,那么虚拟机也可以,默认情况下和物理机同一网络中的其它机器不能访问虚拟机,但虚拟机可以访问其它物理机。上面说默认情况下,物理机的其它机器不能访问NAT模式下的虚拟机,但是通过端口转发功能可以实现物理机和NAT模式下的虚拟机的相互通信功能。

2.2.1,NAT模式精髓

NAT模式的精髓在于虚拟机可以通过宿主机ping通局域网内所有主机,但是局域网的其他主机不能ping通虚拟机,这是为什么呢?细心的朋友们会发现,在NAT模式下虚拟机和局域网并不在一个网段,那我们就来探究一下为什么会这样?

打开虚拟机查看Vmnet8,可以看到如下内容,子网ip是192.168.135.0/24,网关是192.168.135.2:
详解虚拟机下三种联网模式_第2张图片
详解虚拟机下三种联网模式_第3张图片

然后打开我们的PC机查看Vmnet8,发现Vmnet8的网关是192.168.135.1,和虚拟机在同一网段:
详解虚拟机下三种联网模式_第4张图片
所以我们我们会得到一些认识:
1, 当虚拟机与物理主机进行通信时:其实就是192.168.135.0/24与192.168.0.0/24(我寝室路由器局域网)这两个子网通过Vmnet8之间的通信。
2, 当虚拟机与外网进行通信时:虚拟机要先把数据发到虚拟机的网关192.168.4.2,然后再通过NAT服务器,把地址转换到192.168.0.0/24这个网段,然后再与外网进行通信,这一流程是不通过虚拟网卡的。
3, 如果把vmnet8这块虚拟网卡禁用了,还是不影响虚拟机访问互联网的,只是物理主机与虚拟机的通信会受到影响。所以很多朋友用ssh2登陆不了自己的虚拟机可能是Vmnet虚拟网卡出问题了。
详解虚拟机下三种联网模式_第5张图片

2.3,桥接模式

此模式下,虚拟机的操作系统就像和物理机同一段网络中的物理机一样,它可以访问网络中的任何机器,同时只要物理机可以访问网络,虚拟机也可以实现上网。打开路由器管理可以发现路由器真正的给虚拟机分配了局域网IP(搭建LoRaWAN的私用ChirpStack服务器正是需要这种模式)。
详解虚拟机下三种联网模式_第6张图片

2.3.1,如何让虚拟机连接桥接模式

第一步:在PC机“win+R”进入命令行输入“services.msc”将下图这两种服务开启,且是自动模式:
详解虚拟机下三种联网模式_第7张图片
第二步:打开虚拟机设置为桥接:
详解虚拟机下三种联网模式_第8张图片
第三步:打开虚拟机虚拟网络编辑器以管理员身份运行:
详解虚拟机下三种联网模式_第9张图片
第四步:将虚拟网卡桥接到自己WLAN的网卡(可以在PC机上的网络适配器查看属性),确定即可
详解虚拟机下三种联网模式_第10张图片

你可能感兴趣的:(linux,网络,ubuntu)