Hyper-Vの標準の管理コンソールだと、仮想マシンに割り当てるVLANの種類は、UnTagモードのみです。
設定できるのは、外部のスイッチとの接続時にタグを付与する設定になります。
GUI管理ツールで、VLAN-IDの設定を割り当てても、VMから見ると、UnTagな通信です。
接続イメージはこんな感じですね。
この方式だと、NICが1つだったり、サーバだった場合は、設定が複雑にならずによいのですが、
VMの用途が、L3や、ルータの場合に、VLAN数分のNICを割り当てることになります。
VLANが増えた場合にも、都度、NICを増やす必要があります。
不便ですね。
なので、VM側でVLAN-IDを付与できるようにしましょう。
GUIはないので、Powershellのコマンド操作になります。
$nics = Get-VMNetworkAdapter -VMName VM001
$nics |Set-VMNetworkAdapterVlan -Trunk -AllowedVlanIdList "51,52,53" -NativeVlanId 0
これで、VM側で、VLAN-ID(51~53)をつけた場合、そのままタグで流れます。
VM側がUnTagなパケットを送信したら、上位には、VLANなしでそのまま送付します。(-NativeVlanId 0)
VM個別の設定画面だと設定変更が認識されていないのに、
こっちだと変更されていて、状態がわかる。