节点在线却打不开:从订阅、DNS 到 TUN 的排查决策树
状态页明明显示在线,客户端延迟也正常,浏览器却一直转圈——这不矛盾。监控文章里说过,TCP 在线只能证明"服务器的端口能从探测机连上",不能证明你的设备、分流规则、DNS 和目标网站这一整条链路都正常。排查的关键不是反复点重连,而是先缩小故障范围。
第一步:用 2 分钟确定故障范围
保持其他设置不变,做四组对照:
- 换同机场的另一个节点
- 换一个确定正常的网站
- 换网络(例如 Wi-Fi 切手机热点)
- 换应用(浏览器不行时试另一个浏览器或命令行)
| 现象 | 大概率故障位置 | 下一步 |
|---|---|---|
| 只有这个节点不行 | 节点、线路或协议 | 换地区、换协议 |
| 全部节点、全部网站都不行 | 订阅、客户端或本地代理入口 | 先更新订阅,再检查系统代理 |
| 只有某个网站不行 | 分流规则、DNS 或目标网站风控 | 临时切全局测试 |
| 只有某个软件不行 | 软件没有走系统代理 | 手动配置代理,或检查 TUN |
| 手机正常、电脑不行 | 本机配置、浏览器或系统时间 | 对比两台设备的设置和网络 |
表格只能给方向,不能替代验证。每次只改一个变量,否则恢复了你也不知道是哪一步起的作用。
第二步:先确认订阅和账号没有过期
节点列表里还显示节点,不代表配置仍然有效。机场更换入口、端口、密码后,旧节点可能仍然"能被 ping 通",但握手已经失败。
- 在客户端手动更新一次订阅,观察节点名称、端口或协议是否变化
- 登录机场用户中心,确认套餐未过期、流量没有用完
- 如果更新订阅失败,先按 敏感时期自救手册 处理;拿不到新配置,比单个节点离线更严重
更新订阅只点一次就够了。连续点几十次不会让节点恢复,只会增加订阅接口压力。
第三步:确认流量真的进了客户端
浏览器能不能走代理,受"系统代理"开关影响;终端命令不一定读系统代理。想确认客户端本地入口是否正常,可以显式指定代理端口:
curl -x http://127.0.0.1:7890 https://api.ipify.org
Windows PowerShell 里建议使用 curl.exe,避免和系统别名混淆。7890 只是常见混合端口,请以客户端设置页显示的端口为准。
- 命令能返回一个 IP:客户端核心、本地端口和当前节点这条链路基本可用
- 命令超时或报错:继续看客户端日志,问题通常不在浏览器
- 命令正常但浏览器不行:检查系统代理开关、浏览器插件和浏览器自己的代理设置
系统代理、混合端口和日志等级的基础说明见 客户端常见设置。
第四步:临时切全局,判断是不是规则或 DNS
保持同一个节点、同一个网站,只把出站模式从规则切到全局,测试 30 秒:
- 全局后恢复:分流规则、GeoIP 数据或 DNS 判断错了。更新规则和订阅;只对目标网站加一条自定义规则,然后切回规则模式
- 全局后仍不通:问题更可能在节点握手、线路或目标网站,继续看日志
- 全局后国内网站异常:这是预期行为,国内流量也被送进节点了,不要把全局当日常模式
三种模式的差异见 规则 / 全局 / 直连。如果你的客户端使用 fake-ip,DNS 通常在内核内完成;如果浏览器强制使用自己的安全 DNS,可能出现"浏览器和命令行结果不一致",这时应检查浏览器 DNS 设置,而不是急着换机场。
第五步:看日志里的失败关键词
把日志等级临时调到 info,重新连接一次,再恢复到 warning 或 error。不同客户端的原文不完全一样,但关键词通常能定位方向:
| 日志关键词 | 更可能的原因 | 处理 |
|---|---|---|
timeout、i/o timeout |
线路、端口、UDP 或本地运营商问题 | 换节点、换协议、换网络 |
unauthorized、401、403、UUID / 密码错误 |
订阅过期、配置过旧或账号状态异常 | 更新订阅,检查套餐 |
| TLS、Reality、fingerprint、SNI 相关报错 | 客户端内核过旧、配置变化或系统时间不准 | 更新客户端和订阅,校准时间 |
| UDP、QUIC 相关超时 | 当前网络限制 UDP | 试 Reality、Trojan 等 TCP 类节点 |
connection reset |
中间链路或目标方向重置 | 换地区、换协议,再观察 |
不要只看最后一行错误。真正的原因经常在它上面的第一次握手失败里。
两种最常见的"局部不通"
只有某个网站打不开
这通常不是节点离线,而是出口 IP 被目标网站限制,或规则把目标分到了错误策略组。处理顺序:
- 用无痕窗口排除旧 Cookie 和缓存
- 换同地区、再换其他地区节点
- 流媒体或 AI 服务选择客户端里专门的解锁策略组
- 临时切全局验证规则,恢复后切回规则模式
只有某个软件不走代理
很多游戏、下载工具和命令行程序不读系统代理。浏览器正常、只有它们失败时,优先检查:
- 软件内部是否支持手动填写 HTTP/SOCKS5 代理
- 是否需要代理 UDP
- 是否需要开启 TUN 模式 接管整个系统网络栈
一页决策树
换一个确定正常的网站
├─ 所有网站都打不开
│ ├─ 换节点后恢复 → 原节点或线路问题
│ └─ 换节点也不行 → 更新订阅 → 检查代理入口 → 看日志
└─ 只有目标网站打不开
├─ 临时全局后恢复 → 分流规则或 DNS 问题
└─ 全局后仍不行 → 出口 IP 或目标网站风控
只有某个软件失败 → 手动代理;需要 UDP 或全流量接管时再看 TUN
排障纪律
- 一次只改一个设置,改完立刻测试
- 全局模式只用于定位,不建议长期开启
- 日志只在排查时调到 info,结束后调回 warning 或 error
- 不要把完整订阅链接交给来源不明的"在线转换"工具
- 状态页 用来判断节点是否在线,客户端日志用来判断为什么不能用,两者要一起看
节点"在线"只是排查的起点,不是结论。先确定故障范围,再按链路逐层验证,通常比换客户端、重置系统、反复刷新订阅更快。