问题诊断 · 连接

系统时间不对导致机场连不上:TLS 握手失败原理与各平台校时方法

节点全部超时,日志里出现 certificate has expired、x509、handshake failure 或 VMess 的 invalid timestamp,很可能只是设备时间不准。本文解释为什么 TLS 和 VMess 对时间敏感、几分钟的误差为什么就能让所有节点失效、各平台怎么开自动校时,以及虚拟机、双系统、主板电池这些反复出问题的场景。

为什么时间会影响代理

绝大多数现代代理协议在建立连接时都有一步依赖时间:

一般而言,时间误差超过一两分钟就可能出问题,超过几小时几乎必然全部失效。

怎么确认是时间问题

  1. 看日志。Clash / Mihomo 日志出现 x509: certificate has expired or is not yet valid、tls: handshake failure、remote error: tls: bad certificate;sing-box 出现类似的 TLS handshake 错误;v2rayN / Xray 的 VMess 出现 invalid user 或 timestamp 相关字样。
  2. 对时间。打开手机(手机一般会自动跟运营商校时)或访问 time.is,和电脑右下角时间比。注意看秒和分,差一两分钟肉眼不明显。
  3. 协议对比。同一机场的纯 Shadowsocks 节点能用、TLS 类节点全超时,概率很大。
  4. 回想最近做过什么。装过系统、换过主板电池、从休眠恢复、用过虚拟机快照、切过双系统、手动改过时间或时区。

各平台校时

Windows

设置 → 时间和语言 → 日期和时间:

  1. 「自动设置时间」打开;
  2. 「自动设置时区」打开(时区错也会导致显示时间对、实际 UTC 时间错);
  3. 点「立即同步」。显示「同步成功」才算完成。

同步失败的话:

macOS

系统设置 → 通用 → 日期与时间 → 「自动设置时间和日期」打开,时区也设自动。NTP 服务器默认 time.apple.com,国内一般可用;不行时终端里 sudo sntp -sS ntp.aliyun.com 手动同步一次。

Android

设置 → 系统 → 日期和时间 → 「自动设置时间」「自动设置时区」。国内运营商会下发网络时间,一般很准。没有 SIM 卡的平板可能拿不到网络时间,开 Wi-Fi 后系统会用 NTP,但部分国产系统的 NTP 服务器国内不通,手动对一次。

iOS / iPadOS

设置 → 通用 → 日期与时间 → 「自动设置」。被关掉的情况多半是为了某个游戏或 App 的时间作弊,开代理之前先打开。

Linux

timedatectl 查看状态,sudo timedatectl set-ntp true 开启同步。用的是 chrony 或 systemd-timesyncd 的,在配置里把服务器改成国内 NTP。

路由器

OpenClash、ShellCrash 跑在路由器上时,路由器自己的时间也要对。OpenWrt 在「系统 → 系统」里设 NTP 服务器并启用客户端,路由器每次断电重启后时间会重置,NTP 没配好就会出现开机后代理不通、几分钟后自己恢复的现象。

反复出问题的场景

主板电池没电

台式机或老笔记本的 CMOS 电池耗尽,每次断电重启时间都回到出厂日期(常见 2000 年或某个固定年份)。开机后在联网校时完成前,所有 TLS 节点都不通。换一颗 CR2032 电池解决根本问题;临时办法是开机后手动同步一次。

虚拟机

虚拟机休眠、暂停、恢复快照后,客户机的时钟停留在挂起时刻,不会自动追上。表现为「虚拟机里代理突然全断,宿主机正常」。

处理:安装虚拟机增强工具(VMware Tools、VirtualBox Guest Additions、Parallels Tools、Hyper-V 集成服务)并开启「与宿主机同步时间」;或者在虚拟机里也开 NTP 自动校时;恢复快照后手动校一次。

Windows 与 Linux 双系统

Windows 默认把主板硬件时钟当作本地时间,Linux 默认当作 UTC。两边切换后其中一方显示的时间会差一个时区(国内是 8 小时),而 8 小时足以让所有 TLS 和 VMess 握手失败。

统一一种即可:

手动改过时间

为了游戏、试用期、某个 App 的限制手动调过时间的,改回自动设置。有的用户忘了这件事,排查了半天节点和订阅。

时区错

时间看起来对,但时区设错了,实际 UTC 时间偏了几小时。TLS 校验用的是 UTC,所以照样失败。确认时区是「(UTC+08:00) 北京」而不是别的 +8 地区之外的值。

长时间关机的设备

放了几个月没开的笔记本、备用手机、电视盒子,开机后时间还停在上次关机那天。手机连上网后一般几秒内自动校准,但电视盒子和部分平板不一定,开机后先进设置看一眼时间,再打开代理。路由器方案尤其明显:路由器断电一晚,第二天早上开机后代理不通,几分钟后恢复,就是 NTP 校时还没完成。

国内 NTP 不通

少数网络环境下 NTP 端口(UDP 123)被运营商或公司网络限制,自动校时一直失败但系统不会明显提示。这时手动改 NTP 服务器也没用,只能对着手机手动把时间调准,然后关掉再打开自动校时,等网络条件允许时它会自己追上。

时间对了还是连不上

校时之后重新测延迟。如果仍然全超时,那就不是时间问题,按正常流程排查,参考节点全部超时和连上了但打不开网页。各协议对时间的依赖差异见代理协议详解。

速查

现象时间相关的可能
日志 x509 / handshake / timestamp时间或时区错
只有 SS 能用TLS / VMess 节点因时间失效
开机前几分钟不通,之后恢复主板电池或 NTP 慢
虚拟机里突然全断休眠 / 快照后时钟没追上
双系统切换后不通RTC 本地时间 / UTC 不一致

相关

节点全部超时 · Clash Verge Rev 教程

常见问题

时间差几分钟真的会导致所有节点连不上吗?

会。VMess 默认只允许前后 90 秒误差,TLS 证书校验也依赖本机时间。超出范围服务器直接拒绝握手,表现就是全部超时。

怎么判断是不是时间问题?

看日志有没有 certificate、x509、handshake、timestamp 字样;同时把设备时间和手机或网页时间对一下,差超过一分钟就先校时。

开了自动校时还是不对?

自动校时依赖 time.windows.com 等服务器,国内有时连不上。手动点一次「立即同步」,或者把 NTP 服务器改成 ntp.aliyun.com、ntp.ntsc.ac.cn。

虚拟机里的时间老是跑偏?

虚拟机休眠恢复后时钟不会自动追上。装虚拟机增强工具(VMware Tools、VirtualBox Guest Additions)开时间同步,或在虚拟机里也开 NTP。

双系统每次切换时间就差 8 小时?

Windows 默认把硬件时钟当本地时间,Linux 当 UTC。在 Linux 里执行 timedatectl set-local-rtc 1,或在 Windows 注册表里设 RealTimeIsUniversal,二者统一即可。


本文为信息整理与个人经验,不构成购买建议。机场政策与软件界面可能变化,以官方为准。发现过期内容请 联系纠错。

继续阅读

回到 问题诊断 · 机场推荐 2026 · 排行榜