WSL2のmirroredが動くようになったがよくわからん
2024/05/11
前回、WSL2のネットワークモードをmirrored
にしたが動かなかったという話をした。
それが、今日はなぜか動いた。
.wslconfig
はこう。
[wsl2]
networkingMode=mirrored
[experimental]
hostAddressLoopback=true
HTTPサーバはフレームワークなしの Node.js サーバ - ウェブ開発を学ぶ - MDNをそのまま使った。
いや「そのまま」ではない。
今日もいろいろ設定を変更しながら試したときはそのまま使っていたのだが、.wslconfig
を今の設定にしたらEADDRINUSE
になって8125番ポートが使えなくなったのだ。
WSL2上でss
しても出てこないのだが、Windows上でnetstat -nat | grep 812
とすると出てくる。
コードを書き換えて8126
にするとそっちは動いた。その状態でnetstat -nat | grep 812
としても8125の方しか出てこない。
困ったことに Windows を再起動しても直らないのだ。
>netstat -nat | grep 812
TCP 0.0.0.0:8125 0.0.0.0:0 LISTENING ホスト内
これはnetsh
でフォーワーディングの設定をしていた名残のようだ。
netsh interface portproxy show v4tov4
【WSL2】外部からWSL2のサービスに接続するを見ながらやったような気がするので、書いてあるように削除すればよかった。
これでnetstat -nat
で8125番が出てこなくなり、WSL2側で8125番を指定してもエラーが出なくなった。
動いたようなのでめでたしめでたしなのだが、さっぱりはしない。
この設定はたぶん試したことがあったと思うのよね。。。