Open5

WSL2 で固定 IPv4 を使いながら仮想スイッチでインターネットに接続する際の落とし穴

すばるすばる

結論:仮想スイッチを使う際には「設定」アプリを信じるな

  • 設定アプリ上ではあくまで通常のイーサネットアダプタのように振る舞うが、実際の接続先は仮想スイッチ(たぶん)
  • コントロールパネルから直接 vEthernet をいじるのが確実

本題コメントへのリンク

すばるすばる

WSL2 のネットワークをブリッジモードにする手順のおさらい

1. 仮想スイッチの作成

2. .wslconfig の編集

networkingMode=bridged
vmSwitch=External-WSL
dhcp=true
ipv6=true

3. resolve.conf をよしなにする

私は元々 generateResolvConf=false としていたのでこの手順を踏んでいません。詳しくは元記事を参照してください 👇

https://zenn.dev/euxn23/articles/7b83df39720ccb

すばるすばる

固定 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 が比較的新しい機能ということもあり、まだまだ情報が少ないのが現状です。

私もこの設定であっているのか自信がありませんし、不具合が再発しないとも限りません。

なにかご存知の情報や新たな不具合・解決策などありましたら是非教えてください!