之前的文章<<VMware vSphere东西向网络防护>>介绍了基于不同VLAN来实现二层网络内虚拟机的东西向隔离防护技术。这种方法在每台ESXi主机上对VLAN ID的管理和分配较为烦琐,本文介绍基于PVLAN实现二层网络内东西向隔离防护的方法。由于VMware vSphere环境中只有DVS
(Distributed Virtual Switch,分布式虚拟交换机)支持PVLAN,所以这种方法只能使用在DVS中。
PVLAN(Private VLAN
,专用VLAN)技术是为了解决网络内需要大量隔离而VLAN ID不足的情况。它采用两层VLAN隔离技术,即上行的主VLAN(Primary VLAN
)和下行的辅助VLAN(Secondary VLAN
)。对上行设备而言,只可见主VLAN,而不可见辅助VLAN。辅助VLAN包含两种类型:隔离VLAN(isolated VLAN
)和团体VLAN(community VLAN
)。支持PVLAN的交换机的端口对应有三种类型: 隔离端口(isolated port
),团体端口(community port
),混杂端口(promiscuous port
),它们分别对应隔离VLAN,团体VLAN和主VLAN。在隔离VLAN中,隔离端口之间不能通信,隔离端口只能和混杂端口通信。在团体VLAN中,团体端口之间以及团队端口与混杂端口之间都可以通信。
可以看到,隔离端口的特性天生就满足二层网络完全隔离的要求,为了能使他们通信,我们需要虚拟网络设备完成隔离端口间的数据包中继。
我们的测试环境由两台ESXi主机组成,通信双方虚拟机t1
和t2
位于同一台ESXi主机,属于同一个二层网络,IP分别为:10.95.49.150
和10.95.49.151
, 两台虚拟机的网络接口都接到分布式交换机DSwitch
的DPG-original
端口组中。此时拓扑如图: