管理者権限で起動したPoweShellで以下コマンド実行すると、当該WSL2上で動いてる当該ポートに対して、他端末からPCのIPと当該ポートを指定してアクセスできるようになる
# 対象ポート (※適宜変更)
$port = 3000
# WSL2のディストリビューション名 (※適宜変更)
$distName = "Ubuntu-20.04"
# Windows Defenderに穴あけ
New-NetFireWallRule -DisplayName "WSL 2 Firewall Unlock" -Direction Inbound -LocalPort $port -Action Allow -Protocol TCP
# WSL2の現在のIPに対するポートフォワーディング設定
netsh interface portproxy add v4tov4 listenport=$port listenaddress=* connectport=$port connectaddress=(wsl -d $distName -e hostname -I).trim()
ただしWSL2は起動するたびにIPが変わるので、穴をあけたくなったら毎回これをやる必要があるのと、毎回やってるとWindows Defenderの穴あけルールがそのたびに増えていくのは留意
あけた穴の戻し方などは続きに記載