目前虚拟化应用比较广泛,通常情况下,一台物理主机在安装VMware ESXi或Hyper-V虚拟机软件后,可以在一台物理主机上创建多个虚拟机,并且创建的每个虚拟机可以像原来的物理一样对外提供服务,这无疑可以充分利用服务器的资源,达到节省电力、节省空间的目的。但大多数朋友们在使用虚拟机的时候,也有一个问题:就是物理主机性能已经够高,一般情况下配置了64GB内存、2个6核心的intel的CPU的主机,可以创建30~60台虚拟机。但物理主机一般只配置2~4块网卡,每个网卡只连接一个网段。而企业网络中可能划分了多个VLAN,这样,这些虚拟机怎样才能灵活的使用不同网段的地址呢?要解决这个问题,就需要让“虚拟交换机支持VLAN”,本文即介绍这方面的内容。
如果要在VMware ESXi中,创建的虚拟机,需要使用其他网段的地址,就需要在vSphere虚拟交换机中,仿照物理交换机,为虚拟端口划分VLAN。
VMware Workstation、VMware ESXi是虚拟机软件,可以在一台物理机上模拟多台“虚拟”的计算机,虚拟交换机也与此类似。虚拟交换机绑定物理网卡,“虚拟计算机”通过“虚拟交换机”的“虚拟机端口组”连接到“虚拟交换机”,再通过与虚拟交换机绑定的物理网卡与主机上其他网络中的计算机、虚拟机通讯。每个虚拟交换机可以绑定一个或多个物理网卡(不绑定物理网卡的虚拟交换机,是不能直接与主机网络通讯的)。
虚拟交换机绑定物理网卡所连接的交换机端口的属性,决定了虚拟交换机是否可以划分VLAN。简单来说,如果物理网卡连接到一个普通的交换机,或者连接到三层交换机的一Access端口(即普通的划分了VLAN的端口),则这个物理网卡绑定的虚拟交换机,只能设置成该Access端口所指定的VLAN;如果物理网卡连接到三层交换机的Trunk端口,则可以在与这个物理网卡绑定的虚拟交换机划分(或添加)虚拟机端口组,添加的每个端口组可以划分或指定一个VLAN,并通过所连接的三层交换机,与网络中其他计算机通讯。下面通过一个具体的实例进行介绍。
要在虚拟交换机中实现VLAN功能,需要与网络中的三层交换机配合使用,本节实验拓扑如图1-1所示。
图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功能,并将其分配给虚拟机使用。
使用vSphere Client连接到VMware ESXi Server,在“配置→网络”中,可以看到,当前只有一个虚拟交换机,并且为该虚拟交换机分配了管理地址172.18.96.11,如图1-2所示。
图1-2 当前网络
(1)在图1-2中,单击“添加网络”链接,进入“添加网络向导”对话框,在“连接类型”中选择“虚拟机”。
(2)在“虚拟机-网络访问”对话框,选择“创建vSphere标准交换机”,并选择第二块网卡(即连接到交换机Trunk端口的网卡),如图1-4所示。
图1-4 创建标准交换机
(3)在“端口组属性”选项组中,在“网络标签”处添加第一个可用VLAN的标签,在此添加VLAN2001,在“VLANID”文本框中输入对应的VLAN,在此为2001,如图1-5所示。
图1-5 添加网络标签及选择VLAN
(4)在“即将完成”对话框,显示了要添加的虚拟机端口组。
返回到vSphere Client控制台后,可以看到,已经添加了第二个标准交换机,如图1-7所示。在此标准交换机中只有VLAN2001的虚拟机端口组。
图1-7 添加虚拟交换机完成
在前面的操作中,在创建虚拟交换机的同时,已经添加了VLAN2001的虚拟机端口组,接下来要为VLAN2002~VLAN2006添加虚拟机端口组,以添加VLAN2002为例,其他与此类似。
(1)在图1-7中,选择第二个虚拟交换机,单击“属性”链接,打开“vSwitch1属性”对话框,单击“添加”按钮,如图1-8所示。
图1-8 添加虚拟机端口组
(2)在连接类型中选择“虚拟机”。
(3)在“端口组属性”中,在“网络标签”中添加VLAN2002,在“VLAN”文本框中输入对应的VLAN2002,如图1-10所示。
图1-10 设置虚拟机端口组名称
(4)在“即将完成”对话框,单击“完成”按钮,完成虚拟机端口组的添加。
(5)返回到“vSwitch1属性”对话框,接下来,单击“添加”按钮,继续添加其他虚拟机端口组,这可以参照(1)~(4)步,依次为VLAN2003~VLAN2006添加,这些不一一介绍。当所有的虚拟机端口组添加完成后,单击“关闭”按钮返回。
返回到vSphere Client控制台后,可以看到两个虚拟交换机的情况,如图1-14所示。
图1-14 添加完成的虚拟交换机及虚拟机端口组
以后在虚拟机使用中,为虚拟机分配对应的虚拟机端口组,即分配到指定的VLAN。下面通过实验验证。
(1)启动一台虚拟机,并修改虚拟机属性,先将网络标签修改为VLAN2001,如图1-15所示。
图1-15 修改虚拟机网络属性
(2)进入虚拟机,查看当前的网络配置,如图1-16所示。可以看到,当前计算机获得的是172.18.91.200的IP地址,这符合表4-1的分配(网络中配置了DHCP服务器)。
图1-16 查看当前IP地址
(3)然后使用ping命令,测试到其他网段的连通性,可以测试到DHCP服务器172.18.96.1的连通性,如图1-17所示。从图中可以看到,测试非常成功!
图1-17 测试网络连通性
(4)然后将虚拟机的网络改为另一网段,例如VLAN2005,如图1-18所示。
图1-18 修改虚拟机网络属性
(5)再次进入虚拟机,将网卡禁用再启用,再次进入命令提示符,查看当前地址是否为VLAN2005的地址,并使用ping命令测试,如图1-19所示,从图中看到,测试仍然是成功的。
图1-19 在VLAN2005网段测试
【说明】也可以将连接ESXi 网卡的交换机端口直接设置为“Trunk”,然后在管理地址中设置VLAN也是可以的。