Windows 端口代理映射到 WSL 端口
Windows 端口代理映射到 WSL 端口流程(需开启 iphlpsvc)
此流程通过 netsh interface portproxy 实现将 Windows 某端口映射到 WSL 中指定端口,前提是 Windows 的 IP Helper 服务(iphlpsvc)已启动。
1. 启动 Ip Helper 服务
执行命令查看 iphlpsvc 运行状态
| 1 | $Get-Service iphlpsvc | 
如果是 Stopped 则启动 iphlpsvc 服务Start-Service iphlpsvc
然后可再次查看运行状态
| 1 | $Get-Service iphlpsvc | 
添加端口代理规则
假设需要将 Windows 的 8080 端口映射到 WSL 的 3000 端口,执行:
| 1 | $netsh interface portproxy add v4tov4 listenport=8080 listenaddress=* connectport=3000 connectaddress=<WSL_IP> | 
开放防火墙端口(如有必要)
允许 Windows 防火墙通过端口 8080:
| 1 | New-NetFirewallRule -DisplayName "WSL Port Forward 8080" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow | 
查看和删除端口代理规则
查看当前所有代理规则:
| 1 | $netsh interface portproxy show all | 
删除指定代理规则(例如监听端口 8080):
| 1 | netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=* |