让我来说明这个问题.
date -s“30 DEC 2012 02:30:00” – 工作,所以我可以成功设置时钟而不会出错.
ntpq -pn pool.ntp.org – 工作,我从时间服务器获取详细的时间数据,并证明UDP数据包正常运行.
ntpdate -d pool.ntp.org – 调试模式工作,显示大量调试数据并显示当前时间偏移量:
12月30日02:38:56 ntpdate [19267]:步时间服务器208.97.140.69偏移228.234554秒
一切看起来正常,直到:
ntpdate pool.ntp.org – 暂停4.7秒后,返回:
30 Dec 02:41:29 ntpdate [19274]:找不到适合同步的服务器
类似的问题运行ntpd,它不会更新时钟.
在ntpd启动后,ntpq -pn导致所有refid永远停留在.INIT上.这意味着他们无法同步.
/ var / lib / ntp / drift是ntp.conf中的driftfile设置,它是chmod 644并由ntp:ntp拥有,与我所有其他系统一样.
我尝试了十几个其他ntp时间服务器,禁用了iptables防火墙,并确认数据中心没有过滤udp流量.有什么想法阻止ntpd和ntpdate同步我的时钟?
这是带有Intel cpu的专用服务器上的CentOS 6.3 x64.
解决方法
请尝试使用ntpdate -b.它会设定时间,无论它看起来多么不合理.
您可能还需要添加-u标志,这将阻止ntpdate使用特权(< 1024)端口.请注意-u隐含-u!它听起来像-d工作正常. 如果添加-u在工作和非工作之间产生差异,那么在导致这些问题的方式上就会有防火墙. 不幸的是it doesn’t seem to be possible to make ntpd
use an unrestricted port.