4. 分布式交换机端口组与VLAN策略
在 vSphere 分布式交换机(vDS)中,端口组是虚拟机接入网络的逻辑入口,而 VLAN 策略决定了这个入口如何处理二层标签。与标准交换机不同,vDS 的端口组 VLAN 设置是集中定义的,一旦修改,所有绑定该端口组的虚拟机与上行链路都会按新策略生效。理解 VLAN、VLAN Trunk 和 PVLAN 三种类型,是设计多租户、隔离区与安全域网络的基础。
三种 VLAN 类型的本质区别
VLAN 类型(VLAN 访问模式):端口组只承载一个 VLAN ID。虚拟机的虚拟网卡发出的帧不带标签,vDS 在进入上行链路时为其打上该 VLAN ID,回程时剥离标签再交给虚拟机。虚拟机自身完全感知不到 VLAN 的存在,适合绝大多数普通业务虚机。
VLAN Trunk 类型:端口组允许多个 VLAN ID 通过,通常配合“VLAN Trunk 范围”或“所有 VLAN”使用。此时虚拟机的虚拟网卡必须自己发出带 802.1Q 标签的帧,vDS 原样透传。这种模式适合运行在虚机内部的软路由、防火墙、Kubernetes 节点或需要自行管理子接口的网关设备。
PVLAN 类型(专用 VLAN):在同一个主 VLAN 内进一步划分隔离级别,分为混杂(Promiscuous)、隔离(Isolated)和社区(Community)三种端口。混杂端口可与所有端口通信,隔离端口之间完全不能互通,社区端口只能与同社区及混杂端口通信。PVLAN 常用于 DMZ 中多台 Web 前端虚机彼此隔离、只允许与负载均衡器通信的场景。
实战:三种模式下的虚拟机通信验证
下面以一个双主机 vDS 集群为例,说明如何配置并验证不同 VLAN 模式。假设物理交换机上行端口已配置为 Trunk,允许 VLAN 100、200、300、500 通过。
场景一:VLAN 访问模式。创建端口组 PG-Web-VLAN100,VLAN 类型选“VLAN”,VLAN ID 填 100。将 VM-A 和 VM-B 接入该端口组,分别位于不同 ESXi 主机。两台虚机配置同网段 IP(如 192.168.100.10/24 与 192.168.100.11/24),直接 ping 应通。此时在虚机内执行 ip link 看不到任何 VLAN 子接口,说明标签由 vDS 处理。若把端口组 VLAN ID 改为 200,虚机不重新配置 IP 就会立即断连,这是验证 VLAN 策略生效最直接的方法。
场景二:VLAN Trunk。创建端口组 PG-Router-Trunk,VLAN 类型选“VLAN Trunk”,范围填 100-300。将一台运行 Linux 的软路由虚机接入,在虚机内创建子接口:
ip link add link ens192 name ens192.100 type vlan id 100
ip addr add 192.168.100.1/24 dev ens192.100
ip link set ens192.100 up
ip link add link ens192 name ens192.200 type vlan id 200
ip addr add 192.168.200.1/24 dev ens192.200
ip link set ens192.200 up
此时该虚机可同时作为 VLAN 100 和 200 的网关。验证方法:让 VLAN 100 端口组内的 VM-A ping 192.168.100.1,让 VLAN 200 端口组内的 VM-C ping 192.168.200.1,均应通。若把 Trunk 范围改为仅 100,则 200 子接口立即失效,说明 vDS 在入口处按范围过滤标签。
场景三:PVLAN。先在 vDS 上创建主 VLAN 500 与辅助 VLAN:隔离 VLAN 501、社区 VLAN 502。创建三个端口组:PG-DMZ-Promisc(PVLAN 混杂,主 VLAN 500)、PG-DMZ-Iso(PVLAN 隔离,辅助 501)、PG-DMZ-Comm(PVLAN 社区,辅助 502)。将负载均衡器接入混杂端口组,Web-1 与 Web-2 接入隔离端口组。验证:Web-1 ping Web-2 应不通,但两者都能 ping 通负载均衡器。若把 Web-2 改接到社区端口组,且 Web-1 也在同一社区,则两者可互通,但与另一社区的 Web-3 仍隔离。
配置要点与常见排错
| 现象 | 可能原因 | 排查动作 |
|---|---|---|
| 同端口组 VM 不通 | VLAN ID 与物理交换机不一致 | 核对 vDS 端口组 VLAN 与交换机 Trunk 允许列表 |
| Trunk 虚机子接口不通 | Trunk 范围未包含该 VLAN | 检查端口组 VLAN Trunk 范围是否覆盖子接口 ID |
| PVLAN 跨主机不通 | 物理交换机未配 PVLAN 映射 | 在交换机上配置主/辅助 VLAN 关联 |
| 改 VLAN 后虚机断连 | 虚机 IP 未随 VLAN 调整 | 同步修改虚机网段或 DHCP 作用域 |
最后强调一个易错点:vDS 端口组的 VLAN 策略修改是即时生效的,不需要重启虚机,但虚机操作系统内的 IP 配置不会自动跟随。因此变更前应规划好 DHCP 或静态地址的同步调整,避免业务中断。掌握这三种模式后,就可以根据隔离强度、管理复杂度和物理网络能力,为不同业务区选择最合适的端口组类型。