Codex 启动报错:套接字访问权限错误 (os error 10013) 的优雅解法
最近在 Windows 上启动 Codex 时,遇到了一个烦人的报错:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013)。
这个问题通常是因为 Windows 的 Hyper-V 等组件动态保留了一段端口范围,恰好 Codex 登录服务需要使用的端口(例如 1455)被包含在内,导致无法正常绑定。
️ 解决方案:重置 WinNAT 服务
这个方法的核心是重置 Windows 的网络地址转换 (NAT) 服务,让它重新分配动态端口保留范围。
操作步骤:
-
以管理员身份运行 PowerShell 或命令提示符 (CMD)
- 在开始菜单搜索 "PowerShell" 或 "cmd"。
- 右键点击,选择 "以管理员身份运行" 。这一步至关重要!
-
停止 WinNAT 服务
- 在管理员窗口中,输入以下命令并按回车:
net stop winnat
-
查看重置前的端口保留范围 (可选)
- 输入以下命令,可以查看当前被系统保留的 TCP 端口范围:
netsh interface ipv4 show excludedportrange protocol=tcp
- 你可以记下输出列表,看看 Codex 需要的端口是否在其中。
-
启动 WinNAT 服务
- 再次输入命令,重新启动服务:
net start winnat
-
查看重置后的端口保留范围 (可选)
- 再次执行查看命令:
netsh interface ipv4 show excludedportrange protocol=tcp
- 对比步骤 3 的输出,你会发现端口保留范围已经发生了变化,之前被占用的端口很可能已经被释放。
完成以上步骤后,无需重启电脑,直接重新启动 Codex,问题应该就解决了。