「已连接」这三个字的含义比大多数人以为的窄。它通常只表示客户端成功和节点服务器建立了一条通道,至于你的浏览器流量有没有进入这条通道、域名能不能解析出正确的地址,都是另外的事。
理解这一点后,排查方向就清晰了:不要反复切换节点,而要沿着「流量从哪里出发、经过哪些判断、最后走向哪里」这条路径逐段验证。
三十秒定位法
先做两个测试,能把范围缩小到具体某一层:
测试一:用 IP 直接访问。 找一个你知道 IP 地址的境外服务,在浏览器里直接输入 IP 访问。
测试二:切换到全局模式。 把客户端从规则模式改成全局模式,再打开同一个网站。
| 测试一 | 测试二 | 结论 |
|---|---|---|
| IP 能通 | — | DNS 解析出了问题 |
| IP 不通 | 全局能通 | 分流规则误判 |
| IP 不通 | 全局也不通 | 系统代理未生效或隧道实际不通 |
两个测试加起来不超过一分钟,却能省掉后面大量无效尝试。
情况一:DNS 环节出问题
用 IP 能访问而用域名不行,说明代理转发是好的,断在域名解析上。
代理客户端有自己独立的 DNS 配置,和系统 DNS 不是一回事。常见的几种错误状态:
- DNS 查询走了直连,结果被污染。 域名被解析到一个错误的 IP,后续连接自然失败。
- DNS 服务器不可达。 配置里填的 DNS 地址本身连不上,解析请求超时。
- 解析到了 IPv6 地址但节点没有 IPv6 出口。 双栈环境下常见,表现为部分网站极慢或完全打不开。
处理办法是在客户端的 DNS 设置里,把默认 DNS 改为加密 DNS(DoH 或 DoT),并确认「代理 DNS 查询」相关选项已开启。IPv6 相关的问题可以先把 IP 版本策略设为优先 IPv4 做验证。这一层的详细排查见 DNS 解析失败导致无法上网。
情况二:分流规则误判
全局模式下正常、规则模式下不行,这是最常见的一种情况。
分流规则决定了每个请求走代理还是直连。规则集通常包含成千上万条域名和 IP 段,由配置提供方维护。出问题的原因一般是:
- 规则集过期。 新出现的域名不在规则里,被兜底规则判成直连。
- 规则集本身有误。 第三方配置的质量参差不齐,误把境外域名归入国内列表。
- 自定义规则写错。 手动添加的规则优先级高于默认规则,一条写错的通配符可能影响一大片域名。
- 兜底策略设成了直连。 未匹配任何规则的流量默认怎么处理,这个设置决定了未知域名的走向。改成走代理通常更符合预期。
短期解决:为具体域名添加一条走代理的规则。长期解决:更新到维护活跃的规则集,或换用机场提供的官方配置。
情况三:系统代理未真正生效
IP 和全局都不通,说明流量根本没进入隧道。
系统代理模式下,客户端修改的是操作系统的代理设置。这种方式有个固有局限:只有主动读取系统代理设置的程序才会走代理。大部分浏览器会,但很多桌面应用、游戏和命令行工具不会,它们的流量直接发往目标地址,自然不通。
要检查的几点:
- 客户端里的系统代理开关是否真的打开(不少客户端有独立的开关);
- 操作系统的代理设置页面里,是否显示了指向本地端口的代理服务器;
- 浏览器是否安装了代理管理类扩展,覆盖了系统设置;
- 是否有其他 VPN 或代理软件同时运行,互相冲突。
TUN 模式通过虚拟网卡在系统网络层接管流量,能覆盖不支持代理设置的程序。但它需要管理员权限,Windows 上还可能需要安装虚拟网卡驱动。如果 TUN 模式开启后反而完全不通,先确认驱动安装成功、客户端以管理员身份运行,以及没有被安全软件拦截。
按顺序排查的完整流程
- 确认关闭代理后能正常访问国内网站(基础网络正常);
- 检查系统时间是否准确(偏差会导致 TLS 握手失败);
- 用 IP 直接访问,判断是否 DNS 问题;
- 切换全局模式,判断是否规则问题;
- 检查系统代理设置是否被正确写入;
- 检查是否有其他代理软件或浏览器扩展冲突;
- 尝试切换 TUN 模式与系统代理模式做对照;
- 换一个节点、换一种协议再测,排除单节点故障;
- 检查防火墙和安全软件是否拦截了本地监听端口。
前四步能覆盖绝大多数情况。
不同平台的差异
Windows 上最容易出问题的是安全软件拦截和系统代理未还原。客户端非正常退出后,系统代理设置可能残留,导致关掉客户端也上不了网——到网络设置里手动关闭代理开关即可。
macOS 上要注意网络位置和多网卡场景,代理设置是按网络服务分别配置的,在有线和无线之间切换时可能出现设置未应用的情况。
Android 上的省电策略会限制后台联网,以及部分厂商系统对 VPN 权限的额外限制。
iOS 上相对简单,但要确认 VPN 配置描述文件已被允许,并且没有多个 VPN 配置互相冲突。
确认恢复的验证方法
做完调整后,按三步验证:
- 打开一个需要代理的网站,确认完整加载(不只是首屏);
- 关闭代理,确认同一网站打不开——这一步排除「其实本来就能直连」的误判;
- 重新开启代理,再打开一个不同的网站,确认不是单站点的偶然情况。
仍未解决时收集这些信息
- 客户端名称、版本和当前工作模式(系统代理 / TUN / 全局 / 规则);
- 上面两个快速测试的结果;
- 客户端日志中的报错文本;
- 配置来源(机场官方订阅 / 第三方配置 / 手动录入);
- 是否有其他代理软件或浏览器扩展在运行;
- 同一账号在其他设备上的表现。
如果多台设备都出现同样问题,重点转向订阅和账号状态;如果只有一台,问题基本在这台设备的本地配置上。