- Windows 11 y Windows 10 可以与 VLAN 配合使用,但它们严重依赖于网络驱动程序的支持,并且通常每个物理接口只允许一个 VLAN ID。
- 像瑞昱这样的制造商, 英特尔 Broadcom 包含自己的实用程序和 cmdlet,允许您在单个卡上创建具有不同 VLAN ID 的多个虚拟适配器。
- 在 Windows Server 中,网卡绑定和 Hyper-V(包括交换机嵌入式绑定)允许您为每个网卡管理多个 VLAN,而无需 驱动程序 外部,无论是对主机还是对 虚拟机.
- 许多 VLAN 连接问题都是由于中继交换机、虚拟机管理程序和 Windows 或虚拟机中配置的 VLAN 之间的配置不匹配造成的。
在 Windows 11 中设置 VLAN 起初可能看起来很复杂,特别是如果您之前使用的是类似这样的环境。 Hyper-V 和 VMwareUnraid 或管理型交换机是 VLAN 概念被广泛接受的例子。然而,通过了解 Windows 的局限性、网络驱动程序选项和可用工具,无论是在台式机还是服务器上,都可以实现相当灵活的环境。
在本文中,我们将用平和的日常西班牙语,了解如何与……合作。 Windows 11、Windows 10 和 Windows Server 中的标记 VLAN (802.1Q)每个版本的功能,取决于 硬件 (英特尔、瑞昱、博通等),如何利用它们 PowerShell的 以及如何将 VLAN 与 Hyper-V 集成以用于虚拟机。我们还将解决一些常见的实际问题,例如 Unraid VLAN 上 Windows 11 虚拟机连接性不足,或者需要将 iSCSI 流量隔离到单独的 VLAN 中。
基本概念:什么是 VLAN 以及在 Windows 系统中需要哪些组件

符合标准的 VLAN(虚拟局域网) IEEE 802.1Q 简而言之,这是一种将物理网络划分为多个逻辑上独立的网络的方法。每个网络数据包可以包含一个 VLAN 标签(VLAN ID,范围从 1 到 4094) 这表示该流量属于哪个虚拟网络。
VLAN 的优点在于它们允许 对网络进行分段,减少广播域,并隔离流量 (例如,将用户网络、管理网络等分开) 存储 iSCSI 或 WiFi 访客网络)无需铺设更多电缆或安装更多物理交换机。
要使 VLAN 标记正常工作,两者都需要满足以下条件: 开关或 路由器 (干线端口) 网卡和操作系统如何理解 802.1Q。实际上,这意味着:
- 物理网络适配器 其驱动程序支持 VLAN 802.1Q 标签。
- 管理型交换机或路由器 (思科、惠普、Mikrotik 等)配置了 trunk 端口和/或 access 端口,以及您将使用的 VLAN。
- 在 Windows 系统中,有一种方法 为物理网卡或虚拟网卡分配VLAN ID (制造商驱动程序、专用工具、PowerShell 或 Hyper-V)。
交换机(或路由器,例如 ISP 提供的 Cisco ASR920)的单个中继端口允许配置多个 VLAN。该端口通常具有…… 本地 VLAN(PVID) 未标记的 VLAN 和几个已标记的 VLAN,例如:未标记的 VLAN 1 和已标记的 VLAN 70、71 和 80。连接到该端口的设备必须能够发送和接收这些标记;否则,它将只能看到本地 VLAN。
Windows 10 和 Windows 11 与 VLAN 的局限性和可能性

在桌面版中,例如 Windows 10和Windows 11VLAN 支持远不如 Windows Server 那样完善。大多数驱动程序开箱即用时,仅支持 VLAN。 他们忽略任何 802.1Q 标签 通过物理接口到达它们的,因此系统只能看到端口的本地 VLAN。
即便如此,让 Windows 11 与 VLAN 协同工作的方法仍然有很多,从使用高级驱动程序选项到拉取 Hyper-V 和虚拟交换机在为配置交换机而焦头烂额之前,充分了解你的机器能够做什么非常重要。
从网络适配器属性配置 VLAN
某些网络控制器允许您直接定义一个 高级选项中的 VLAN ID 在 Windows 10 和 11 中,这通常限制每个物理接口只能配置一个 VLAN,但对于许多家庭或办公场景来说,这可能已经足够了。
MGI 一般步骤 将:
- 打开 设备管理器 (devmgmt.msc).
- 展开该部分 网络适配器 然后打开要使用的网卡的属性。
- 转到标签 进阶选项 或类似。
- 查找房产类型 VLAN ID、VLAN标识符、802.1Q VLAN 或类似说法。
- 输入您要使用的 VLAN 编号,例如 20、24、80 等。
- 在某些型号中,您需要先激活某个选项。 数据包优先级和VLAN 以便进行标签标注。
使用这种方法,该卡的所有出站流量都将流向 标记为您配置的 VLANWindows 只会接收具有相同 ID 的入站流量。这是一种简单直接的解决方案,但每个网卡只能对应一个逻辑接口。
在 Windows 10/11 中使用 PowerShell 分配 VLAN
在最新版本的 Windows 10 和 Windows 11 中,可以选择直接在接口上配置单个 VLAN ID。 PowerShell 和 Set-NetAdapter cmdlet这个想法与之前的类似,但由一条线控制。 comandos.
基本示例 在“Ethernet0”适配器上设置VLAN 24:
Set-NetAdapter -Name "Ethernet0" -VlanID 24
此命令告诉系统“Ethernet0”适配器将以工作状态运行。 VLAN 24。从那里,你可以 在关联网络上配置 IP 地址 (例如,192.168.24.10/24)只要满足以下条件,连接就能正常工作: 交换机的端口必须兼容干线模式或接入模式。 使用那个VLAN。
使用厂商提供的工具:Realtek、Intel、Broadcom 等
一些厂商提供的VLAN管理工具比Windows默认选项功能强大得多。这些工具可以创建…… 多个虚拟接口 在同一张物理卡上,每张卡都有自己的 VLAN ID。
通常情况下,您需要下载并安装 最新驱动程序和官方实用程序 请咨询制造商以启用完整的 802.1Q 支持。并非所有型号都支持此功能,因此请务必查看控制器的规格说明。
Windows 10/11 系统中 Realtek 网卡上的多个 VLAN
在支持 802.1Q 标记的 Realtek 网卡(例如 RTL8169SC 型控制器及类似产品)上,您可以使用 Realtek 以太网诊断实用程序一款适用于 Windows 7/8/10/11 的应用程序,除了诊断功能外,还允许您创建虚拟网卡。
El 一般程序 是:
- 请在 Realtek 网站上查看您的 网络芯片型号支持VLAN标记.
- 下载并安装最新驱动程序和“Realtek以太网诊断实用程序”工具。
- 打开实用程序并进入该部分 VLAN.
- 按 添加 或者点击“添加”并输入 所需的 VLAN ID.
- 重复此操作,创建所需数量的逻辑 VLAN。
完成此操作后,新的连接将出现在 Windows 网络连接面板中。 虚拟适配器每个网卡都关联一个不同的VLAN ID。您可以像配置其他网卡一样,为每个网卡分配自己的IP配置(子网掩码、网关、DNS等)。
如果您仍然遇到 VLAN 无法正常工作的问题(例如某些用户尝试在 Windows 11 虚拟机上使用 Unraid 或其他系统时遇到的问题),请继续阅读。 VMware的),Realtek驱动程序很可能存在问题。 标签标注未正确实施 借助特定的硬件和软件组合。在这种情况下,您可以触摸:
- 尝试使用其他驱动程序或旧版本/新版本。
- 咨询 Realtek技术支持 如果您的硬件 ID 有官方的 VLAN 支持。
- 评估使用 另一款具有更好 VLAN 支持能力的网卡 如果分割至关重要。
Intel网卡(Intel ANS和PROSet)上的VLAN配置
英特尔多年来一直在提供这项服务 英特尔高级网络服务 (ANS) 在适配器上创建 VLAN 和组。传统上,安装驱动程序时会选择该选项。 Intel PROSet 设备管理器 除了“高级网络服务”之外,物理网卡属性中还有一个专门用于 VLAN 的选项卡,您可以在其中创建多个带标签的接口。
问题在于,在最新版本的 Windows 10 和 Windows 11 中,此功能 经典面板已不再支持此功能显示如下消息:
英特尔® 高级网络服务 (Intel® ANS) 团队和 VLAN 是 不支持 Microsoft Windows 10.
即便如此,英特尔也一直在发布 新版本的驱动程序和 Intel PROSet 工具 结合 PowerShell,该模块可以再次在多种网卡型号上实现 VLAN 管理。安装相应版本后,即可使用该模块中的 cmdlet。 IntelNetCmdlets 创建虚拟适配器:
导入模块 来自英特尔:
Import-Module -Name "C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets" -Scope Local
创建一个未标记的虚拟适配器(本地 VLAN,VLAN 0):
Add-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 0
在特定 VLAN 中创建虚拟适配器,例如: VLAN 103:
Add-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 103
列出 Windows 系统可见的所有适配器(物理适配器和虚拟适配器):
Get-NetAdapter
删除不再使用的VLAN:
Remove-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 103
博通和其他制造商也采用了类似的方法,使用诸如以下工具: 博通高级控制套件您可以从中创建接口组,并为它们分配不同的 VLAN ID。
无需第三方驱动程序即可在 Windows Server 2012 R2、2016、2019 和 2022 上配置 VLAN
在服务器系统中,尤其是由于 Windows Server 2012 R2 及更高版本微软提供了用于在同一物理网卡上管理多个 VLAN 的原生工具,无需特殊驱动程序(前提是网卡支持带标签的流量)。其中最灵活的选项之一是: NIC 组队(LBFO).
让我们想象一个非常典型的场景:一台 Windows 服务器连接到一个干线端口, PVID 1 和 VLAN 70、71 和 80 已标记服务器已经在生产网络中运行,IP 地址类似于 192.168.2.1(VLAN 1),但您需要 设置 iSCSI 目标 在 VLAN 80 中进行存储,这样主机就可以看到 LUN,然后使用 VHDX 将它们暴露给虚拟机。
在 Windows Server 中执行此操作的正确方法是: 创建额外的逻辑接口 通过网卡绑定或(如果您使用 Hyper-V)通过虚拟交换机和专用管理适配器与标记的 VLAN 关联。
使用网卡绑定配置多个 VLAN(Windows Server 2016/2019/2022)
通过网卡绑定,您可以将一张或多张物理网卡组合成一个“团队”,然后, 定义多个虚拟接口每个都连接到一个VLAN。 一般流程 在服务器管理器中,它将是:
- 打开 服务器管理员 而在一部分 本地属性 点击链接 网卡绑定配置.
- 在本节中 设备, 点击 任务 > 新建团队给它起个名字(例如,“vTeam”),然后添加要分组的物理网卡。
- 团队创建完成后,请转到该部分。 适配器和接口 然后在“任务”中选择 添加接口.
- 为接口指定一个名称(例如,“VLAN80-iSCSI”), 对应的VLAN ID在这种情况下是 80。
- 重复上述步骤,创建所需数量的 VLAN,请记住每个设备最多可以拥有…… 32 个具有独立 VLAN 的虚拟网卡.
- 检查一下
ncpa.cpl新适配器出现并进行配置 IP地址、子网掩码、网关和DNS 使用图形用户界面或 PowerShell。
在 PowerShell 中,在现有设备上创建 VLAN 接口是 就像这样简单:
Add-NetLbfoTeamNic -Team vTeam -VlanID 24 -Name VLAN24
然后,您可以使用以下命令为该 VLAN 分配 IP 地址和网关:
New-NetIPAddress -InterfaceAlias VLAN24 -IPAddress 192.168.24.10 -PrefixLength 24 -DefaultGateway 192.168.24.1
并为该接口设置 DNS 服务器:
Set-DnsClientServerAddress -InterfaceAlias VLAN24 -ServerAddresses 192.168.24.12
这样,服务器就能同时通过以下方式进行通信: 生产 VLAN、iSCSI VLAN 以及任何其他 VLAN 只要交换机端口正确配置为 trunk 端口,即可满足您的需求。
在 Windows Server 中实现 VLAN 和 Hyper-V 共存
当服务器也扮演以下角色时 Hyper-V事情变得更有趣了,因为你可以同时使用网卡绑定方法和 带 VLAN 的 Hyper-V 虚拟交换机需要注意的是,在 Windows Server 2022 中,经典 LBFO 绑定被声明为 过时的功能 微软建议使用 交换机嵌入式组合 (SET) 使用 Hyper-V。
总之,目标通常都是一样的:创建一个与一个或多个物理网卡关联的虚拟交换机,然后, 为虚拟适配器分配 VLAN 它将使用主机本身(管理操作系统)和虚拟机。
在 Windows Server 和 Windows 10/11 专业版中使用 Hyper-V 实现 VLAN
Hyper-V 不仅适用于 Windows Server,也适用于其他平台。 Windows 10/11 专业版和企业版 作为一项可选功能。其主要优势之一是支持 VLAN 管理。 在虚拟交换机和虚拟机适配器级别 不必过多依赖物理网卡的类型(只要交换机端口支持 802.1Q 即可)。
至 启用 Hyper-V 在兼容的 Windows 10/11 版本上,您可以使用:
Enable-WindowsOptionalFeature -Online -FeatureName:Microsoft-Hyper-V -All
安装完成后,您将能够从以下位置创建虚拟交换机: Hyper-V 管理员 或者使用 PowerShell,并将 VLAN 分配给管理操作系统和虚拟机。
允许虚拟交换机使用特定的 VLAN
在 Hyper-V 中创建外部虚拟交换机并将其绑定到支持 VLAN 的物理网卡时,您可以选择标记一个虚拟交换机。 主机自身流量的 VLAN ID (即所谓的“管理操作系统”)。图形用户界面(GUI)的操作步骤如下:
- 在 Hyper-V 管理器中,打开右侧面板。 虚拟交换机管理器.
- 在列表中 虚拟交换机选择连接到物理网卡的外部交换机。
- 在的部分 VLAN标识符激活盒子 为管理操作系统启用虚拟局域网识别.
- 输入主机用于其管理流量的 VLAN 编号(例如,10、20、80…)。
- 按 接受 应用更改。
所有通过与虚拟交换机关联的物理适配器的流量 将被标记为已定义的 VLAN ID 由主机操作系统生成。反过来,连接到该交换机的虚拟机将能够在虚拟机适配器级别拥有自己的 VLAN ID。
在 Hyper-V 中为虚拟机分配 VLAN
为确保虚拟机仅接收来自特定 VLAN 的流量,您需要进行配置。 虚拟网络适配器上的 VLAN 标识同样,图形用户界面操作过程很简单:
- 在 Hyper-V 管理器中,在虚拟机列表中,右键单击虚拟机并选择“设置虚拟机”。 组态 (或者选中它,然后在右侧面板中按“设置”)。
- 在菜单中 硬件,选择 网络适配器 与之连接的是相应的虚拟交换机。
- 转至章节 VLAN ID 并检查选项 启用虚拟局域网标识.
- 输入您在交换机上配置的相同 VLAN ID,或者如果交换机处于 trunk 模式,则输入您要用于该特定 VM 的 VLAN ID。
- 保存更改 接受.
如果虚拟机需要 使用多个VLAN (例如,一个接口位于生产 VLAN 上,另一个接口位于 VLAN 上) 备份), 能:
- 加 更多虚拟网络适配器 连接到相应的交换机,每个交换机都有自己的 VLAN ID。
- 或者配置适配器 干线模式 使用 cmdlet
Set-VMNetworkAdapterVlan允许指定特定 VLAN 列表。
使用 PowerShell 在 Hyper-V 中进行高级 VLAN 管理
如果您更喜欢 自动化 (或者如果您有多个 VLAN),您可以直接通过 PowerShell 创建带有 VLAN 的管理适配器和虚拟机适配器。典型的工作流程如下:
创建虚拟交换机 连接到物理适配器:
New-VMSwitch -Name vSwitch2 -NetAdapterName "Ethernet0" -AllowManagementOS $true
添加管理适配器 在特定的 VLAN(例如 24)中:
Add-VMNetworkAdapter -ManagementOS -Name VLAN24 -StaticMacAddress "11-11-AA-BB-CC-DD" -SwitchName vSwitch2
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName VLAN24 -Access -VlanId 24
该适配器将在系统中显示为另一张网卡,仅与以下设备关联: VLAN 24您可以对其他 VLAN 重复此过程,如果您有虚拟机,可以使用以下命令为它们分配特定的 VLAN:
Set-VMNetworkAdapterVlan -VMName "MiVM" -Access -VlanId 30
列出 所有虚拟机的VLAN:
Get-VMNetworkAdapterVLAN
在使用 Windows Server 2022 和 Hyper-V 时,建议使用以下方式代替传统的网卡绑定: 交换机嵌入式组合 (SET)例如,要创建一个跨两个物理网卡的嵌入式绑定交换机:
New-VMSwitch -Name HVVLANSwitch1 -NetAdapterName "Ethernet3","Ethernet4" -EnableEmbeddedTeaming $true
然后您可以创建管理适配器。 在不同的VLAN上:
Add-VMNetworkAdapter -ManagementOS -Name "VLAN22" -StaticMacAddress "XX-XX-XX-XX-XX-XX" -SwitchName HVVLANSwitch1
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "VLAN22" -Access -VlanId 22
如果您希望适配器接收来自多个 VLAN 的流量,您可以切换到 干线模式 并定义允许的 VLAN 范围和一个本地 VLAN:
Get-VMNetworkAdapter -Name "tuAdaptador" | Set-VMNetworkAdapterVlan -Trunk -AllowedVlanIdList 40-69 -NativeVlanId 0
在这种情况下,参数 -NativeVlanId 0 这表明 VLAN 0 被用作未标记流量的本地 VLAN。这样,您无需多个物理网卡即可管理复杂的场景。
在 Windows 11 中配置 VLAN 时常见的问题和实际注意事项
在 Windows 11 和混合环境(Hyper-V、VMware、Unraid、运营商路由器等)中使用 VLAN 时,经常会遇到以下情况: 看似无法解释的连接问题在许多情况下,问题在于每个平台如何解释和应用 802.1Q 标签。
一个典型的例子是在 Unraid 上运行的 Windows 11 虚拟机。用户在 Unraid 的网络部分配置了一个 VLAN,并将虚拟机的接口更改为桥接模式。 br0.20 (与 VLAN 20 关联),但机器开机后无法访问互联网。在这种情况下,必须检查以下几点:
- 该 交换机或路由器 unraid 主机连接的端口已配置为 trunk 端口,并允许 VLAN 20。
- 该 虚拟机管理程序(Unraid、Hyper-V、VMware) VLAN 已正确应用于虚拟机的虚拟端口。
- 在 Windows 11 中,不会强制使用不同的 VLAN。 虚拟网卡驱动程序.
- 虚拟机的 IP 配置(IP 地址、子网掩码、网关)与该 VLAN 的网络实际对应。
比较两者的行为时,也会发生类似的情况。 Hyper-V 和 VMwareHyper-V 允许您轻松地在虚拟交换机和每个 VM 适配器上设置 VLAN ID,而 VMware ESXi/ESX 有三种不同的标记方法:
- EST(外部交换机标记)所有标签均在物理交换机上完成,虚拟交换机上的端口组承载 VLAN 0。
- VST(虚拟交换机标记)虚拟交换机负责标签;每组端口都有一个特定的 VLAN ID。
- VGT(虚拟访客标签)正是如此 虚拟机标签 因此,端口组通常位于干线中。
如果在 Hyper-V 中设置 VM 适配器上的 VLAN ID 有效,但在 VMware 中无效,则可能是混合使用了不同的模式(例如,交换机端口需要 VST 时却使用了 VGT)或者…… 您的物理网卡驱动程序可能已失去标签功能。就像某些版本的 Windows 系统中某些 Intel 型号的处理器出现过的情况一样。
在特别恶劣的情况下您可能需要拉动:
- 与其他人的测试 网卡型号(英特尔、博通、Mellanox……).
- 对运营商交换机或路由器(例如 Cisco ASR920)的中继端口配置进行详细审查。
- 请联系制造商的支持部门(Realtek、Intel、VMware),以确认在特定的硬件、固件和操作系统组合上实际支持哪些功能。
归根结底,在 Windows 11 和服务器版本中使用 VLAN 需要对它们有透彻的了解。 您所使用的版本限制、驱动程序的功能以及虚拟机管理程序的行为都会影响最终结果。借助合适的驱动程序(Realtek、Intel、Broadcom),使用 PowerShell 分配 VLAN,并在适当的时候借助 Hyper-V 和 NIC Teaming/SET 的支持,可以在少量物理接口上设置多个逻辑网络(生产、iSCSI、管理、备份、实验室等)的场景,而不会损失安全性或性能。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。