客户端可以访问ntp时钟源,时间却一直不同步的问题

2024-09-06 12:10:52 浏览数 (2)

        ntp时钟源通常是通过开放123 的udp端口对外提供ntp服务的,udp端口的访问可以通过nc -uvz xx.xx.xx.xx 123 端口进行验证,验证发现ntp时钟服务的123端口是开放的,也没有防火墙拦截123端口,但为什么客户端不同步ntp时钟源呢,这个ntp时钟源仅仅是局域网的一台机器而已。

        客户端采用的是chrony,正常情况下执行systemct restart chrony,然后通过systemctl status chrony 是可以看到如下的信息的:

master chronyd[23833]: Selected source 172.21.xx.xx

但是使用出问题的这台ntp服务器的客户端却一直没有显示上面的提示提示,通过journalctl -xe | grep chrony 也没有看到有用的信息,最好只能通过tcpdump报文抓取ntp的报文,最后发现了问题:

由于NTP服务器自身没有同步到一个有效的上游时间源,它无法提供可靠的时间服务给客户端。客户端检测到这一点后,将不会从该服务器同步时间。

用wireshark解析的部分报文信息如下:

 报文分析:

  1. Peer Clock Stratum: unspecified or invalid (0) 这意味着NTP服务器没有同步到一个有效的上游时间源。一个正常的NTP服务器应该有一个有效的Stratum值(通常是1到15),这表示它距离原始时间源的距离。
  2. Reference ID: NULL Reference ID是NTP服务器所同步的时间源的标识。在这里,它被标记为NULL,这意味着服务器没有成功同步到任何时间源。
  3. Reference Timestamp: NULL 这个时间戳应该是NTP服务器最后一次从其上游时间源接收到的时间。如果它是NULL,则表明服务器从未成功地从上游时间源接收过时间。
  4. Leap Indicator: unknown (clock unsynchronized) 这表明NTP服务器的时钟是未同步的,因此它无法提供准确的时间信息。
  5. Origin Timestamp: Sep 28, 2092 06:11:37.564591642 UTC 这个时间戳远远超出了当前时间,通常这不应该发生。这可能是由于服务器内部的问题或错误配置导致的。

 最后通过设置ntp服务器的基准时钟解决:

pool ntp1.aliyun.com iburst pool ntp2.aliyun.com iburst

0 人点赞