LoginSignup
1
0

More than 3 years have passed since last update.

WSL2 の port を Win につなぐワンライナー

Last updated at Posted at 2019-12-06

wsl2 上で Web サーバを立ち上げても、そのままでは Windows 上のブラウザからアクセスできない。 (WSL1 では出来た。)

win+x a で管理者権限で Powershell を開いて、

$IP = wsl -d Ubuntu-18.04 exec hostname -I; netsh.exe interface portproxy add v4tov4 connectaddress=$IP listenport=1234

を実行する。 Ubuntu-18.04listenport=1234 のとこは適宜変更すべし。
Windows を再起動するとクリアされる。 自動化する場合、 $IP は再起動ごとに変化するので、固定値で書き換えてはいけない。

余談

wsl 側から netsh.exe を実行することは出来ますが、 sudo とかしても管理者権限は付与できません。 wsl ターミナル自体を「管理者として実行」すれば、そのターミナル内からは

netsh.exe interface portproxy add v4tov4 connectaddress=$(hostname -I) listenport=1234

とかで実行できる。が、管理者権限つきの wsl ターミナルは危ないのでお勧めしません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0