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個別の設定画面だと設定変更が認識されていないのに、

こっちだと変更されていて、状態がわかる。