tech/network · 集群 B · 隧道与排障原理 · 5/6
分层排障法:从本地链路到应用层逐层定位代理故障
分层排障的原则是一次只验证一层,确认这一层正常后再往上走。代理场景可以分为本地网络、系统环境、接管层、规则层、传输层、节点与目标六层,自下而上逐层排除。如果你每次只改一个变量并记录结果,就能避免“问题消失了却不知道为什么”的情况,也便于向服务商提供有效信息。
分层排障的基本原则
分层排障的基本原则只有两条:一次只验证一层;每次只改变一个变量。网络故障最怕的不是复杂,而是混乱——多个变量同时变化,结果就无法解释。
代理访问涉及的环节可以划分为六层,上层依赖下层:
⑥ 节点与目标 节点状态、落地 IP、目标网站策略
⑤ 传输层 到节点的连接、TCP/UDP、MTU
④ 规则层 分流规则、策略组、DNS 模式
③ 接管层 系统代理 / TUN 是否生效
② 系统环境 系统时间、安全软件、其他代理冲突
① 本地网络 Wi-Fi/有线、路由器、宽带
排查从第①层开始,每层给出“通过”或“不通过”的判断,不通过就停在这一层解决,通过才进入下一层。
第一层:本地网络
第一层要回答的问题是:不用代理时,网络本身是否正常。这是所有后续检查的前提。
检查清单:
- 关闭客户端(并确认系统代理已清除),访问几个境内常用网站是否正常;
- 如果使用 Wi-Fi,尝试靠近路由器或改用有线;
- 观察家中其他设备是否也有问题;
- 必要时重启路由器和光猫。
判定:境内访问正常 → 通过;境内访问也有问题 → 停在这一层,处理本地网络或联系宽带运营商。路由与丢包的判断方法见 路由与丢包。
第二层:系统环境
第二层检查的是系统层面可能干扰代理的因素,这些因素与网络无关却常被忽略。
| 检查项 | 为什么重要 | 如何检查 |
|---|---|---|
| 系统时间 | 加密握手依赖时间校验 | 开启自动同步,确认时区正确 |
| 其他代理软件 | 多个代理争抢系统代理或路由 | 关闭其他代理、VPN、加速器 |
| 安全软件 | 可能拦截客户端或其网络连接 | 查看拦截记录,必要时添加信任 |
| 系统代理残留 | 客户端异常退出后代理未清除 | 检查系统代理设置是否为空 |
系统时间是成本最低、却常被忽视的检查项。客户端安装与安全软件冲突的处理见 桌面客户端 专题。
第三层:接管层
第三层要回答:目标流量是否真的进入了客户端。判断方法很直接——看客户端的连接列表或日志里有没有这条连接。
- 能看到连接:接管正常,进入下一层;
- 看不到连接:流量没有进入客户端,可能原因包括系统代理未生效、应用不读系统代理、IPv6 绕过、TUN 未正确启动。
对于不读系统代理的应用,可以考虑 TUN 模式,原理见 TUN 虚拟网卡原理;IPv6 绕过见 IPv6 对代理的影响。
第四层:规则层
第四层要回答:这条连接是否被送往了预期的出口。在日志中查看它命中了哪条规则、走了哪个策略组。
日志中看到连接 →
命中规则是否符合预期?
├─ 否:被其他规则截胡 → 调整规则顺序
│ 解析结果异常 → 检查 DNS 模式
└─ 是:策略组选中的节点是否可用?
├─ 否 → 手动切换节点
└─ 是 → 进入第五层
规则顺序与解析时机的原理见 分流原理,DNS 相关问题见 DNS 污染是什么。
第五层:传输层
第五层要回答:到节点的连接能否建立,数据能否正常传输。这一层的故障表现最多样,需要根据现象细分:
| 现象 | 可能原因 | 下一步 |
|---|---|---|
| 连接超时 | 路由不通、节点不可达 | 换同组节点,做路由追踪 |
| 连接被立即断开 | 协议参数不匹配、订阅过期 | 更新订阅,检查到期状态 |
| 小数据正常、大数据卡住 | MTU / 分片 | 参考 MTU 文章 |
| TCP 正常、UDP 不通 | UDP 未转发 | 检查接管方式与 UDP 开关 |
| 时段性变慢 | 拥塞 / QoS | 分时段对比 |
对应文章:MTU 与 MSS 详解、TCP 与 UDP 在代理场景中的差异、QoS 队列与限速机制。
第六层:节点与目标
第六层要回答:问题是否只出现在特定节点或特定网站。前五层都正常,但访问某个网站仍异常,问题通常在落地侧或目标侧。
- 只有某个节点异常:节点自身状态问题,换节点或向服务商反馈;
- 所有节点访问某网站都异常:可能是目标网站的策略、落地 IP 信誉或地区限制;
- 提示地区不符或需验证:与落地 IP 归属有关,参考 节点与 IP 专题。
访问 AI 或流媒体平台时,请遵守平台服务条款与支持地区,本站不提供规避平台风控的操作。
排障记录模板
把排障过程记录下来,既能帮你自己积累经验,也能让服务商更快理解问题。下面是一个可以直接复制使用的模板:
发生时间:
网络环境:(有线 / Wi-Fi,运营商)
客户端与版本:
接管模式:(系统代理 / TUN)
节点名称:
现象描述:(具体网站或应用、报错信息)
①本地网络:通过 / 不通过
②系统环境:通过 / 不通过(时间、冲突软件)
③接管层:日志中是否出现连接
④规则层:命中规则与策略组
⑤传输层:超时 / 断开 / 卡住 / 正常
⑥节点与目标:换节点结果、其他网站结果
日志片段:(隐去个人敏感信息)
需要注意,分享日志前应隐去订阅链接、个人公网地址等敏感信息,相关注意事项可参考 安全与隐私 专题。日志的读法见 抓包与日志分析入门。
小结
分层排障不是一套死板的流程,而是一种思维习惯:先确认地基,再往上检查;每次只动一个变量;把结果记下来。对代理场景来说,六层模型基本覆盖了常见故障的来源。针对具体故障现象的速查,可以继续阅读 故障排查 专题。
若排查后确认需要更换服务,可以在 机场品牌库 中查看各品牌资料,或使用 对比工具 并排比较。品牌资料本站未实测,请以你的实际测试为准。
常见问题
为什么要从下往上排查?
上层依赖下层:本地网络不通,后面所有检查都没有意义。自下而上排查能尽早排除基础问题,避免在上层浪费时间。
排障时最常见的错误是什么?
同时改变多个变量,例如一次换节点、改配置、重启路由器。即使问题消失,也无法知道是哪一步起作用,下次遇到仍要从头再来。
系统时间为什么会影响代理?
很多代理协议和加密握手依赖时间校验,系统时间偏差过大时,握手可能被判定无效而失败。校准系统时间是成本最低的检查之一。
向服务商反馈时需要提供什么?
建议提供发生时间、所用客户端与版本、接管模式、节点名称、具体现象、已做过的排查步骤,以及相关日志片段(隐去个人敏感信息)。
信息来源与更新时间
- 信息来源
- 品牌清单资料(品牌公开信息整理)
- 测试范围
- 本站未进行测速与解锁实测,所有能力描述均为资料声明或未测试状态。
- 发布时间
- 待核实
- 核实日期
- 待核实
- 最近更新
- 待核实