Windows – How to Utilize NIC Teaming for Hyper-V VMs with VLAN in Windows Server 2016

hyper-vnetwork-teamingvlanwindows

I have two Windows Server 2016 with Hyper-V installed. Each server has two ethernet adapters. And each Hyper-V has several VMs. My goal is VMs can communicate with each other if they fall into the same VLAN.

In order to make the network connection redundancy, I created the network teaming on the physical machine. The teaming is using "Switch Independent" with "Address Hash" options. On the Virtual Switch Manager, I created an external adapter by selecting the teamed adapter (Microsoft Network Adapter Multiplexor Driver).

Under each VM, I create a virtual adapter with VLAN tagged.

However, the VMs in the same VLAN cannot communicate with each other.

On the switch side, I have already configured trunk mode for all the ports connected with the physical machines.

If I remove the teaming, the VMs can communicate with VLAN tags. How to address this issue?

Best Answer

It's not entirely clear where your problem lies from your description. I'm uncertain about the "removing team" bit especially. If the VMs can communicate with each other when your virtual switch is Internal or Private, then the problem is not with Hyper-V.

If they can communicate with each other when you attach the virtual switch to only one unteamed adapter, then test using the other adapter instead. If one works but not the other, then it is likely a physical adapter or switch problem. If either works, but not both in a team, then it is likely a physical switch problem.

Check these points, even if you've already checked them. Problems like this are typically sourced back to something extremely minor and easy to overlook:

Physical Switch

  • Ports are in trunk mode
  • Ports are not in a port channel or LAG
  • The desired VLAN is specifically allowed and/or marked as "Tagged"
  • The ports do not use a numbered default VLAN, PVID, or have any numbered VLAN set as "Untagged"

Physical NICs

  • NICs do not have any VLAN settings applied, check both firmware and drivers

Physical NIC Team

  • You are using exactly one team interface and it is not assigned a numbered VLAN

Virtual adapters (Hyper-V Side)

  • Virtual adapters have been assigned to the correct VLAN
  • Virtual adapters are connected to the correct virtual switch

Virtual adapters (inside guest)

  • Adapter has appropriate TCP/IP settings
  • Firewall is not blocking the expected traffic

Troubleshooting

If you've done all of the above and it still doesn't work, then you likely have a physical problem somewhere.

  1. Disconnect the wire from one physical adapter and test
  2. Reconnect the initial wire and wait for stable connectivity (viewable in LBFOAdmin.exe or Get-NetLbfoTeamMember).
  3. Disconnect the second wire and test