PowerShellからポートフォワード設定を行う
netsh.exeを使うと、ポートフォワード設定が行えます。特にWSL2上にDockerコンテナでWebサーバを立ち上げた際は、他のPCからアクセスするために、ポートフォワード設定が必要になります。
以下のサンプルはそれぞれ、WindowsのIPアドレスを192.168.0.1とした場合のものです。すべて管理者権限で起動したWindowsPowerShellでコマンドを実行します。
ポートフォワード設定を追加する
下記では、ポート番号8080の接続をconnectaddress
(localhost
)のconnectport
(8080
ポート)に接続します。
WSL2の場合、起動ごとにIPアドレスが変わるので都度設定が必要です。localhost
指定でも都度設定が必要です。(localhost
指定は設定しなおさなくても繋がる時もある)
netsh.exe interface portproxy add v4tov4 listenaddress=192.168.0.1 listenport=8080 connectaddress=localhost connectport=8080
ポートフォワード設定を解除する
netsh.exe interface portproxy delete v4tov4 listenaddress=192.168.0.1 listenport=8080
ポートフォワード設定を確認する
netsh.exe interface portproxy show v4tov4
出力結果
ipv4 をリッスンする: ipv4 に接続する:
Address Port Address Port
--------------- ---------- --------------- ----------
192.168.0.1 8080 localhost 8080
192.168.0.1 3000 localhost 3000