在通过 Windows Subsystem for Linux (WSL) 运行 Codex 相关服务或进行网络调试时,许多用户会遇到连接失败的问题。这通常不是单一原因造成的,而是涉及虚拟网络适配器、防火墙规则以及 DNS 解析等多个环节。为了帮助您快速恢复连接,我们整理了一份基于步骤清单的排查指南,请按照以下顺序逐一检查。
检查 WSL 网络适配器状态
首先,需要确认 WSL 内部的虚拟网卡是否正常工作。在 Windows 主机上打开“网络和 Internet 设置”,查看“更改适配器选项”。您应该能看到一个名为 “vEthernet (WSL)” 的网络适配器。如果该适配器显示为“未启用”或带有红色叉号,请右键点击并选择“启用”。此外,确保您的主物理网卡处于活动状态,因为 WSL 的网络流量依赖于宿主机的网络连接。如果 vEthernet 适配器频繁断开,建议重启 WSL 实例,在 PowerShell 中运行 wsl --shutdown 然后重新启动即可。
配置防火墙与端口转发
Windows Defender 防火墙或其他第三方安全软件可能会阻止 WSL 内部进程访问外部网络或接受传入连接。请进入“高级安全 Windows Defender 防火墙”,检查入站和出站规则。对于 Codex 服务所需的特定端口(如 8080、3000 等),请确保已添加允许通过的规则。如果您是在本地测试 Web 服务,请注意 WSL 2 使用 NAT 模式,其 IP 地址可能动态变化。您可以尝试在 WSL 终端中输入 hostname -I 获取当前 IP,并在浏览器中使用该 IP 加上端口号进行访问,以排除域名解析问题。
验证 DNS 解析与代理设置
连接失败有时源于 DNS 解析错误。在 WSL 终端中,您可以尝试 ping 一个公共 DNS 服务器(如 8.8.8.8)来测试基础连通性。如果 Ping 通但无法访问网站,则可能是 DNS 问题。您可以尝试修改 /etc/resolv.conf 文件,将 nameserver 设置为 8.8.8.8 或 114.114.114.114。另外,如果您在公司内网或使用特殊代理,请确保 WSL 继承了正确的代理环境变量,或者暂时关闭代理以排除干扰。通过以上步骤,绝大多数 Codex WSL 连接问题都能得到解决。