VMWare的3种网络模型详解

2010年01月22日 Linux视频 评论 5 条 阅读 11,031 views 次

很多朋友都曾问到关于Guest和Host互联,其实这并不是一件困难的事情,只要能够理解VMware的网络模型即可,今天结合着我的虚拟机,来详细介绍一下VMware的3种网络结构
在说到VMware的网络模型之前,先说一下VMware的几个虚拟设备:
■VMnet0:这是VMware用于虚拟桥接网络下的虚拟交换机;
■VMnet1:这是VMware用于虚拟Host-Only网络下的虚拟交换机;
■VMnet8:这是VMware用于虚拟NAT网络下的虚拟交换机;
■VMware Network Adapter VMnet1:这是Host用于与Host-Only虚拟网络进行通信的虚拟网卡;
■VMware Network Adapter VMnet8:这是Host用于与NAT虚拟网络进行通信的虚拟网卡;
关于桥接网络:
拓扑图:

Host的物理网卡和Guest的网卡在VMnet0交换机上通过虚拟网桥进行桥接,这也就是说,你的物理网卡和你的Guest的虚拟网卡(注:这个虚拟网卡不等于VMware Network Adapter VMnet1或者VMware Network Adapter VMnet8)处于同等地位,此时的Guest就好像你的Host主机所在的一个网段所在的另外一台机器。打个比方来说:
我的Host的物理网卡配置如下:

IP地址为手工指定方式,网关为192.168.0.1
那么我的Guest就应该和你的Host处于同一个网段,它的配置可为:

同样,IP地址也为手工指定方式,网关也为192.168.0.1
这样的话,IP地址为192.168.0.2的Host和IP地址为192.168.0.158的Guest就可以互通了:

当然,Guest所配置的IP一定要在192.168.0网段没有被占用,而且你的网络管理员允许你使用这个IP地址。
如果在192.168.0网段,存在DHCP服务器,那么Host和Guest都可以把IP地址获取方式设置为DHCP方式。
关于NAT网络
拓扑图

在NAT网络中,会使用到VMnet8虚拟交换机,Host上的VMware Network Adapter VMnet8虚拟网卡被连接到VMnet8交换机上,来与Guest进行通信,但是VMware Network Adapter VMnet8虚拟网卡仅仅是用于和VMnet8网段通信用的,它并不为VMnet8网段提供路由功能,处于虚拟NAT网络下的Guest是使用虚拟的NAT服务器连接的Internet的。
如图:我的VMware Network Adapter VMnet8虚拟网卡的IP地址配置如下:

IP地址是手工指定的,但却不是由我来指定的,而是VMware在安装的时候自动随机指定的一个IP地址(注意,不要修改VMware Network Adapter VMnet8虚拟网卡所在的网络ID,这样的话有可能造成Host和Guest无法通信)
那么,我的NAT网络的虚拟机的IP地址也为192.168.85.0这个网段,其IP地址配置为:

那么,它的IP地址分配方式是DHCP方式指定的,为什么会有DHCP方式呢?这是因为VMware安装之后,会有一台虚拟的DHCP服务器为虚拟机来分配IP地址,实际上它就是一个系统服务而已,在开始--->运行中输入services.msc,就会看到这个服务:

此时可以看到,Guest的IP地址我的VMware Network Adapter VMnet8虚拟网卡处于相同的网络ID,这样的话,ping通就没有问题了:

有一点需要说明的是,在NAT方式的网络中,Guest的Gateway都指向了192.168.X.2,在本例中,X=85,也就是那个虚拟的NAT服务器的地址,这个服务器是一台虚拟的NAT服务器,你可以ping通它,但是却无法访问到这台虚拟机,因为这同样也是一个系统服务:

这时候,你的Guest和Host就可以实现互访了,并且如果你的Host此时已经连接到了Internet,那么你的Guest也就可以连上Internet了。那么VMware Network Adapter VMnet8虚拟网卡在这里扮演了一个什么角色呢?它仅仅是为Host和NAT虚拟网络下的Guest通信提供一个接口,所以,即便Disable掉这块虚拟网卡,Guest仍然是可以上网的,只是Host无法再访问VMnet8网段而已。
关于Host-Only网络:
拓扑图:

在Host-Only网络中,Host-Only网络被用来设计成一个与外界隔绝的网络,其实Host-Only网络和NAT网络非常相似,唯一不同的地方就是在Host-Only网络中,没有用到NAT服务,没有服务器为VMnet1做路由,它当然就没有办法访问Internet啦,可是如果我的Host要和Guest通信呢?怎么办?对了!当然就要用到VMware Network Adapter VMnet1这块虚拟网卡了。
如图,这是我的Host的VMware Network Adapter VMnet1虚拟网卡的配置: