NTP

NTP端口指南:UDP 123上的时间同步

了解 NTP 如何保持系统同步、UDP 123 何时应可达、如何测试时钟漂移以及如何防止 NTP 放大滥用。

默认端口
123
协议
UDP
主要用途
网络时间同步

NTP 端口是什么?

NTP(即网络时间协议)可跨服务器、工作站、网络设备、数据库、日志和分布式系统同步时钟。标准 NTP 使用 UDP 端口 123,客户端向时间服务器请求准确时间并逐渐调整本地时钟。

  • 端口 123 是默认 NTP 端口

    大多数操作系统、路由器、管理程序和时间设备都使用 UDP 123 进行 NTP 客户端和服务器通信。

  • 准确的时间支持安全和操作

    身份验证、证书、日志、数据库、事件时间线和分布式系统都依赖于时钟足够接近以达成一致。

NTP 工作原理

NTP 客户端定期通过 UDP 123 向一个或多个时间服务器发送请求。服务器返回时间戳,让客户端估计偏移、延迟和抖动,然后客户端调整其本地时钟,而不会进行破坏性跳跃,除非漂移太大。

NTP 部署通常分层排列。 Stratum 0 是参考时钟,例如 GPS 或原子源。层 1 服务器直接连接到这些引用,而较低层服务器将时间进一步分配到网络中。大多数组织应使用受信任的上游源并为自己的系统提供内部 NTP。

NTP 客户端与 NTP 服务器

NTP 客户端需要对其配置的时间源进行 UDP 123 的出站访问。 NTP 服务器需要来自其要服务的客户端的入站 UDP 123。这些是不同的防火墙问题,将它们混合起来是导致时间同步中断的常见原因。

工作站和应用程序服务器通常仅充当客户端。域控制器、网络时间设备、监控基础设施和内部时间中心可以充当其余设备的服务器。

何时应打开端口 123

允许来自需要与可信外部或内部时间源同步的系统的出站 UDP 123。仅在有意向已知客户端提供 NTP 的服务器上允许入站 UDP 123。

不要将 NTP 服务器广泛暴露在互联网上,除非它有意作为具有容量、速率限制、监控和滥用控制的公共时间服务来运行。配置错误的公共 NTP 可能会被滥用于反射和放大攻击。

开启 NTP 之前

在允许 UDP 123 之前,确定哪些系统是客户端、哪些系统是服务器以及哪些上游时间源是可信的。确认您的环境是否使用 chrony、systemd-timesyncd、ntpd、Windows 时间服务、域层次结构或专用设备。

端口检查器可以帮助实现可达性,但时间同步还必须在协议和时钟级别进行验证。使用 chronyc、ntpq、w32tm、timedatectl 或监控数据来确认偏移、层、源选择和漂移。

如何在 Windows、Linux 和网络设备上配置 NTP

在 Windows 域上,Windows 时间服务通常通过域层次结构同步域成员,并根据受信任的上游源配置 PDC 模拟器。独立的 Windows 服务器在服务时可以配置 w32tm 和 UDP 123 的防火墙规则。

在 Linux 上,chrony 在现代发行版中很常见,同时 ntpd 和 systemd-timesyncd 也出现了。配置可信池或内部服务器,仅在主机提供时间的情况下允许 UDP 123,并监视偏移量和源运行状况。

在可能的情况下,在网络设备、点交换机、路由器、防火墙和内部 NTP 源的设备上。准确的设备时间使日志、证书、VPN 和事件调查更加可靠。

  • 客户端路径:系统需要出站 UDP 123 到受信任的时间源。
  • 服务器路径:时间服务器仅需要来自预期客户端网络的入站 UDP 123。
  • 源策略:使用受信任的上游、内部时间中心或设备,而不是随机的未经审核的服务器。
  • 健康检查:监控整个队列的偏移、层、抖动、可达性和源变化。

如何测试NTP端口123

首先检查客户端和预期时间服务器之间的 UDP 123 是否可达。然后根据平台,使用 chronyc 跟踪、chronyc 源、ntpq -p、timedatectl timesync-status 或 w32tm /query /status 验证实际同步。

如果您操作 NTP 服务器,请从已知的客户端网络进行测试,并确认未经授权的网络无法查询它。对于面向互联网的服务,请注意请求量和响应模式,因为仅可达性并不能证明配置安全。

测试 NTP 端口 123

NTP常见故障处理案例

如果 NTP 未同步,则客户端可能会被阻止使用 UDP 123、使用错误的服务器、由于高偏移量而拒绝源或无法解析时间服务器主机名。如果主机时间、来宾工具和 NTP 相互冲突,虚拟机也会出现漂移。

如果服务器可访问,但客户端仍然漂移​​,请检查层、跳跃状态、源选择、防火墙状态、NAT 行为以及是否同时配置多个时间系统。对于 Windows 域,请在单独更改每个主机之前验证域时间层次结构。

NTP 安全检查表

限制谁可以查询您的 NTP 服务器、禁用过时的高放大命令、保持 NTP 软件修补以及监控异常流量峰值。优先选择内部时间分配,而不是让每个主机查询随机的公共服务器。

对于重要环境,使用多个可信时间源,对过度偏移发出警报,记录权威时间路径,并在事件响应检查中包含时间同步。错误的时间可能会破坏证书、身份验证、日志关联和计划的作业。

常见问题

NTP 使用什么端口?

NTP 默认使用 UDP 端口 123。客户端通过 UDP 123 向服务器发送时间请求,服务器在向客户端提供时间时侦听 UDP 123。

NTP TCP 还是 UDP?

标准 NTP 使用 UDP,而不是 TCP。如果您正在测试 NTP,请确保您的防火墙和诊断工具考虑了 UDP 123。

端口 123 是否应该向互联网开放?

仅当您有意运行具有速率限制、监控和足够容量的公共 NTP 服务时。大多数组织应将入站 UDP 123 限制为受信任的内部客户端。

为什么端口 123 可以访问,但时间仍然错误?

可达性只是 NTP 的一部分。检查所选源、偏移、层、抖动、DNS、防火墙方向、虚拟机时间设置以及其他时间服务是否覆盖时钟。