Clash 连接失败排查:超时、EOF、TLS 握手错误逐项解决
发布于 · 约 7 分钟阅读
Clash 用久了,几乎每个人都会遇到这些情况:节点测速一片 Timeout, 日志里不停刷 EOF,或者提示 TLS 握手失败。报错看起来很吓人,但背后的原因其实就那么几类。 本文先教你读懂报错,再给出一份按顺序执行的排查清单, 最后单独讲 VLESS Reality 协议最容易配错的几个参数。
第一步:先看日志,别急着换节点
很多人遇到连不上就挨个换节点,其实日志里的报错才是最直接的线索。在 Clash Verge Rev 左侧点击「日志」页面, 然后重新访问一次出问题的网站,观察新出现的报错信息。如果日志太少,可以在设置里把日志等级临时调为 debug,排查完再调回 info 或 warning。
常见报错含义对照表
| 报错关键词 | 含义 | 常见原因 |
|---|---|---|
| i/o timeout / 测速显示 Timeout | 在规定时间内没能和节点建立连接 | 本机网络异常、节点端口未监听或被防火墙拦截、订阅中的地址/端口已过期 |
| EOF / unexpected EOF | 连接建立了,但对端很快主动断开 | 认证失败(UUID 错误、系统时间偏差过大)、传输参数不一致(WS 路径、Reality 公钥 / short-id) |
| connection reset by peer | 连接被对端或中间设备重置 | 服务端拒绝连接、网络链路不稳定、本地安全软件拦截 |
| x509: certificate signed by unknown authority | TLS 证书校验失败 | 服务端使用自签证书而客户端未开启 skip-cert-verify,或 SNI 与证书不匹配 |
| tls: handshake failure | TLS 握手阶段失败 | SNI(servername)配置错误、客户端内核版本过旧、Reality 参数不匹配 |
| no such host | 节点域名解析失败 | 本机 DNS 异常,或节点域名已变更而订阅未更新 |
逐步排查清单
建议严格按下面的顺序检查,越靠前的步骤越常见、越容易解决。
1. 确认本机网络正常
先关闭 Clash 的系统代理和 TUN 模式,直接访问任意国内网站。如果此时也打不开,问题出在本机网络或路由器,与节点无关。 也可以临时切换到手机热点,判断是否为当前宽带或 Wi-Fi 的问题。
2. 同步系统时间(EOF 的头号元凶)
VMess 协议的认证依赖时间戳,客户端与服务端的时间差超过约 90 秒就会认证失败,表现通常是测速正常、实际访问却报 EOF。时区设对了但分钟数不准同样会出问题。
- Windows:设置 → 时间和语言 → 日期和时间 → 打开「自动设置时间」,并点击「立即同步」。
- macOS:系统设置 → 通用 → 日期与时间 → 打开「自动设置日期与时间」。
- Android / iOS:在系统设置中开启「自动设置日期和时间」。
3. 更新订阅
节点的端口、路径或证书调整后,旧订阅中的参数会失效,最典型的表现就是所有节点突然同时超时。例如服务端把端口从 443 迁移到 8443 后, 没更新订阅的客户端仍会去连旧端口,自然全部显示 Timeout。在 Clash Verge「订阅」页面点击刷新按钮更新订阅,再重新测速即可。 同时确认订阅本身没有过期、流量没有用完。
4. 换节点对比测试
如果只有个别节点异常,而其他节点正常,基本可以确定是该节点暂时不可用,换一个延迟正常的节点即可。 如果所有节点都异常,请回到第 1~3 步,问题大概率出在本机或订阅。
5. 升级客户端与内核
旧版客户端的内核可能不支持新的协议或参数,常见表现为 tls: handshake failure 或直接无法解析订阅。 原版 Clash / Clash for Windows 已停止维护(详见 Clash vs sing-box 对比),建议换用基于 Mihomo(Clash Meta)内核的 Clash Verge Rev,Android 使用 Clash Meta for Android。
6. 排除软件冲突
同时运行多个代理或 VPN 软件、公司安装的安全客户端、部分杀毒软件的「网络防护」功能,都可能拦截或重置 Clash 的连接, 导致 connection reset by peer。逐个关闭后再测试。 如果开启 TUN 模式后出现问题,可以参考 Clash Verge TUN 模式配置与 DNS 泄漏修复指南。
VLESS Reality 专项排查
Reality 是一种基于 VLESS 的 TLS 伪装方案,参数比 VMess 多,任何一项与服务端不一致都会导致握手失败,客户端通常只报 EOF,很难直接看出原因(原理可参考 什么是 VLESS Reality)。请逐项核对:
- 内核支持:必须使用 Mihomo(Clash Meta)内核,原版 Clash 不支持
type: vless和reality-opts。 - public-key:填的是服务端生成的公钥, 误填成私钥是最常见的错误之一。
- short-id:必须是服务端
shortIds列表中的某一项。 - servername:必须出现在服务端的
serverNames列表中, 并且与服务端配置的伪装目标网站相对应。 - client-fingerprint:Reality 必须设置,例如
chrome。 - flow:服务端启用了
xtls-rprx-vision时,客户端也要填写相同的值,反之亦然。
一个参数完整的 Mihomo 配置示例(所有值均为占位符):
proxies:
- name: "vless-reality-example"
type: vless
server: example.com # 节点地址
port: 443
uuid: 00000000-0000-0000-0000-000000000000
network: tcp
tls: true
udp: true
flow: xtls-rprx-vision # 必须与服务端一致
servername: www.example.com # 必须在服务端 serverNames 列表中
client-fingerprint: chrome # Reality 必填
reality-opts:
public-key: <服务端公钥> # 注意是公钥,不是私钥
short-id: <与服务端一致>自建节点:服务端要检查什么
如果你是自建节点,客户端所有排查都做完仍然连不上,就需要看服务端:
- 确认端口处于监听状态,例如
ss -ltnp | grep 8443;没有监听说明核心没有正常启动。 - 修改配置后一定要查看核心日志(如
journalctl -u xray)。 新版 Xray-core 移除了部分旧配置字段,旧配置可能直接导致核心启动失败并反复重启,而客户端这边只会看到 Timeout。 - 检查云服务商安全组和系统防火墙是否放行了对应端口。
- 使用自签证书时,客户端需要开启
skip-cert-verify: true,否则会出现 x509 证书错误。
什么时候该换节点或换协议
- 同一节点在不同网络环境(宽带、手机热点)下都无法连接,其他节点正常:节点本身故障,换节点。
- 某个节点只在特定时段频繁断流、延迟飙升:线路拥堵,高峰期换用其他节点。
- 某种协议在你的网络环境下长期不稳定,而同服务商的其他协议正常:换协议比反复调参数更省时间。
常见问题 FAQ
所有节点都显示 Timeout,是不是服务挂了?
不一定。所有节点同时超时,更常见的原因是本机网络异常、系统时间不准、订阅过期或本地有其他代理软件冲突。先按本文的排查清单检查本机,再判断是否为服务端问题。
延迟测试正常,但打开网页还是报 EOF,怎么回事?
延迟测试只验证能否与节点建立连接,不代表认证和协议参数都正确。认证失败(如 UUID 错误、系统时间偏差过大)或传输参数不匹配时,常见表现就是测速有数字、实际访问却报 EOF,建议先同步系统时间并更新订阅。
可以直接开启 skip-cert-verify 解决证书报错吗?
只在服务端使用自签证书时才需要开启。如果节点使用的是正规证书,出现证书错误往往意味着 SNI 配置不对或连接被中间设备劫持,此时跳过校验会降低安全性,应先排查原因。
Clash for Windows 能用 VLESS Reality 吗?
不能。原版 Clash / Clash Premium 内核不支持 VLESS 和 Reality,需要使用基于 Mihomo(Clash Meta)内核的客户端,例如 Clash Verge Rev 或 Clash Meta for Android。
排查后还是连不上,提交工单需要提供什么信息?
请附上客户端名称与版本、操作系统、出问题的节点名称、Clash 日志中的报错截图,以及问题出现的时间点,这样能大幅缩短定位时间。
相关教程
- Clash Verge 配置教程:TUN 模式 + DNS 泄漏修复完整指南从安装、导入订阅到开启 TUN 模式与修复 DNS 泄漏,一篇讲清楚 Clash Verge 全流程配置与常见报错排查。
- 什么是 VLESS Reality?原理图解及与 VMess + WS + TLS 对比从「代理协议 / 传输方式 / 安全层」三层讲起,看懂 Reality 借用真实网站握手的原理,并与经典的 VMess + WS + TLS 逐项对比。
- Clash 分流规则入门:国内直连、国外走代理怎么配置规则怎么读、为什么顺序很重要、GEOIP 如何实现国内直连,以及如何用扩展配置添加不会被订阅更新覆盖的自定义规则。