系统时间不准,导致 Clash 节点全部连不上
这是个特别隐蔽、又特别好修的故障:所有节点同时失败,怎么换都连不上,日志里满是握手/TLS 错误。很多人会怀疑机场跑路、网络被封,折腾半天。其实罪魁可能只是你的系统时间差了几分钟。这篇讲清原理和各平台一键校准。
典型症状
- 前一秒还好好的,重启/休眠唤醒后所有节点全红、全部连不上。
- 日志反复出现
handshake failed、tls: ...、certificate之类的字样。 - 换节点、换机场、重装客户端都没用——因为问题不在它们身上。
只要是"全部节点一起挂",就高度怀疑时间或 DNS 这种全局性因素,而不是某个节点的问题。怎么读这些日志见 看懂日志与连接。
时间为什么这么重要
现代代理协议普遍用 TLS 加密,握手时双方要校验证书有效期、并对时间戳做校验。如果你的系统时间和真实时间差得多(比如电池没电后主板时间复位、双系统时区写乱),服务器会认为"这个握手不合法"而拒绝——表现就是所有走 TLS 的节点集体失败。
原理示意图时间偏差越界,服务器判定握手不合法,所有 TLS 节点一起挂。
各平台校准时间
- Windows:「设置 → 时间和语言 → 日期和时间」,确认时区正确,点「立即同步」。还不行就在服务里确保
Windows Time服务是启动的。 - macOS:「系统设置 → 通用 → 日期与时间」,打开「自动设置日期与时间」。
- Linux:执行
sudo timedatectl set-ntp true开启网络时间同步,用timedatectl确认时区和同步状态。
# Linux 快速校准
sudo timedatectl set-ntp true
timedatectl # 查看 NTP 是否 active、时间是否同步
校准后通常立刻恢复,所有节点变绿。如果时间正确却仍全部失败,再去查 DNS 或机场状态(见 连不上网 10 步)。
预防
- 主板电池:台式机时间老是复位,多半是主板纽扣电池没电了,换一颗即可根治。
- 双系统时区冲突:Windows 和 Linux 双系统时,对硬件时钟的理解不同会导致时间错乱,统一设置可避免。
- 保持自动同步开启:别手动关掉系统的网络对时。
记住这条规律:个别节点挂 = 节点问题;全部节点同时挂 = 先查时间和 DNS。这一条能帮你少走很多弯路。
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。