以下以VMWare Workstation 6.0.4 Build 93057版本为例。

2. 基于VMWare的虚拟网络

2.1 VMWare实现虚拟网络的关键构件

2.1.1 虚拟Ethernet交换机

 

VMWare安装后,会在Windows主机中生成个10个虚拟的Ethernet交换机设备,这些设备分别命名为VMNet0~VMNet9。虚拟PC可以连接到这些虚拟的Ethernet交换机中,从而组成VMWare基本虚拟网络。

 

这些虚拟交换机只实现L2的纯交换功能,而不能实现VLAN等附加功能。

 

在这10个虚拟Ethernet交换机中,VMNet0、VMNet1和VMNet8是具有默认用途的,而其他的虚拟交换机都没有默认用途,用户可以随意使用。VMNet0交换机的默认用途是用来连接与主机PC进行直接桥接的虚拟机网络(见2.2),VMNet1交换机的默认用途是用来连接与主机PC真实网卡相互独立的虚拟机网络,VMNet8交换机的默认用途则是用来连接通过NAT与主机PC真实网卡进行通信的虚拟机网络。或者说,当虚拟机网络是与主机PC真实网卡直接桥接时,虚拟PC连接到交换机VMNet0,当虚拟机网络与主机PC真实网卡相互独立时,虚拟PC连接到交换机VMNet1,而当虚拟机网络与主机PC真实网卡通过NAT通信时,虚拟PC连接到交换机VMNet8。

 

对于其他的VMWare虚拟交换机VMNet2、VMNet3等,可以有两用途:一种是将它们与主机PC的真实网卡桥接,另外一种是建立自定义的子网。

 

在配置虚拟机时,可以随意指定虚拟机要连接到哪个虚拟Ethernet交换机。

 

2.1.2虚拟Ethernet网络适配器(网卡)

 

除虚拟Ethernet交换机外,VMWare还会在主机中生成两块虚拟的Ethernet网卡,其名称分别为“VMware Virtual Ethernet Adapter for VMnet1”和“VMware Virtual Ethernet Adapter for VMnet8”。这两块网卡与主机中的真实网卡是独立的。以下分别简称这两块虚拟网卡为VAdapter1和VAdapter8。

 

当使用VMNet1虚拟交换机时,第一块网卡也连接到该交换机,这样这块网卡可以与连接到VMNet1交换机上的虚拟机通信。按照VMWare的默认配置,这块网卡属于子网192.168.127.0/24。

 

当使用VMNet8虚拟交换机时,第二块网卡也连接到该交换机,这样这块网卡可以与连接到VMNet8交换机上的虚拟机通信。按照VMWare的默认配置,这块网卡属于子网192.168.204.0/24。

 

由于这两块虚拟网卡位于主机中,因此对于主机来说,它们是两个网卡设备,其IP地址配置可以有两种方式:静态方式和DHCP方式。如果配置为DHCP方式,那么主机系统中的DHCP Client服务必须启动,而且VMWare DHCP Service服务也必须启动(该服务相当于一个虚拟的DHCP Server,能够为虚拟网卡提供IP租用服务)。如果是静态配置IP,它们的IP地址范围必须在VMNet1和VMNet8所属子网(默认为192.168.127.0/24和192.168.204.0/24),否则它们将不能与VMNet1虚拟网络和VMNet8虚拟网络通信。

 

2.1.3 VMWare桥接协议

 

默认情况下,VMWare桥接协议会绑定到主机PC的真实网卡上。桥接协议实现一个二层网桥,因此只能连通媒介相同或相似且属于同一子网的网络。

 

VMWare网桥的作用主要是:当虚拟网络与主机真实网卡直接桥接时,网桥能实现它们的互通。

 

通过VMWare网桥,虚拟机网络被直接暴露给外部网络。

 

2.1.4 虚拟DHCP 服务(VMWare DHCP Service)

 

VMWare DHCP Service实现了一个虚拟DHCP服务器,能够为没有桥接到主机PC的外部网络的虚拟机和主机PC中的虚拟网卡VAdapter1与VAdapter8提供IP地址租用服务。(对于桥接到主机PC的外部网络的虚拟机,它们将直接从外部网络中的DHCP服务器获取IP地址或者是通过静态配置来获取IP地址。)

 

2.1.5 虚拟NAT服务(VMWare NAT Service)

 

该服务为虚拟网络(包括虚拟PC机和主机中的虚拟网卡VAdapter8)提供NAT服务。为了实现NAT服务,该服务器还充当了虚拟网络的网关。

 

读到这里,可能对于各个组件的作用还不是很理解。通过下面的实际虚拟网络构成分析,认识就会深入。

2.2 基于VMNet0与主机直接桥接的虚拟网络

当虚拟PC的Ethernet接口配置成直接桥接模式时,就会使用VMNet0交换机来构建虚拟网络。此时的网络拓扑如下图所示。

 

 

 

 

 

 

 

 

 

 

 

 


图1 直接桥接的VMWare虚拟网络

 

对于直接桥接的虚拟网络,默认情况下将使用VMWare的虚拟交换机VMNet0来进行连接,所用到的组件包括以下一些:

VMWare虚拟交换机VMNet0:整个网络的连接中心;

VMWare网桥:用于将虚拟网络与主机的真实网络桥接起来;

VMWare虚拟PC:安装有某种操作系统的VMWare虚拟机。作为虚拟网络中的一个主机;

主机中的真实网卡:该网卡通过VMWare网桥与虚拟网络相连。

 

由此可知,直接桥接的虚拟网络中的每个虚拟机对于主机所在的真实网络都是可见的。

2.3 基于VMNet8并通过NAT与主机通信的虚拟网络

当虚拟PC的Ethernet接口配置成NAT模式时,就会使用VMNet8交换机来构建虚拟网络。此时的网络拓扑如下图所示。

 


图2 基于NAT的VMWare虚拟网络

 

对于NAT虚拟网络,默认情况下将使用VMWare的虚拟交换机VMNet8来进行连接,所用到的VMWare组件包括以下一些:

VMWare虚拟交换机VMNet8:整个网络的连接中心;

VMWare DHCP Service:作为虚拟网络的DHCP服务器,为虚拟网络中的主机分配IP地址。按照默认配置,可分配的IP地址范围为192.168.204.128~192.168.204.254。其中,192.168.204.254是该虚拟DHCP服务器的IP地址;

VMWare NAT Service:作为虚拟网络的NAT服务器,同时还作为虚拟网络的网关。其默认的IP地址为192.168.204.2;

VMWare虚拟PC:安装有某种操作系统的VMWare虚拟机。作为虚拟网络中的一个主机;

主机中的虚拟以太网卡VAdapter8:该网卡也直接连接到虚拟交换机VMNet8,在上图中并出未画出该设备。从虚拟网络的结构来看,该设备与VMWare虚拟PC是类似的。

 

由此可知,NAT虚拟网络中的每个虚拟机对于主机所在的真实网络都是不可见的,外界只能看见主机的真实网卡,而看不见虚拟机;但虚拟机通过NAT可以访问外界。

2.4 基于VMNet1与主机无关的虚拟网络

当虚拟PC的Ethernet接口配置成孤立模式时,就会使用VMNet1交换机来构建虚拟网络。此时的网络拓扑如下图所示。


图3 孤立的VMWare虚拟网络

 

对于孤立虚拟网络,默认情况下将使用VMWare的虚拟交换机VMNet1来进行连接,所用到的VMWare组件包括以下一些:

VMWare虚拟交换机VMNet1:整个网络的连接中心;

VMWare DHCP Service:作为虚拟网络的DHCP服务器,未虚拟网络中的主机分配IP地址。按照默认配置,可分配的IP地址范围为192.168.127.128~192.168.127.254。其中,192.168.127.254是该虚拟DHCP服务器的IP地址;

VMWare虚拟PC:安装有某种操作系统的VMWare虚拟机。作为虚拟网络中的一个客户端;

主机中的虚拟以太网卡VAdapter1:该网卡也直接连接到虚拟交换机VMNet1。从虚拟网络的结构来看,该设备与VMWare虚拟PC是类似的。

 

由此可知,孤立虚拟网络与NAT虚拟网络相比,缺少了网关和NAT服务器,因此与主机PC的外部网络没有联系。

2.5 自定义的虚拟网络

在配置虚拟机的Ethernet接口时,可以自行指定要连接的虚拟交换机。如果指定的交换机为VMNet0、VMNet1或VMNet8,那么所建立的虚拟网络就是前面的那三种情况;如果指定的交换机为其他交换机(VMNet2/3/4/5/6/7/9),则有两种情况。

 

如下图所示,虚拟交换机VMNet2被配置为桥接模式,此时它与VMNet0类似,用VMNet2连接的虚拟网络会直接桥接到主机真实网卡所在的外部网络。


图4 配置虚拟交换机为桥接模式

 

如下图所示,虚拟交换机VMNet3设置为非桥接模式,此时可以指定用它建立网络时的子网。由于VMWare的虚拟交换机是二层设备,因此子网地址对它而言没有意义。图6中的配置仅当VMWare DHCP Service为该虚拟网络提供服务时才有意义。


图5 配置虚拟交换机为孤立模式

 


图6 配置虚拟网络的网段

 

当使用VMNet3建立自定义的虚拟网络时,该虚拟网络与2.4中的孤立网络类似。按照默认配置,在该孤立网络中没有DHCP服务器,或者说VMWare DHCP Service将不会为用VMNet3交换机组件的网络提供DHCP服务。不过可以更改该配置,如下图所示。


图7 为虚拟网络配置虚拟DHCP服务

 


图8 指定DHCP服务的地址范围

 

同样的,VMWare NAT Service也可以进行类似的配置。

 

总结起来,利用VMWare的交换机及VMWare服务可以建立的四种基本虚拟网络包括如下:

n         与主机真实网卡所在的外部无关的独立虚拟网络。该虚拟网络种各个虚拟PC通过一个虚拟交换机连接起来,而且该虚拟网络不支持DHCP、无网关;

n         在前一种网络的基础上增加DHCP功能的虚拟网络。VMWare通过VMWare DHCP Service实现了一个虚拟的DHCP服务器,能够为虚拟PC提供IP地址;

n         在前一种网络的基础上增加网关及NAT功能的虚拟网络。VMWare通过VMWare NAT Service为虚拟网络提供了一个虚拟网关,而且可以实现NAT功能,并通过NAT访问主机真实网卡所在的外部网络;

n         与真实主机网卡所在的外部网络直接桥接的虚拟网络。

 

按照上面列出的顺序,外部网络对虚拟机的可见性依次提高。

 

以这四种基本网络为基础,还可以组合出更多更复杂的网络。

 

3. VMWare的配置

为了便于后面的实验分析,以下先给出本文统一的VMWare虚拟交换机、虚拟DHCP服务器、虚拟NAT服务器的配置以及主机中的两块虚拟网卡的配置。后文的实验中,如果没有特别的更改说明,默认的实验环境都遵循以下配置。

3.1 10个虚拟交换机的配置

10个虚拟交换机VMNet0~VMNet9的配置如下图所示。


图9 虚拟交换机的配置

 

VMNet0:配置为直接与主机真实网卡所在的外部网络桥接。当采用VMNet0时,虚拟网络中不再需要虚拟DHCP服务器和虚拟网关,虚拟网络中的主机直接从外部网络获取IP地址,并且通过VMWare网桥直接与外部网络互通。

VMNet1:配置为带虚拟DHCP服务器的孤立网络,该网络为一个B类子网172.18.2.0/24。当采用VMNet1时,虚拟网络仅存在于主机中,与外界网络隔离,且具有自己的虚拟DHCP服务器,同时会包含一块位于主机中的虚拟网卡VAdapter1;

VMNet8:配置为带虚拟DHCP服务器、拥有虚拟网关及NAT服务器的网络,该网络为一个B类子网172.18.8.0/24。当采用VMNet8时,虚拟网络存在于主机中,通过NAT服务于主机共享IP地址访问与外界网络,当外界网络看不见虚拟网络中的主机。该虚拟网络具有自己的虚拟DHCP服务器、虚拟NAT服务器和虚拟网关,同时会包含一块位于主机中的虚拟网卡VAdapter8;

VMNet2/3/4/5/6/7/9:配置为孤立网络,该网络没有虚拟DHCP服务器,没有虚拟网关,也没有虚拟NAT服务器,完全与外界网络隔离。而且该虚拟网络完全有虚拟PC机组成,不包含位于主机中的任何虚拟设备。这些网络均为B类子网,分别为172.18.2.0/24、172.18.3.0/24、172.18.4.0/24、172.18.5.0/24、172.18.6.0/24、172.18.7.0/24和172.18.9.0/24。

3.2 虚拟DHCP服务器的配置

虚拟DHCP服务器仅为虚拟网络VMNet1和VMNet8提供服务,如下图所示。


图10 虚拟DHCP服务的配置

 

其中VMNet1所在子网172.18.1.0/24的虚拟DHCP服务器的配置如下:


图10 VMNet1的虚拟DHCP服务配置

 

VMNet8所在子网172.18.8.0/24的虚拟DHCP服务器配置如下:


图11 VMNet8的虚拟DHCP服务配置

 

3.3 虚拟网关及NAT服务器的配置

虚拟网关NAT服务器仅为虚拟网络VMNet8提供服务,其配置如下:

 


图12 VMNet8的NAT服务配置

 

3.4 主机中的虚拟网卡的配置

只有虚拟网络VMNet1和虚拟网络VMNet8才拥有位于主机中的虚拟网卡和VAdaper8,其它的虚拟网络均没有虚拟网卡,如下图所示。


图13 真实主机中的虚拟网卡配置

 

 

参考站点

[1] VMWare公司,http://www.vmware.com

[2]虚拟机之家,http://www.xuniji.com

 

转自:http://blog.csdn.net/rangzh/archive/2008/06/22/2576715.aspx

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐