hirokuma

View the Project on GitHub

2024/05/11

WSL2のmirroredが動くようになったがよくわからん

前回、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番を指定してもエラーが出なくなった。


動いたようなのでめでたしめでたしなのだが、さっぱりはしない。
この設定はたぶん試したことがあったと思うのよね。。。