本文转自:http://wangchunhai.blog.51cto.com/225186/1296309

目前虚拟化应用比较广泛,通常情况下,一台物理主机在安装VMware ESXi或Hyper-V虚拟机软件后,可以在一台物理主机上创建多个虚拟机,并且创建的每个虚拟机可以像原来的物理一样对外提供服务,这无疑可以充分利用服务器的资源,达到节省电力、节省空间的目的。但大多数朋友们在使用虚拟机的时候,也有一个问题:就是物理主机性能已经够高,一般情况下配置了64GB内存、2个6核心的intel的CPU的主机,可以创建30~60台虚拟机。但物理主机一般只配置2~4块网卡,每个网卡只连接一个网段。而企业网络中可能划分了多个VLAN,这样,这些虚拟机怎样才能灵活的使用不同网段的地址呢?要解决这个问题,就需要让“虚拟交换机支持VLAN”,本文即介绍这方面的内容。

1 实验环境概述

如果要在VMware ESXi中,创建的虚拟机,需要使用其他网段的地址,就需要在vSphere虚拟交换机中,仿照物理交换机,为虚拟端口划分VLAN。

VMware Workstation、VMware ESXi是虚拟机软件,可以在一台物理机上模拟多台“虚拟”的计算机,虚拟交换机也与此类似。虚拟交换机绑定物理网卡,“虚拟计算机”通过“虚拟交换机”的“虚拟机端口组”连接到“虚拟交换机”,再通过与虚拟交换机绑定的物理网卡与主机上其他网络中的计算机、虚拟机通讯。每个虚拟交换机可以绑定一个或多个物理网卡(不绑定物理网卡的虚拟交换机,是不能直接与主机网络通讯的)。

虚拟交换机绑定物理网卡所连接的交换机端口的属性,决定了虚拟交换机是否可以划分VLAN。简单来说,如果物理网卡连接到一个普通的交换机,或者连接到三层交换机的一Access端口(即普通的划分了VLAN的端口),则这个物理网卡绑定的虚拟交换机,只能设置成该Access端口所指定的VLAN;如果物理网卡连接到三层交换机的Trunk端口,则可以在与这个物理网卡绑定的虚拟交换机划分(或添加)虚拟机端口组,添加的每个端口组可以划分或指定一个VLAN,并通过所连接的三层交换机,与网络中其他计算机通讯。下面通过一个具体的实例进行介绍。

要在虚拟交换机中实现VLAN功能,需要与网络中的三层交换机配合使用,本节实验拓扑如图1-1所示。

clip_image002

图1-1 虚拟交换机网络拓扑

在图1-1的拓扑中,有一台三层交换机,一个有两个网卡的服务器。在三层交换机中,划分了VLAN2001、VLAN2002、VLAN2003、VLAN2004、VLAN2005、VLAN2006共6个VLAN。各VLAN的网段如表4-1所示。

表4-1 三层交换机划分VLAN、地址及网关

VLAN 所属地址 网关地址
VLAN2001 172.18.91.0/255.255.255.0 172.18.91.254
VLAN2002 172.18.92.0/255.255.255.0 172.18.92.254
VLAN2003 172.18.93.0/255.255.255.0 172.18.93.254
VLAN2004 172.18.94.0/255.255.255.0 172.18.94.254
VLAN2005 172.18.95.0/255.255.255.0 172.18.95.254
VLAN2006 172.18.96.0/255.255.255.0 172.18.96.254

三层交换机的主要配置参数如下:

<3526b>disp curr

#

sysname 3526b

#

dhcp-server 1 ip 172.18.96.1 172.18.96.5

#

vlan 2001

vlan 2002

vlan 2003

vlan 2004

vlan 2005

vlan 2006

interface Vlan-interface2001

ip address 172.18.91.254 255.255.255.0

dhcp-server 1

#

interface Vlan-interface2002

ip address 172.18.92.254 255.255.255.0

dhcp-server 1

#

interface Vlan-interface2003

ip address 172.18.93.254 255.255.255.0

dhcp-server 1

#

interface Vlan-interface2004

ip address 172.18.94.254 255.255.255.0

dhcp-server 2

#

interface Vlan-interface2005

ip address 172.18.95.254 255.255.255.0

dhcp-server 1

#

interface Vlan-interface2006

ip address 172.18.96.254 255.255.255.0

dhcp-server 2

#

interface Ethernet0/1

port access vlan 2001

#

interface Ethernet0/2

port access vlan 2001

#

interface Ethernet0/3

port access vlan 2002

#

interface Ethernet0/4

port access vlan 2002

#

interface Ethernet0/5

port access vlan 2003

#

interface Ethernet0/6

port access vlan 2003

#

interface Ethernet0/7

port access vlan 2004

#

interface Ethernet0/8

port access vlan 2004

#

interface Ethernet0/9

port access vlan 2005

#

#

interface Ethernet0/14

port access vlan 2006

#

interface Ethernet0/15

port access vlan 2006

#

interface Ethernet0/16

port access vlan 2006

#

interface Ethernet0/23

port link-type trunk

port trunk permit vlan all

interface Ethernet0/24

port link-type trunk

port trunk permit vlan all

interface GigabitEthernet1/1

#

在这台服务器上安装了VMware ESXi 5.1,这台服务器的第一个网卡连接到一个Access端口,该端口划分为VLAN2006,同时这个网卡设置了管理地址172.18.96.11;另一个网卡连接到交换机的Trunk端口(连接到交换机的23或24端口)。

接下来我们看一下,怎样为虚拟交换机启用VLAN功能,并将其分配给虚拟机使用。

2 为连接到Trunk端口的网卡添加虚拟交换机

使用vSphere Client连接到VMware ESXi Server,在“配置→网络”中,可以看到,当前只有一个虚拟交换机,并且为该虚拟交换机分配了管理地址172.18.96.11,如图1-2所示。

clip_image004

图1-2 当前网络

(1)在图1-2中,单击“添加网络”链接,进入“添加网络向导”对话框,在“连接类型”中选择“虚拟机”。

(2)在“虚拟机-网络访问”对话框,选择“创建vSphere标准交换机”,并选择第二块网卡(即连接到交换机Trunk端口的网卡),如图1-4所示。

clip_image006

图1-4 创建标准交换机

(3)在“端口组属性”选项组中,在“网络标签”处添加第一个可用VLAN的标签,在此添加VLAN2001,在“VLANID”文本框中输入对应的VLAN,在此为2001,如图1-5所示。

clip_image008

图1-5 添加网络标签及选择VLAN

(4)在“即将完成”对话框,显示了要添加的虚拟机端口组。

返回到vSphere Client控制台后,可以看到,已经添加了第二个标准交换机,如图1-7所示。在此标准交换机中只有VLAN2001的虚拟机端口组。

clip_image010

图1-7 添加虚拟交换机完成

3 为其他VLAN添加虚拟机端口组

在前面的操作中,在创建虚拟交换机的同时,已经添加了VLAN2001的虚拟机端口组,接下来要为VLAN2002~VLAN2006添加虚拟机端口组,以添加VLAN2002为例,其他与此类似。

(1)在图1-7中,选择第二个虚拟交换机,单击“属性”链接,打开“vSwitch1属性”对话框,单击“添加”按钮,如图1-8所示。

clip_image012

图1-8 添加虚拟机端口组

(2)在连接类型中选择“虚拟机”。

(3)在“端口组属性”中,在“网络标签”中添加VLAN2002,在“VLAN”文本框中输入对应的VLAN2002,如图1-10所示。

clip_image014

图1-10 设置虚拟机端口组名称

(4)在“即将完成”对话框,单击“完成”按钮,完成虚拟机端口组的添加。

(5)返回到“vSwitch1属性”对话框,接下来,单击“添加”按钮,继续添加其他虚拟机端口组,这可以参照(1)~(4)步,依次为VLAN2003~VLAN2006添加,这些不一一介绍。当所有的虚拟机端口组添加完成后,单击“关闭”按钮返回。

返回到vSphere Client控制台后,可以看到两个虚拟交换机的情况,如图1-14所示。

clip_image016

图1-14 添加完成的虚拟交换机及虚拟机端口组

4 在虚拟机中验证

以后在虚拟机使用中,为虚拟机分配对应的虚拟机端口组,即分配到指定的VLAN。下面通过实验验证。

(1)启动一台虚拟机,并修改虚拟机属性,先将网络标签修改为VLAN2001,如图1-15所示。

clip_image018

图1-15 修改虚拟机网络属性

(2)进入虚拟机,查看当前的网络配置,如图1-16所示。可以看到,当前计算机获得的是172.18.91.200的IP地址,这符合表4-1的分配(网络中配置了DHCP服务器)。

clip_image020

图1-16 查看当前IP地址

(3)然后使用ping命令,测试到其他网段的连通性,可以测试到DHCP服务器172.18.96.1的连通性,如图1-17所示。从图中可以看到,测试非常成功!

clip_image022

图1-17 测试网络连通性

(4)然后将虚拟机的网络改为另一网段,例如VLAN2005,如图1-18所示。

clip_image024

图1-18 修改虚拟机网络属性

(5)再次进入虚拟机,将网卡禁用再启用,再次进入命令提示符,查看当前地址是否为VLAN2005的地址,并使用ping命令测试,如图1-19所示,从图中看到,测试仍然是成功的。

clip_image026

图1-19 在VLAN2005网段测试

【说明】也可以将连接ESXi 网卡的交换机端口直接设置为“Trunk”,然后在管理地址中设置VLAN也是可以的。