WSL 无法连接 Windows 宿主机 9222 端口问题
问题描述
在 WSL 中的 openclaw AI 工具需要连接 Windows 宿主机上的 Chrome 浏览器调试端口(9222),但连接失败。
问题原因
Chrome 启动后仅监听 127.0.0.1:9222(Loopback 接口),WSL 无法通过 192.168.2.180:9222 访问。
TCP 127.0.0.1:9222 0.0.0.0:0 LISTENING 88912
解决方案
使用 Windows 端口转发(Port Proxy),将所有网卡接收到的 9222 流量转发到本机 localhost。
1. 执行端口转发命令
netsh interface portproxy add v4tov4 listenport=9222 listenaddress=0.0.0.0 connectport=9222 connectaddress=127.0.0.1
2. 验证结果
netstat -ano | findstr 9222
正常输出:
TCP 0.0.0.0:9222 0.0.0.0:0 LISTENING 4756
TCP 127.0.0.1:9222 0.0.0.0:0 LISTENING 41728
3. 从 WSL 测试连接
curl http://192.168.2.180:9222/json/version
持久化配置
端口转发规则在系统重启后会丢失,需要创建批处理脚本实现开机自启。
创建批处理脚本
在 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ 目录下创建 chrome-debug-portforward.bat:
@echo off
netsh interface portproxy add v4tov4 listenport=9222 listenaddress=0.0.0.0 connectport=9222 connectaddress=127.0.0.1
附:删除端口转发规则
netsh interface portproxy delete v4tov4 listenport=9222 listenaddress=0.0.0.0
知识点
- Windows
netsh interface portproxy可实现端口转发 0.0.0.0表示监听所有网络接口- WSL2 通过
192.168.2.180(宿主机局域网IP)访问 Windows
