核心是逐虚拟网卡独立设置VLAN ID,须满足物理网卡支持802.1Q、Windows Server 2012 R2+、交换机端口设Trunk并放行对应VLAN、VM为第2代或使用综合网卡四项前提,且需一对一创建外部虚拟交换机并严格匹配IP子网。
在 windows server 中为网络适配器配置 vlan id 实现虚拟局域网隔离,核心是让单块物理网卡承载多个逻辑子网,同时确保不同 vlan 间二层广播域严格隔离。这不依赖交换机全局策略,而依赖端到端的 vlan 标识一致性与正确分层配置。
确认底层硬件与系统支持
四项前提必须全部满足,否则 VLAN 设置将无效或导致通信中断:
- 物理网卡驱动明确支持 802.1Q VLAN tagging:在“设备管理器→网络适配器”中右键网卡→“属性→高级”,查找“VLAN ID”“802.1Q Tagging”或“Priority & VLAN”选项,确保可启用且值可写
- Windows Server 版本为 2012 R2 及以上(推荐 Server 2022),且已启用 Hyper-V 角色(PowerShell 运行 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 并重启)
- 连接该网卡的物理交换机端口必须设为 Trunk 模式,并显式放行你计划使用的 VLAN ID(如 10、20、100)
- 若用于虚拟机,VM 必须为第 2 代,或第 1 代中使用“综合网卡”(Legacy 网卡不支持 VLAN 标识)
创建专用外部虚拟交换机
不能复用同一张物理网卡绑定多个外部交换机,也不能让多张物理网卡共用一个外部交换机——这会破坏 VLAN 边界。
- 打开 Hyper-V 管理器 → “虚拟交换机管理器” → 新建类型选“外部”
- 为每张物理网卡单独创建一个外部交换机,例如:
– Ethernet → 命名为 VLAN-Ext-Prod,勾选“允许管理操作系统共享此网络适配器”
– Ethernet 2 → 命名为 VLAN-Ext-Dev,同样勾选共享 - 每次点击“确定”后接受网络短暂中断提示,确保每个交换机一对一绑定唯一物理网卡
在虚拟机网卡上设置 VLAN ID
VLAN 标识必须设在虚拟机的网络适配器级别,而非虚拟交换机属性页——后者对外部交换机完全无效,填了反而造成标签错乱甚至断连。
- 右键目标虚拟机 → “设置” → 左侧选“网络适配器”
- 右侧“虚拟交换机”下拉选择对应交换机(如 Prod 虚拟机选 VLAN-Ext-Prod)
- 展开“高级功能” → 勾选“启用虚拟局域网标识” → 输入唯一 VLAN ID(如 10)
- 另一台 Dev 环境虚拟机应选 VLAN-Ext-Dev 交换机,并设 VLAN ID 20
配套 IP 与子网规划
VLAN 隔离生效的前提是三层逻辑也对齐。不同 VLAN 必须使用互不重叠的 IP 子网,且不能共用默认网关地址。
- VLAN 10 对应子网:192.168.10.0/24,网关设为 192.168.10.1(由防火墙或三层交换机提供)
- VLAN 20 对应子网:192.168.20.0/24,网关设为 192.168.20.1
- 宿主机若需接入某 VLAN,应在对应虚拟交换机上启用“允许管理操作系统共享”,并在其虚拟网卡上手动配置同子网 IP(如 192.168.10.100/24)


















