I’d tell you a joke about NTP but I don’t have the time
1. 什么是 NTP
网络时间协议(Network Time Protocol,简称NTP)是一种用于同步计算机系统时间的网络协议。它通过与时间服务器通信,确保设备的时间与标准时间(如UTC)保持一致。NTP在企业IT环境中至关重要,尤其是在分布式系统、日志记录、安全认证和交易处理等领域,时间同步直接影响系统的可靠性和安全性。
NTP采用分层结构,分为多个Stratum级别。Stratum 1是直接连接到高精度时间源(如GPS或原子钟)的服务器,而Stratum 2及以下则从上一级服务器同步时间。通常,普通设备会连接到Stratum 2或Stratum 3服务器以获取时间。
- NTP 协议自 1985 年诞生,目前主流为 NTPv4(RFC 5905,2010 年批准),至今仍广泛使用(包括在严格的 Linux、BSD、NetBSD、macOS 系统)
- 2020 年发布的 Network Time Security (NTS, RFC 8915),为 NTP 增加了用 TLS 握手+AEAD 扩展字段的认证能力,已逐步纳入 Red Hat、Debian、FreeBSD 等发行版预设配置中
- 2019–2025 年间,Linux 系统推荐使用 Chrony(Chronyd ≥ 4.x) 替代传统
ntpd
,因其对低带宽链路、虚拟机而言能更快收敛,更好处理时钟抖动问题,且支持硬件时间戳、更稳定地与 NTS 集成
2. 北京时间的源头 —— 授时链条全景图
国家授时中心──中国科学院(NTSC / CAS) ↑ 多边卫星补时系统(多 GNSS,包括北斗、GPS) ↑ Stratum‑1 公共 NTP 和云服务商 + 校内教育网 Server
- 中科院国家授时中心(NTSC)自 2018 年将 ntp.ntsc.ac.cn 纳入试运行服务,是最权威的国家标准时间来源,但带宽有限,不建议用作大规模校内站点使用,仅供小规模信任环境参考
- China NTP‑Pool (
cn.pool.ntp.org
,与 Pool‑NTP 项目同步)依用户地理位置和延迟自动匹配可用服务器,是最稳定的高容量选择 - 主流云厂商(国内公网服务器):
- 阿里云 NTP:统一为 ntp.aliyun.com(由多个 CNAME alias 指向 time.pool.aliyun.com)
- 腾讯云 NTP:time1.cloud.tencent.com … time5.cloud.tencent.com(一共五台 IPv4)
- 教育网内常见高校备选(推荐使用
edu.ntp.org.cn
快速域名,自动封装教育网 IP)。
3. 中国常用的NTP服务器(2025年更新)
由于网络环境和政策原因,中国境内的设备通常需要使用本地或可访问的NTP服务器。以下是2025年推荐的常用NTP服务器列表,这些服务器经过广泛使用和验证,具有较高的可靠性和稳定性:
- ntp.aliyun.com
由阿里云提供,适合中国大陆用户,延迟低,稳定性高。阿里云的NTP服务支持大规模设备同步,广泛应用于企业环境。 - time.windows.com
微软提供的NTP服务器,虽然服务器位于海外,但在中国部分地区仍可访问,适合混合云环境下的Windows设备。 - ntp.tencent.com
腾讯云提供的NTP服务,覆盖中国大陆多个地区,适合腾讯云用户或其他需要低延迟同步的场景。 - cn.pool.ntp.org
这是NTP池项目的一部分,专门为中国用户提供服务。通过DNS解析,自动选择距离最近的服务器,适合跨区域部署的设备。 - time.apple.com
苹果提供的NTP服务器,适合macOS和iOS设备用户,在中国部分地区可访问。
注意事项:
- 由于网络防火墙(GFW)的影响,部分海外NTP服务器(如pool.ntp.org的某些节点)可能在中国大陆无法访问,建议优先选择国内服务商的NTP服务器。
- 建议配置多个NTP服务器地址以提高冗余性,避免单一服务器不可用导致同步失败。
- 对于企业环境,建议在内部部署NTP服务器(如使用Stratum 1设备或从云服务同步),以减少对公共服务器的依赖并提高安全性。
4. 客户端配置推荐(Chrony × Windows W32Time)
✅ Linux(Chrony)
Debian / RHEL 10 以上系统默认使用 Chrony,可编辑 /etc/chrony.conf
:
server ntp.aliyun.com iburst maxpoll 10 minpoll 6 server cn.pool.ntp.org iburst server ntp.tencent.com iburst driftfile /var/lib/chrony/drift # 如果 NTS 可用,则添加报文项: # server time.aliyun.com iburst nts
iburst
可加速启动时同步收敛;minpoll
/maxpoll
控制探测间隔(min 64 秒,max 1024 秒)- 如将服务器支持 NTS(且你信任该厂商),可启用
nts
关键字并设置ntsdumpdir /var/lib/chrony/
。
安装后:
sudo systemctl enable chronyd sudo systemctl start chronyd chronyc sources -v chronyc tracking
✅ Windows(自带 W32Time 修改服务器)
- Windows 10 / 11 修改注册表或通过 PowerShell 设置 public server:
w32tm /config /manualpeerlist:"ntp.aliyun.com pool.ntp.org" /syncfromflags:manual /update w32tm /resync
- 注意 Windows 的时钟服务不支持 NTS,也没有 iburst,因此不适合对高精度要求的 ECS/VPS。
5. 安全升级:NTS、闰秒处理及选型注意
NTS:NTP 的 TLS 加固方案
- Network Time Security (RFC 8915) 提供经 TLS 握手的密钥协商机制(NTS-KE)+ AEAD 扩展字段验证,可抵抗中间人攻击与时钟重放欺骗。目前已有 Netnod、PTB、USNO 等时钟服务商开放 NTS;Chrony 客户端可启用
nts
模式与之通信;但在国内厂商如阿里、腾讯暂未公开支持 NTS,仍需监测未来动态。
闰秒与负闰秒:2025–2029 所面临的小尾巴
- 截至 2024 年 12 月末,已有 27 个 UTC 正方向插入闰秒,最近一次发生在 2016‑12‑31
- 科学测算地球自 1990 年后旋转速度恢复加快,有可能在 2029 年出现 负闰秒 — 第一次让 UTC 减一秒以满足与天文 UT1 的差距约束
- 谷歌、亚马逊、Meta 等云厂商自 2022 年起,采用 “闰秒 smear” 方式将“秒”平滑分布到 17 小时内,避免系统因瞬时倒退或跳跃而崩溃
- 建议高容错业务部署考虑使用 Chrony 的渐变模式,通过
slew
平滑校正系统时间。
防护 NTP 放大攻击与 DoS
- 若你所在网络开放 Stratum‑1 / Stratum‑2 服务器服务公网,务必在配置
ntpd
或chronyd
时加入:
restrict default ignore restrict 127.0.0.1 restrict your.trusted.subnet mask 255.255.255.0 nomodify notrap
- 并开启
iburst
、降低响应频率,避免 UDP 反射(amplification)攻击。
6. 常见 FAQ & 实践建议
问:是否应该只用国家授时中心服务器?
答:不建议。中科院 ntp.ntsc.ac.cn 是 Stratum‑1 源,但无负载均衡且访问量有限,建议优先部署阿里云、腾讯云的高并发服务作为主用源。
问:我的设备只支持 IPv4,还要配置 IPv6 吗?
答:可选。中国多数公共 NTP 都支持双栈;IPv6 地址通常延迟略小,信息更对齐公网趋势。
问:能否 100% 拒绝 time.windows.com
之类的微软服务器?
答:可以。w32tm /manualpeerlist
配置后,只使用你的自选源。
问:未来是否会废除闰秒?
答:联合国时务总会已讨论 2035 年后停止添加闰秒。但目前 UTC 尚未取消该机制;国内系统仍按现行标准执行。