连接排障 · Clash 技术博客

Clash 节点超时怎么办?延迟测试、切换节点与频繁断流排查

Timeout 只表示测试请求超时,不能单独证明节点失效。用同一节点复现实际访问,查看规则与日志,比较单节点、同协议和整份订阅的结果,并用另一网络对照真实业务。

  • 节点超时
  • 延迟测试
  • 断流
本文目录

节点旁边的超时提示很显眼,却不一定说明你真正要做的事情失败了。网页、长下载和语音连接的要求不同,排查也要回到对应场景。保留一条固定节点和一个目标,让测速结果、连接记录与日志能彼此对照。

延迟测试显示 Timeout,实际访问也失败吗?

Timeout 表示配置指定的测试地址没有在超时时间内返回。原因可能是节点不可达、测试 URL 被拦、DNS 失败或本地网络阻断。它不能单独证明整台电脑断网,也不能判断视频、下载或 UDP 的效果。

用同一节点打开原来失败的网站或执行相同应用动作,记录实际结果与延迟测试结果。即使延迟较低,仍要分别观察下载能否持续、长回复能否完整结束。

两种测试回答的问题

测试能说明什么
节点延迟 / health check测试 URL 在超时时间内是否有响应
浏览器打开目标网站网页请求是否按预期规则从所选出口完成
长下载或流式回复连接持续性、丢包与中途切换
游戏或语音UDP 支持、抖动与实际线路质量

固定节点,确认请求是否走到了它

在主要策略组中选一条具体节点,不使用 url-test、fallback 或 load-balance。模式保持 Rule,打开 Connections,然后重复同一个网页或应用动作。固定出口后,成功和失败才来自同一条路径。

记录目标域名、命中规则、节点名称与协议类型,以及日志错误。连接页没有请求,检查应用是否经过 Clash;显示 DIRECT,检查规则;请求已经交给节点后仍超时,再检查节点连接。

单节点、同协议与全订阅故障的处理

只有一条节点超时
更像单节点下线、拥堵或服务端端口变化;换同地区另一节点对照。
同一种协议全部超时
检查当前内核是否支持配置字段,以及该协议是否被本地网络限制。
同一订阅所有节点超时
先看订阅是否过期、流量是否用完、服务是否有公告,再决定要不要继续测速。
多个订阅在当前 Wi-Fi 都失败
切到手机热点做对照,检查故障是否来自本地网络、DNS 或防火墙。
网页能用,游戏或语音失败
单独验证 UDP 与 TUN 接管,不能用网页延迟替代。

单节点故障不需要同时修改 DNS 和 TUN;同一网络中多份订阅都失败时,接入网络的对照更有用。

从日志区分超时、拒绝连接、重置和解析失败

i/o timeout / context deadline exceeded

路径在时限内没有完成,比较节点、网络和目标地址。

TLS handshake timeout / handshake failed

连接到达握手阶段但没有完成,核对节点协议、系统时间、内核兼容和当前网络。

connection refused

连接被拒绝,节点服务可能未监听该端口,或端口配置已变;核对日志中的实际目标地址。

connection reset by peer

连接建立后被对端或中间设备重置,检查协议兼容和网络稳定性。

no such host / DNS error

域名解析未完成,转去检查 Clash DNS 和系统 DNS 路径。

unsupported / parse error

配置与内核能力不匹配,这不是网络延迟。

日志时间要与刚才的测试动作对应。后台订阅更新、健康检查和浏览器请求可能同时写日志,只截最后一行很容易拿错对象。

用手机热点与另一节点作对照

手机热点成功、原 Wi-Fi 失败,说明节点仍能工作,应检查路由器 DNS、防火墙、IPv6 或运营商网络。只有晚高峰变慢、白天恢复时,记录测试时间和持续速度;这更像线路拥塞。

同一协议整组失败、其他协议正常时,记录协议类型和内核版本,向订阅提供方核对配置。Reality、XTLS Vision 这类传输或 flow 名称不能直接代表线路质量。

最少变量的四次对照

  1. 节点 A + Wi-Fi

    重复固定目标,留下日志。

  2. 节点 A + 手机热点

    只更换接入网络。

  3. 节点 B + 原 Wi-Fi

    换同一订阅的另一节点,尽量保留相同协议,网络不变。

  4. 另一协议节点 + 原 Wi-Fi

    只在前面仍无法区分时使用。

自动策略组频繁换节点,会打断哪些连接?

url-test 按探测结果选择延迟较低的节点,fallback 在当前节点不可用时按顺序切换。探测间隔过短、tolerance 太小或测试 URL 不稳定,可能让新请求频繁换出口;已有连接是否中断,还要看节点是否故障及客户端是否关闭旧连接。

把策略组临时改为 select 并固定一条节点。如果断流消失,问题不一定是节点本身,而可能是健康检查参数或自动切换方式。恢复自动组时,使用稳定的测试 URL,合理拉长 interval,并给 url-test 留出 tolerance。

可直接放入 Mihomo 配置的 url-test 结构
proxy-groups:
  - name: 自动选择
    type: url-test
    include-all: true
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 80
    lazy: true

网页、下载和语音分别怎样验证

网页问题要完成登录与页面加载,下载问题要观察一段持续传输,语音或游戏则看 UDP 和会话是否稳定。Connections 应持续显示预期规则与固定出口,日志里不再出现同一错误。

测试 URL 有响应而原场景仍超时时,记录节点、网络、时间和错误四项信息,交给订阅提供方定位线路或服务端问题。

参考资料