Select Page

預設在你的windows下的 Linux 系統會取得一個 IP,通常是172.19開頭的,這是因為用的是 Hyper-V 架構導致的,變成你再 WSL 內開發的服務都很難對外,但其實只要利用 windows 內建的 Netsh interface portproxy 即可

設定 NAT Proxy

透過 netsh interface portproxy 來作設定

netsh interface portproxy add v4tov4 listenport=<yourPortToForward> listenaddress=0.0.0.0 connectport=<yourPortToConnectToInWSL> connectaddress=(wsl hostname -I)

其中

listenport 和 connectport 通常設定一樣,也就是你的服務的 port

listenaddress=0.0.0.0 (固定)

connectaddress 要記得是填入你 ubuntu 的IP喔,可以透過 wsl hostname -I 找出 IP

wsl hostname -I

假設你有一個服務是運行在 port 3001,ubuntu 的 ip 172.19.227.52,修改後的你指令應該要長成

netsh interface portproxy add v4tov4 listenport=3001 listenaddress=0.0.0.0 connectport=3001 connectaddress=172.19.227.5)

參考資料

https://learn.microsoft.com/zh-tw/windows/wsl/networking