同一套 AI 工具,在公司网、校园网、家里宽带和手机热点下表现完全不同,很正常。真正要做的不是凭感觉换节点,而是把网络环境、执行位置、代理配置、DNS / TLS、状态码逐层拆开。
公司和学校网络通常有明确安全策略。本文只讨论正常办公、学习和开发排障,不建议绕过单位规则、关闭 TLS 校验、共享账号凭据或把 API Key / Cookie / 代理账号发给别人。
✅ 先给结论
- 先拿家庭宽带或手机热点做对照,证明代码、Key、账号本身是否正常。
- 公司网和校园网优先查代理、证书、DNS、IPv6、域名白名单和端口限制。
- 浏览器能打开,不代表 Cursor 终端、Codex CLI、npm、Git、Docker 能打开。
- 长期开发不要依赖临时热点,优先考虑海外开发机、稳定机场节点或合规代理。
🧭 四种网络环境差异
网络 常见变量 典型表现 公司网络 代理、TLS 检查、防火墙、域名白名单、扩展市场限制 最容易出现浏览器能开、终端 / npm / Docker 不通。 校园网 认证门户、DNS 劫持、IPv6、晚高峰拥塞、端口限制 经常表现为部分网站可用、API 或 Docker 超时。 家庭宽带 路由器 DNS、IPv6 优先、运营商国际出口、透明代理 问题通常更稳定,适合做基准对照。 手机热点 移动网络 NAT、信号波动、省电策略、流量限制 适合临时验证,不适合作长期开发主力。
🧪 第一步:固定一个基准测试
每换一种网络,都用同一组命令测试。不要今天只测 ChatGPT,明天只测 npm;测试目标不一致,结论就会乱。
# 先在每一种网络下都执行一遍,保存脱敏结果
hostname
date
curl -sS https://ipinfo.io/json
curl -4 -sS https://ipinfo.io/json
curl -6 -sS https://ipinfo.io/json || true
# AI / 开发常用入口
curl -I https://chatgpt.com
curl -I https://api.openai.com/v1/models
curl -I https://api.anthropic.com/v1/models
curl -I https://github.com
curl -I https://registry.npmjs.org
# DNS
nslookup chatgpt.com
nslookup api.openai.com
nslookup github.com
nslookup registry.npmjs.org
Windows PowerShell 可以先用这组轻量命令:
# Windows PowerShell
hostname
Get-Date
curl.exe -sS https://ipinfo.io/json
curl.exe -I https://api.openai.com/v1/models
curl.exe -I https://github.com
Resolve-DnsName api.openai.com
Resolve-DnsName registry.npmjs.org
Get-ChildItem Env: | Where-Object { $_.Name -match 'proxy' } | ForEach-Object { "$($_.Name)=" }
🏢 公司网络:代理、证书和策略
公司网络最常见的问题是“浏览器自动走了公司代理,但终端和开发工具没有走”。另一个高频点是 HTTPS 证书被公司安全网关检查,导致 npm、Git、Docker 或 API SDK 报证书错误。
代理是否只对浏览器生效
公司代理可能只写进浏览器或系统 PAC,终端、npm、Git、Docker 不一定自动读取。
TLS 证书是否被检查
公司安全网关可能替换证书链。正式项目不要通过关闭 TLS 校验来绕过问题。
域名是否被白名单限制
OpenAI、Anthropic、GitHub、npm、Docker Hub、VS Code 扩展市场可能需要分别放行。
本地安全软件是否拦截
EDR、防病毒、代理客户端和公司 VPN 可能改写流量。排查时要记录是否开启。
# Linux / macOS / WSL / VPS:只显示变量名,不显示代理地址或凭据
env | grep -i proxy | sed 's/=.*/=/'
# Windows PowerShell:只显示变量名
Get-ChildItem Env: | Where-Object { $_.Name -match 'proxy' } | ForEach-Object { "$($_.Name)=" }
# Git 代理
git config --global --get http.proxy
git config --global --get https.proxy
git config --show-origin --get-regexp "http.*proxy|https.*proxy"
# npm 代理:避免把带用户名密码的 URL 打到终端
npm config get proxy | sed -E 's#(https?://)[^/@]+@#\1@#'
npm config get https-proxy | sed -E 's#(https?://)[^/@]+@#\1@#'
npm config get registry
🎓 校园网:认证、DNS 和 IPv6
校园网的变量更多:认证门户、宿舍网、教学楼网、图书馆网、IPv6、晚高峰出口都可能不同。最实用的做法是把校园网和手机热点对照起来测。
是否需要网页认证
校园网掉线或认证过期时,浏览器可能跳登录页,终端只看到超时或 HTML。
IPv6 是否优先但不可用
很多校园网 IPv6 表现和 IPv4 不一致,要分别 curl -4 与 curl -6。
DNS 是否异常
解析结果异常时,先记录解析服务器和返回结果,再按单位允许的 DNS、代理或网络配置做对照,不要擅自绕过网络策略。
晚高峰是否拥塞
晚上 API、GitHub、NPM、Docker 慢,不一定是账号问题,可能是出口拥堵。
🏠 家庭宽带:路由器、运营商 DNS 和 IPv6
家庭宽带适合作基准环境。它通常没有公司网那种复杂代理策略,但会遇到路由器 DNS、运营商国际出口、IPv6 优先和代理客户端模式不一致的问题。
路由器 DNS
家里路由器可能缓存旧 DNS 或强制运营商 DNS,重启路由器和改 DNS 可作为对照。
IPv6 优先
如果 IPv6 出口差,浏览器和终端可能表现不同,先用 curl -4 验证。
代理客户端模式
只开浏览器插件不够,Cursor、Codex CLI、npm、git、Docker 往往需要 TUN 或系统代理。
多设备对照
同一网络下手机、电脑、远程 VPS 表现不同,说明问题可能在设备或客户端配置。
📱 手机热点:NAT、流量和不稳定链路
手机热点最大的价值是做临时对照:如果公司网不通、热点能通,代码、Key 和账号大概率没坏。但热点不适合长期拉 Docker 镜像、跑大依赖安装或做稳定 API 开发。
信号和省电
手机热点会受信号、省电、锁屏和运营商策略影响,长时间 Docker / npm 容易断。
NAT 和 IPv6
移动网络可能给你不同 NAT、不同 IPv6,排查时要记录出口 IP 和 ASN。
流量限制
热点适合临时验证 AI 网页和 API,不适合作大规模依赖安装和镜像拉取。
作为对照网络
如果公司网不通、热点能通,只能说明两种网络路径不同;代码、Key、账号和目标服务仍需在成功路径上分别确认。
🛠️ VS Code、npm、Git、Docker 分开查
AI 开发链路里,最容易被混在一起的是工具配置。一个工具能通,不代表另一个工具能通。
工具 常见误区 检查动作 VS Code / Cursor 界面能联网不代表内置终端联网;Remote SSH 终端是在远程机执行。 分别在本地终端、内置终端、Remote SSH 终端执行 curl ipinfo.io。 npm npm 有自己的 registry、proxy、https-proxy 配置,旧代理会残留。 执行 npm ping、npm config get proxy、npm config get registry。 Git HTTPS clone 和 SSH clone 是两条路径;公司网可能拦 22 端口。 执行 git ls-remote https://github.com/openai/openai-node.git HEAD。 Docker Docker Desktop、daemon、build、容器运行时代理并不是同一层。 分别测试宿主机、Docker daemon、一次性容器的网络。 API SDK SDK 报错要区分 timeout、401、403、429、5xx,不要混成网络问题。 先用最小 curl -I,再看 SDK 错误码和 request id。
Docker 需要额外注意:宿主机能联网,不代表容器和 build 阶段能联网。
# 宿主机能通,不代表容器能通;将镜像固定到已审阅版本或摘要
docker run --rm curlimages/curl: https://ipinfo.io/json
docker run --rm curlimages/curl: -I https://api.openai.com/v1/models
docker run --rm curlimages/curl: -I https://registry.npmjs.org
# 如需给一次性容器传代理
docker run --rm \
-e HTTP_PROXY=http://host.docker.internal:7890 \
-e HTTPS_PROXY=http://host.docker.internal:7890 \
curlimages/curl: -I https://api.openai.com/v1/models
🚫 不要这样修
不要关闭 TLS 校验
npm strict-ssl false、忽略证书错误、关闭验证只会把安全问题藏起来。
不要绕过单位网络策略
公司和学校网络有合规要求,正式项目优先走批准的代理、VPN 或远程开发机。
不要把 Key 发给网管或同事
排查网络只需要状态码、域名、时间、request id 和脱敏日志。
不要盲目换节点
先固定一个网络和一个出口,做对照测试;否则你不知道到底修好了什么。
不要把热点当长期方案
热点适合证明问题层级,不适合长期编译、拉镜像、跑 API。
不要把所有 403 都当网络故障
403 可能是权限、模型、项目、地区或策略问题,和超时不是一类。
✅ 最终排障清单
1
记录网络
公司网、校园网、家宽、热点分别记录时间、出口 IP、ASN、DNS 结果。 2
固定测试目标
每次都测 ChatGPT、API、GitHub、NPM、Docker,不要今天测 A 明天测 B。 3
区分执行位置
本机、WSL、Cursor 终端、Remote SSH、Docker 容器分别执行命令。 4
查代理残留
系统代理、环境变量、npm、Git、Docker、VS Code 都要单独看。 5
查 DNS / IPv6
强制 IPv4 / IPv6 对比,确认 DNS 是否被本地网络污染或劫持。 6
查状态码
确认响应来自目标 API 后,timeout 先查网络;401 查认证、项目和权限;403 查权限或策略;429 查额度和并发;5xx 查服务端和有限重试。 7
选长期方案
公司/校园网长期受限时,考虑海外开发机、合规代理或固定出口,而不是每次临时修。 8
保持脱敏
日志里只保留状态码、域名、时间、request id 和环境,不保留 Key、Cookie、代理账号。
🧭 站内下一步
[ 终端出口不一致
AI 工具终端网络排查
继续排查 PowerShell、WSL、Remote SSH、Docker、npm、git 和 API 出口。 ](/guides/ai-terminal-network-troubleshooting-guide)[ API 状态码
AI API 错误码排查
把超时、401、403、429 和 5xx 分开处理。 ](/guides/ai-api-connectivity-error-troubleshooting-guide)[ 长期方案
稳定 AI 网络环境指南
从机场、固定 IP、VPS 落地、住宅 IP 和海外开发机里选稳定路线。 ](/guides/stable-ai-network-environment-guide)[ 账号出口
AI 账号与网络出口稳定 FAQ
回答固定 IP、节点切换、DNS/WebRTC、住宅 IP 和 VPS 落地常见问题。 ](/guides/ai-account-network-stability-faq)[ 远程开发
Codex / Cursor 海外 VPS 开发机
把代码、终端、GitHub、NPM、Docker 和 AI API 放到同一台海外机器。 ](/guides/codex-cursor-remote-vps-dev-guide)[ 工具入口
VPS 工具箱
测试 IP 质量、网络质量、路由、YABS 和解锁状态。 ](/vps-tools)
📚 资料来源
- Visual Studio Code Network Connections:用于核对 VS Code 代理、证书和网络访问配置口径。
- npm config documentation:用于核对 npm 配置、proxy、https-proxy 和 registry 相关排查口径。
- Git config documentation:用于核对 Git
http.proxy等代理配置项。 - Docker CLI proxy documentation:用于核对 Docker CLI 和容器代理配置口径。
- Docker daemon proxy documentation:用于核对 Docker daemon 代理配置与 Docker Desktop 差异。
🚀 下一步行动
如果这篇帮你定位了是哪类网络在出问题,可以继续进入更细的排查路线: [ 🔍
AI 终端网络排查
继续排查 Cursor、Codex、npm、git、Docker 和 OpenAI API 是否走同一出口。 开始学习 ](/guides/ai-terminal-network-troubleshooting-guide)[ 🌐
稳定 AI 网络环境指南
把机场、固定 IP、VPS 落地、住宅 IP 和海外开发机方案串起来。 开始学习 ](/guides/stable-ai-network-environment-guide)[ ⭐
VPS 推荐榜单
查看 VPS 实测与服务商索引,先看结论再去官网。 查看推荐 ](/vps-recommendations)[ 📚
浏览更多教程
继续探索服务器安全、网站搭建、性能优化和 AI 环境主题。
探索教程 ](/guides)
读完后建议
先验证,再选择 把判断落到具体选择
准备购买 VPS 时,先对照推荐榜单和真实测评确认线路、价格、用途与风险;只是继续学习,可以回到教程索引按主题往下看。
查看推荐榜单 回到教程索引