VMware的网络解疑

最近又在linux区看到有人问起虚拟机vmware的问题:为什么禁用了vmnet1 vmnet8,虚拟机还能上网呢?

心想有必要写这么篇文章,介绍一下虚拟机vmware网络的构成

其实网上关于这方面的东西不少,但是多数是人云亦云,所谓没有试验就没有真相,正好我最近装了vmware,何不试试呢?

 

首先说一下,为什么会出现上面这样的问题呢?

我想问:网络中一台路由器连接了2台电脑A和B,实现共享上网,路由器直接连接外网,A和B为对等,禁用了A的网卡,能影响到B么?

可能这里问的很突兀,如果你想到了什么,然后明白了,那么不需要往下看了,如果还不懂,请继续。

概括的讲:真正的原因是vmware并不是通过host主机里的vmnet1或者 vmnet8来实现对外连接的,而是用vmware这个软件内置的功能,通过host的真实物理网卡 本地连接 来对外连接的。而vmnet1和vmnet8本是用于给host真实主机实现和虚拟机通信的。

如果看到这里懂了的话,也不需要往下看了,如果还不懂,请继续

首先谈一下网上的几种言论:

1,host-only模式下虚拟机无法连接外网,只能和host主机通信

错,笔者在通过实验实现了host-only方式下的internet访问

2,NAT映射下,虚拟机能访问host,而反之不能

错,目前笔者就用虚拟机NAT方式架设了samba服务器,且可以正常用host主机访问。

 

那么回到主题,虚拟机的网络到底是怎么设置的呢?

首先:在我们安装虚拟机软件的时候,vmware会虚拟10个(是的 你没有看错 是10个)虚拟网络,在这10个子网中分别有10个虚拟的路由器,分别是vnet0-vnet10,其中默认vnet0为桥接模式,对应路由器无效,只实现虚拟机通过host主机物理网卡对外连接,默认vnet1为host-only模式,对应的路由器里连接host主机VMnet1,关闭路由,作为交换机使用,默认vnet8为nat模式,对应路由器连接host主机VMnet8,并实现通过host主机的物理网卡对外的NAT转换。其余默认7个均为custom自定义。

其次,虚拟机软件会默认为host安装两块虚拟网卡,就是大家常看到的VMnet1和VMnet8

但是一定要注意一点VMnet1和VMnet8并不是vnet1和vnet8,VMnet1和VMnet8只是虚拟机提供给host主机访问内部虚拟机的接口。

然后,虚拟机会把VMnet1链接到net1中,把VMnet8连接到net8中

当然 这10个子网我们都可以自己配置

当我们在vmware中新建一台虚拟机的时候,网卡的选择就会有3种,如果我们选择了桥接,那么vmware会把这台虚拟机放置到net0子网中,这个子网即你物理网卡所在的子网,这样使得虚拟机完全如同一台和你host主机一摸一样的网内机器,只不过它用了你主机网卡的通路。如果选择host-only,那么vmware会把这台虚拟机防止到net1中,即连接到net1中的那台虚拟的路由器,同理,选择NAT就是net8,差别在于net8中的路由器实现了对外NAT

下图展示了在默认情况下的3中连接方式,分别有3台虚拟机A B C方式分别为桥接 host-only和NAT,即使有更多的虚拟机,无非是增加到对应路由的链接。

笔者的mware net情况

VMware的网络解疑_第1张图片

模拟的网络如下:

VMware的网络解疑_第2张图片

你可能感兴趣的:(vmware,虚拟机,网络,服务器,internet,路由器)