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
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です