修复 WSL2 无法访问 Windows 宿主机代理 — 三个隐形坑
· 阅读需 6 分钟
在 WSL2 环境下使用 Claude Code、Roo 等 AI 编程工具时,工具需要通过 Windows 宿主机代理访问 API,却反复报 ConnectionRefused。解决防火墙问题后,又遇到两个隐藏坑。记录完整排查过程。
TL;DR
WSL2 的 vEthernet (WSL) 虚拟网卡每次启动重建,Windows 防火墙无法为其分配 Network Profile,导致所有入站规则对这个接口都不生效(EnforcementStatus: NotApplicable)。不需要加规则,直接对接口禁用防火墙即可:
# 在 Windows PowerShell (管理员) 中执行
Set-NetFirewallProfile -DisabledInterfaceAliases "vEthernet (WSL)"
此外,修复防火墙后,还可能遇到两个额外坑:
- 动态 IP 问题:宿主机 IP 在 WSL/Windows 重启后变化
- 配置缓存问题:
~/.claude.json和~/.claude/settings.json里缓存了旧 API key 导致认证冲突