最近在配置openclaw,但是我的WSL有时候莫名其妙会出问题,WSL2 使用镜像网络模式一直正常,有时候突然发现网络不通了:
- 宿主机无法访问 WSL 内的服务
- 但
.wslconfig配置没有任何改动
环境信息
WSL 版本: 2.6.3.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.71
MSRDC 版本: 1.2.6353
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.26200.7922
已经是最新版 WSL,所以网上说的"更新 WSL 就好了"对我没用。
网上的常见方案(但都不适用)
搜索一圈,发现主流建议就两种:
| 方案 | 说明 | 为什么不适用 |
|---|---|---|
| 更新 WSL | wsl --update | 我已经是最新版了 |
| 回退 NAT 模式 | 删掉 networking=mirrored | OpenClaw 部署需要镜像模式 |
镜像模式的优势:
- 宿主机和 WSL 共享同一个 IP
- 端口直接互通,无需额外转发
- localhost 访问无缝衔接
所以我必须解决镜像模式的问题,而不是绕过它。
真正的原因
开着公司 VPN 时重启了 WSL,导致镜像网络初始化失败。
VPN 会修改系统网络栈,WSL 重启时无法正确绑定镜像网络。
解决方法
# 1. 关闭 VPN/代理(重要!)
# 2. 重置网络
wsl --shutdown
netsh winsock reset
# 3. 重启 WSL
wsl
或者最简单粗暴:
关 VPN → 重启电脑 → 开 WSL
搞定。
预防
- 重启 WSL 前先关掉 VPN
- 或者养成习惯:
wsl --shutdown之前检查一下有没有开代理
记录于 2026-03-12