VMware Workstations Pro的三种联网方式
一、说说虚拟网桥和虚拟网卡
安装VMware Workstations Pro虚拟机软件后,默认安装了一个虚拟网桥VMnet0和两个虚拟网卡VMnet1、VMnet8。

VMnet0,实际上就是一个虚拟网桥
VMnet0,实际上就是一个虚拟网桥,这个网桥有若干端口,一个端口用于连接你的Host,一个端口用于连接你的虚拟机,他们的位置是对等的,谁也不是谁的网关。在Bridged(桥接)模式下,你可要让虚拟机成为一台和你Host(主机)相同地位的机器。
VMnet1,这是一个Host-Only网络模式
VMnet1,这是一个Host-Only网络模式,这是用于建立一个与世隔绝的网络环境所用到的,其中VMnet1也是一个虚拟交换机,交换机的一个端口连接到你的Host上,另外一个端口连接到虚拟的DHCP服务器上(本质就是VMware的一个组件),另外剩下的端口就是连虚拟机了。虚拟网卡"VMware Network Adapter VMnet1"作为虚拟机的网关接口,为虚拟机提供服务。在虚拟机启动之后,如果你用ifconfig命令,你会很清楚的看到,你的默认网关就是指向"VMware Network Adapter VMnet1"网卡的地址的。(实际上它并不能提供路由,它是干了提供路由器之外的事情)
VMnet8,这是一个NAT方式,默认方式,也是最简单的组网方式
VMnet8,这是一个NAT方式,默认方式,也是最简单的组网方式,从主机的"VMware Network Adapter VMnet8"虚拟网卡出来,连接到VMnet9虚拟交换机,虚拟交换机的另外的端口连接到虚拟的NAT服务器(VMware组件),还有一个端口连接到虚拟DHCP服务器,其他的端口连接虚拟机,虚拟机的网关即是"VMware Network Adapter VMnet8"网卡所在的机器——你的主机。虚拟机启动之后,通过ifconfig可以看到,你的虚拟机默认网关也指向你的"VMware Network Adapter VMnet8"虚拟网卡,相比之下,可以看出NAT组网方式和Host-Only方式区别就在于多了一个NAT服务。
二、细说VMware三种网络连接方式
大家已经知道虚拟网卡(或者虚拟交换机)VMnet1和VMnet8和虚拟网桥VMnet0的关系,那么仔细说说VMware Workstation Pro配置时的三种网络连接方式,VMware网络连接的方式主要有:桥接(Bridged)、NAT、主机网络(Host-Only)。
1.Use Host-Only networking(主机网络)
上文所述使用VMnet1虚拟网卡(或虚拟交换机)的Host-Only网络模式,这种方式很灵活,这种方式没有NAT服务(网路地址转换服务),默认情况,虚拟机只能到主机访问,这也是Host-Only名字的由来和含义,当然默认情况下也不是什么都没有,会有一个DHCP服务加载到VMnet1上,连接到VMnet8的虚拟机仍然可以设置成DHCP,方便系统的配置。这种方式也可以连接外网,而且方式更为灵活,例如:停止VMware自带DHCP服务,使用自己的DHCP服务,统一DHCP服务,并且加入自己的NAT,完全控制VMnet1。虚拟机只能与虚拟机、主机互相访问。不能访问Internet,挂在主机A下的虚拟机不能访问主机B。
其网络拓扑如下图所示,使用Host-Only方式,主机A,虚拟机A1(Ubuntu16.04),虚拟机A2(Fedora),虚拟机A3(Redhat)可以互相访问,但虚拟机A1(Ubuntu16.04),虚拟机A2(Fedora),虚拟机A3(Redhat)不能访问主机B,也不能被主机主机B访问。

2.Use network address translation(NAT)
上文所述使用VMnet8虚拟网卡(或虚拟交换机)的NAT方式,这种方式下,host内部出现了一个虚拟网卡VMnet8(默认情况下),VMnet8相当于连接到内网的网卡,虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于VMnet8,这种方式下,VMware自带的DHCP会默认加载到VMnet8界面上,虚拟机就可以使用DHCP服务器了。VMware自带了仅虚拟机专用的NAT服务(NAT服务全称Network Address Translation 网路地址转换,提供VMnet8到外网的地址转换),虚拟机可通过主机访问单向网络上的其他工作站,其他工作站不能访问虚拟机,只有一个外网地址时非常实用。
其网络拓扑如下图所示,使用NAT方式,虚拟机A1(Ubuntu16.04),虚拟机A2(Fedora),虚拟机A3(Redhat)可以访问主机B,但主机B不可以访问虚拟机A1(Ubuntu16.04),虚拟机A2(Fedora),虚拟机A3(Redhat)。

3.Use bridged networking(桥接网络)
使用VMnet0虚拟交换机,直接将虚拟网卡桥接到一个物理网卡上,实质是将网卡设置为混杂模式,从而达到一个物理网卡监听多个IP的能力。此时虚拟机相当于网络上的一台独立计算机,与主机一样,拥有一个独立的IP地址,类似Linux下一个网卡绑定两个不同IP地址。
其网络拓扑如下图示意,使用桥接方式,主机A,虚拟机A1(Ubuntu16.04),虚拟机A2(Fedora),虚拟机A3(Redhat),主机B都可互相访问。

现在我们就清楚的得到以下结论:
Host-Only与VMnet1虚拟网卡进行通信
NAT与VMnet8虚拟网卡进行通信
Bridged(桥接)使用的是你机器的真实网卡进行上网
实际应用中使用最普遍的是桥接方式,主机必然可以上网,但是虚拟机上的操作系统是不可以上网的。此时你的主机就相当于主机A,虚拟机就相当于虚拟机A1(A2、A3),除非你再向运行商申请IP地址,如果你不在乎成本和时间,我不会阻止你。
当然,通过路由器也是可以使用桥接方式上网,因为你申请的IP地址写在了路由器,这样都可以上网。当然使用默认的NAT方式,虚拟机也是可以上网的(不胡乱改配置,如IP、网关、DNS)。
为什么在VMware虚拟机中,网卡地址会被固定在192.16.0.0~192.168.255.255的范围(VMnet1和VMnet8子网范围是192.168.x.x的网段)?
VMnet1和VMnet8虚拟网卡或交换机,包括其他虚拟交换机(如VMnet2...Vmnet9等)是可以使用任意网段的地址的,之所以使用192.168.x.x的网段,只是VMware Server在安装的时候从192.168.x.x地址段中选出两个地址来用,这两个地址段是随机产生的,并且不同的机器,甚至同一台机器在重复安装时也是不同的。

浙公网安备 33010602011771号