ネットワークの検証やトラブルシューティングをしていて、
「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)”





コメント