Hyper-V: Configure VLANs and VLAN Tagging

Hyper-V: Configure VLANs and VLAN Tagging

This is a basic how to about configuring VLAN tags / ids with Hyper-V and for Hyper-V virtual machines.

This is a work in progress.

Thank you to:  Artem Pronichkin, William Bressette, Hans Vredevoort

For greater understanding of Hyper-V Networking in General:

On page 11 begins the VLAN part Understanding Networking with Hyper-V white paper

The most Generic model:  enable Trunking on the physical switch (specifying the VLAN IDs and native VLAN) and apply a VLAN ID in the settings of the virtual NIC of each VM that needs it and the VM is attached to the proper External Virtual Network.

Note:  Hyper-V Virtual Networks are "trunking mode" by default.

  1. Configure the switch port as a trunk
  2. Specify VLAN IDs / Tags and native VLAN
  3. On Hyper-V create an External Virtual Network attached to the configured trunk port of the physical switch
  4. Apply a VLAN ID / Tag to each VM in the settings of the virtual network adapter

The Network Teaming model:  NIC Teaming is involved (since Hyper-V does not support bonding) - you apply the VLAN tag to the Teaming virtual NIC and attach a virtual switch to this.

  1. Create a trunked port on your switch.
  2. Create a team
  3. Create several Team Virtual NICs in parent partition assigning different VLAN IDs to each virtual NIC
  4. Create a Virtual Network from each of the Teaming Virtual NICs
  5. Connect VMs to proper Virtual Networks
  6. Don’t specify the VLAN ID field in VM properties
  7. But in some cases (e.g. HP NCU) step 6 is exactly opposite. You must specify VLAN ID both on virtual NIC level (step 3) and each VM level (step 6)

 SCVMM is involved – follow the Generic Model and be sure to set the “trunking” option on the Virtual Network settings in the SCVMM management console.

Note: SCVMM exposes the two different types of trunking options (the Hyper-V Manager GUI does not expose the access mode setting) - trunk mode and access mode.


Sort by: Published Date | Most Recent | Most Useful
  • HyperV with VLANID does not work!


    I created a nic teaming with 3 network cards and a virtual switch.

    My need is to create the following scenario:

    - Nic Teaming with 3 network cards

      - VEthernet (Live migratory-on) - 1 VLANID

      - VEthernet (ClusterHB) - VLANID 2

      - VEthernet (Management \ Backup) - VLANID3

    I have two switches cascaded in (LinkAgredation / Trun-k).

    My server is connected as follows: NIC1: SW1, NIC2: SW2, CIN3: SW1

    I asked for support networks configure the switch ports which I will use for my NICs in Trunk.

    Here we go:

    - I created the Nic Teaming in Independent mode - HyperV-Port

      - Created vEthernet (Live migratory-on) - 1 VLANID

      - Created vEthernet (ClusterHB) - VLANID 2

      - Created vEthernet (Management \ Backup) - VLANID3

    My main network I'm connected is in VLANID 3 ( and try to ping the vEthernet (Managment \ B-ackup) - VLANID3 that has the IP: does not work.

    I removed the NIC Teaming and put the IP: on each (NIC1, NIC2, CIN3) to verify if there was any problem in the SW configuration, but the ping worked normally.

    The problem only occurs after creating the nic teaming.

    PS1: I put the IP: directly in the Nic Teaming driver, I type changes Nic Teaming for static and not funciounou too.

    PS2: I created a second nic teaming, as your blog and assigns putting VLANID3 and neither worked an IP.

    What am I doing wrong?

    Thank you....

  • Verify that your swithports are configured for LACP (802.3AD).

    Verify that the trunked port is configured to forward VLAN1, VLAN2, VLAN3 (in your case).

    Verify that your nic teaming is bonded and using LACP

Page 1 of 1 (2 items)