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解析的部分报文信息如下:
报文分析:
最后通过设置ntp服务器的基准时钟解决:
pool ntp1.aliyun.com iburst pool ntp2.aliyun.com iburst