Windowsで有線LAN接続時に別VLANのNDが解釈される問題を回避する。[Pro/Server向け]
概要
WindowsのRealtek NICのInboxドライバには何故か別Vlan上のIPv6のNDやRouter Advertisementも解釈する仕様?です。
つまりIPv6的に通信できないプレフィックスや相手を勝手に学習するということです。これによって、IPv6をまじめに使っている有線ネットワークでは、時々(常に)酷い目に遭います。
しかも、RealtekはWindows 10/11向けにVLANの解釈に対応したドライバを提供していません。
そこでHyoer-Vのネットワーク機能である仮想スイッチを使った解決策を紹介します。
関連記事:
PowerShellでHyper-Vの仮想スイッチを作る&ホストにTagged VLANを追加する[Pro/Server向け]
解決策
Hyper-Vで仮想スイッチ(外部)を作成し、当該のNICを設定することです。Hyper-Vが使えるProエディションかサーバーOSでしか使えませんが、画期的で賢い解決策です。
(個人的にはVLANが常用される環境でWindows Homeエディションを使っていることは珍しいという印象です。)
Hyper-Vの仮想スイッチはVlanに対応しているので、ちゃんと解釈してくれるようになります。ソフトウェアベースのスイッチングを行うのでその分のオーバーヘッドはありますが、RSSやVMQなどオフロード設定を行えば10Gbps環境でも十分使えます。
手順
- (Hyper-V未インストールの場合)
- GUIの場合、コントロールパネル→プログラム→プログラムと機能→Windowsの機能の有効化または無効化 からHyper-Vを有効化します。再起動を要求されるので、それに従います。
- CUIの場合、以下のPowerShellでコマンドを実行します。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
- Hyper-Vマネージャーを起動します。
- 右ペインのメニューから仮想スイッチ マネージャーを起動します。
- 新しい仮想ネットワークスイッチを選び、外部→仮想スイッチの作成を行います。
- 外部ネットワークのプルダウンリストから有線アダプタを指定します。
- 4~5を有線アダプタの数だけ実施します。
付録
以下はGUIでの仮想スイッチ設定例です。
https://mi.okin-jp.net/@okin_p(Misskey)
https://fi.okin-jp.net/@okin_p(Firefish)
https://si.okin-jp.net/@okin_p(Mastodon)
https://fedifile.net/@okin_p/profile/
https://twpf.jp/okin_p
http://profile.hatena.ne.jp/okin_p/
名前:おきん
やってること:面倒なことをPHPにやらせる、IPv6でなにかする、車で移動する
主なガジェット:Google Pixel 4a (5G) ,iPhone XS(ジャンク), iPad mini5, その他
種別:猫 over IPv6 run on PHP
パソコンやガジェットについて書いていく…予定。