首页/网络/VLAN 与高可用速查/服务器虚拟化环境的 VLAN 中继
VLAN 与 Trunk81 条

服务器虚拟化环境的 VLAN 中继

虚拟交换机把 VLAN 配置在端口组上:不标记、打单 Tag、全中继三种模式对应 ESXi 的 0、1-4094、4095,需与物理 Trunk 对齐。

VLAN 与高可用速查网络更新于 2026-10-13

虚拟化环境的 VLAN 落在哪一层

在虚拟化主机上,VLAN 标记由虚拟交换机在端口组或虚拟网卡上完成,物理交换机只负责把带标签的流量透传过去。因此同一批 VLAN 需要在三处对齐:虚拟交换机的 VLAN 配置、主机物理上行口的 Trunk 放行列表、物理交换机的放行列表。任何一处对不上,症状都是「虚机网卡看起来正常但完全不通」。

基本信息

ESXi 语义VLAN ID 0 不标记,1-4094 由虚拟交换机打标签,4095 为全中继
Hyper-VSet-VMNetworkAdapterVlan 的 Access 与 Trunk 模式
KVM/LinuxLinux bridge 的 VLAN 过滤规则
物理侧前提上行口为 Trunk,且放行了全部需要的 VLAN

ESXi VLAN ID 语义

VLAN ID模式说明
0无标记物理口需为 Access 或对应 native VLAN
1-4094虚拟交换机打标签物理口需放行对应 VLAN
4095全中继虚机自行打标签,物理口需为 Trunk

典型使用场景

  • 新建端口组时确认 VLAN ID 与物理上行放行列表一致
  • 虚机迁移到其他物理主机前,核对目标主机的上行是否放行同一批 VLAN
  • 虚拟防火墙或软路由需要全中继时,使用 4095 并保持物理口为 Trunk
  • 排查虚机不通:先看虚拟交换机配置,再看物理上行与物理设备的放行列表
  • 双上行链路场景中,确认两块物理网卡上的 VLAN 放行列表一致

配置核对

配置核对
esxcli network vswitch standard portgroup list        # ESXi:查看端口组与 VLAN ID
esxcli network vswitch standard portgroup set -p VLAN100 -v 100   # 设置端口组 VLAN
# Hyper-V:接入模式(等价于虚拟交换机打标签)
Set-VMNetworkAdapterVlan -VMName web01 -Access -VlanId 100
# Hyper-V:中继模式(等价于全中继)
Set-VMNetworkAdapterVlan -VMName fw01 -Trunk -AllowedVlanIdList 100,200 -NativeVlanId 1
# KVM:在 Linux bridge 上放行指定 VLAN
bridge vlan add dev eth0 vid 100
Hyper-V 与 KVM 侧的思路与 ESXi 一致:Access 对应不打标签或少打标签,Trunk 对应全中继。核对时以物理上行口的放行列表为准,虚拟侧只决定标签由谁打。
全中继模式(ESXi 的 4095、Hyper-V 的 Trunk)下标签由虚机自己封,主机与物理交换机都不再校验 VLAN。这类端口一旦接到不该接的 VLAN 上,隔离边界会被绕过,需要与安全策略一并确认。

易错点

  • 全中继模式下虚机负责打标签,运维误把物理口配成 Access 会导致全部虚机流量不通
  • 虚机迁移到不同物理主机前,确认目标主机上行 Trunk 放行同一批 VLAN
  • 只改虚拟交换机配置,忘了在物理上行放行新 VLAN,虚机仍不通
  • native VLAN 两端不一致,不打标签的虚机流量被送到错误广播域
  • 主机双上行网卡放行列表不一致,虚机迁移后时通时不通

数据来源与参考

  • VMware vSphere 网络文档(VLAN 配置)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌