Open5
WSL2 で固定 IPv4 を使いながら仮想スイッチでインターネットに接続する際の落とし穴
結論:仮想スイッチを使う際には「設定」アプリを信じるな
- 設定アプリ上ではあくまで通常のイーサネットアダプタのように振る舞うが、実際の接続先は仮想スイッチ(たぶん)
- コントロールパネルから直接
vEthernet
をいじるのが確実
WSL2 のネットワークをブリッジモードにする手順のおさらい
1. 仮想スイッチの作成
.wslconfig
の編集
2. networkingMode=bridged
vmSwitch=External-WSL
dhcp=true
ipv6=true
resolve.conf
をよしなにする
3. 私は元々 generateResolvConf=false
としていたのでこの手順を踏んでいません。詳しくは元記事を参照してください 👇
固定 IPv4 を使用する際の追加手順
/etc/netplan/99-config.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: false
dhcp6: true
addresses:
- 192.168.0.10/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses:
- 192.168.0.1
sudo netplan apply
本題:Windows 側の再設定
DHCP で使用する際には問題にならないと思いますが(未確認)、固定 IP を使用している場合は設定が飛びインターネットに繋がらなくなります。
設定アプリ上での再設定も試みましたが、仮想スイッチと元のイーサネットアダプタが区別されておらず、固定 IP の設定を投入できないためうまくいきません。
そのため、コントロールパネルから「vEthernet (...)」という仮想イーサネットアダプタを探し、そのプロパティからさらに「インターネット プロトコル バージョン 4」のプロパティを開き、ここに固定 IP の設定を投入することで接続できました。
不具合報告や詳しい方のご意見待ってます!
networkingMode=bridged
が比較的新しい機能ということもあり、まだまだ情報が少ないのが現状です。
私もこの設定であっているのか自信がありませんし、不具合が再発しないとも限りません。
なにかご存知の情報や新たな不具合・解決策などありましたら是非教えてください!