Hyper-Vを使ってWindowsPCでVlanIDを付与してトランクに接続するには

スポンサーリンク

ネットワークの検証やトラブルシューティングをしていて、
「Windows PCを直接スイッチのトランクポートに接続して、VLANタグ付きのまま通信させたい」と思ったことはありませんか?

前はIntelのNICドライバ(Intel ANS)の機能を使ってプロパティから簡単にVLAN IDを設定できましたが、
残念ながら現在はWindows 10以降でその機能が廃止されてしまったようです。

今はWindows標準のHyper-V機能(仮想スイッチ)を活用すれば、
トランクポートへ挿してVLANタグ通信を行うことができました。

注意
Hyper-VはWindows Pro版でないと搭載されていないので注意

Hyper-Vを有効化

まずはHyper-Vを有効化します。  ※デフォルトでは無効化されています

コントロールパネル > プログラムと機能 > Windowsの機能の有効化または無効化 > Hyper-V
にチェックを入れます。
 有効にすると再起動が必要です

再起動後に「Hyper-Vマネージャー」を起動します

起動したら右のタブから仮想スイッチマネージャーを選択します

仮想スイッチのポップアップが出たら、仮想スイッチを作成します。
 ■外部:実ネットワークに出れる ■内部:PC内のみ通信可能 ■プライベート:仮想スイッチ内のみ通信可能
外部を選択しておけばOKです
後は任意のインターフェース名と紐づける実インターフェースを指定すれば良いです

完成したらPowershellで確認します

コマンド:Get-NetAdapter

仮想インターフェース作成

仮想アダプターを作成します

■Hyper-V のスイッチ(Exsample-IF)に紐づいて仮想アダプターを作成
 Add-VMNetworkAdapter -ManagementOS -Name “仮想アダプタ名” -SwitchName “仮想SW名
 ■実際の私が実行したコマンド
  Add-VMNetworkAdapter -ManagementOS -Name “V_IF-Test” -SwitchName “Exsample-IF
■確認・削除のコマンド
 確認コマンド:Get-VMNetworkAdapter -ManagementOS
 削除コマンド:Remove-VMNetworkAdapter -ManagementOS -Name “仮想アダプタ名

作成するとこん感じで出ます

仮想スイッチ名を間違えるとエラーになりますので注意です

仮想インターフェースにVlanタグを付与

アダプターに VLAN ID を紐付ける
 今回はアダプターを通るパケットに「VLAN 901」のタグを付ける(Accessモード)よう設定

■設定コマンド
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName “仮想アダプタ名” -Access -VlanId VlanID
 ■実際に実行したコマンド 
  Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName “V_IF-Test” -Access -VlanId 901
■確認・削除コマンド
 確認コマンド:Get-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName “仮想アダプタ名”
 削除コマンド:Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName “仮想アダプタ名” -Untagged
  VLANタグだけを外して「Untagged(タグなし)」の状態に戻す

スイッチは下記の設定にしてます
GigabitEthernetx/x/x
 switchport mode trunk
 switchport trunk allowed vlan 900-910

Vlan900~910でDHCPサーバを用意して下記の様にしました
Vlan900:192.168.0.0
Vlan901:192.168.1.0
・・・
Vlan910:192.168.10.0

物理インターフェースをDHCP設定にしてL3SWに接続したら、ちゃんとVlan901で設定したアドレスが貰えました👌

VlanIDの変更方法

VlanIDを変更します
コマンドはさっきVlanIDを付与したのと同じコマンドです
(上書きで新しいVlanIDに変更されました)

Vlan903に変更して再度DHCPを取得したらアドレスがちゃんとVlan903で取得できました。
ipconfig /release “vEthernet (V_IF-Test)”
ipconfig /renew “vEthernet (V_IF-Test)”

コメント

タイトルとURLをコピーしました