网络时间协议及国内常用NTP服务器

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服务器列表,这些服务器经过广泛使用和验证,具有较高的可靠性和稳定性:

  1. ntp.aliyun.com
    由阿里云提供,适合中国大陆用户,延迟低,稳定性高。阿里云的NTP服务支持大规模设备同步,广泛应用于企业环境。
  2. time.windows.com
    微软提供的NTP服务器,虽然服务器位于海外,但在中国部分地区仍可访问,适合混合云环境下的Windows设备。
  3. ntp.tencent.com
    腾讯云提供的NTP服务,覆盖中国大陆多个地区,适合腾讯云用户或其他需要低延迟同步的场景。
  4. cn.pool.ntp.org
    这是NTP池项目的一部分,专门为中国用户提供服务。通过DNS解析,自动选择距离最近的服务器,适合跨区域部署的设备。
  5. 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 服务器服务公网,务必在配置 ntpdchronyd 时加入:
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 尚未取消该机制;国内系统仍按现行标准执行。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注