在基于 Windows Server 2008 的计算机上启用 vLan 标记时,Hyper-V 虚拟机无法访问网络

本文提供了一个解决方案,用于解决虚拟机无法访问使用 vLan 标记配置的网络的问题。

原始 KB 数: 2739081

症状

请考虑以下方案:

  • 你正在运行基于 Windows Server 2008 的计算机。
  • 通过使用vLan标记配置Hyper-V虚拟机的虚拟网络。
  • 将虚拟网络绑定到 Intel 网络适配器。

在此方案中,虚拟机无法访问网络。 此外,这些虚拟机无法从网络访问。

原因

Hyper-V 虚拟交换机驱动程序负责路由父分区连接和每个虚拟机的 vLan 流量。 Intel 网络适配器具有干扰此过程的 vLan 筛选功能。

决议

若要解决此问题,请执行以下步骤:

  1. 单击“ 开始”,在“开始搜索”框中键入 regedit ,然后按 Enter。

  2. 请找到以下注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325 -11CE-BFC1-08002BE10318}
    在此子项下,有一系列子项。 例如,你将看到“0000,0001”。

  3. 选择与虚拟网络绑定的 Intel 网络适配器相匹配的子项。 可以通过将“Driver Desc”值与物理网络适配器的名称相匹配来确定这一点。

  4. 双击 VlanFiltering 注册表项。

  5. 在“值”数据框中,键入 0,然后单击“ 确定”。

  6. “文件” 菜单中,单击 “退出”

  7. 重启电脑

注释

如果重新安装关联的 Intel 网络适配器,VLanFiltering 值将重置为默认值0x1。 由于 Windows Server 2008 Service Pack 2 在安装过程中重新运行即插即用,因此随后重新安装网络驱动程序,导致 VLanFiltering 值重置为0x1。 这会导致配置了 VLAN 标记的 VM 无法在配置的 VLAN 上进行通信。

详细信息

Windows Server 2008 的 Hyper-V 角色可以为虚拟机网络连接和父分区网络连接指定 vLan 标记。 若要为父分区启用 vLan 标记,请单击选中“启用虚拟 LAN 标识”复选框以启用 vLan 标记并指定 ID。 (在 Hyper-V 管理器的“虚拟网络管理器”页上的“虚拟网络属性”下指定 ID。若要为虚拟机启用 vLan 标记,请访问虚拟机的属性,然后选择虚拟网络适配器。 单击以选中“启用虚拟 LAN 标识”复选框以启用 vLan 标记并指定希望虚拟机连接使用的 ID。 虚拟机可能有多个网络适配器,所有这些适配器都可以使用相同或不同的 vLan ID。 因此,必须在每个网络适配器上执行此作。

本文讨论的第三方产品由独立于微软的公司制造。 Microsoft对这些产品的性能或可靠性不作任何明示或暗示的保证。