ntpdate和ntpd无法在Linux上同步时钟

前端之家收集整理的这篇文章主要介绍了ntpdate和ntpd无法在Linux上同步时钟前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的一台服务器出了问题. ntpd和ntpdate无法正常工作,但调试根本没有显示任何错误.起初我以为可能本地或网络防火墙阻止UDP端口123,但事实并非如此 – 该服务器可以将UDP端口123(ntp协议)与Internet通信并获得答案.

让我来说明这个问题.

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(和ntpd)将拒绝(轻松)设置时间.两个应用程序都会尝试慢慢调整您的时间,以免混淆您的系统或任何可能无法很好地处理大时间跳转的应用程序.

请尝试使用ntpdate -b.它会设定时间,无论它看起来多么不合理.

您可能还需要添加-u标志,这将阻止ntpdate使用特权(< 1024)端口.请注意-u隐含-u!它听起来像-d工作正常. 如果添加-u在工作和非工作之间产生差异,那么在导致这些问题的方式上就会有防火墙. 不幸的是it doesn’t seem to be possible to make ntpd use an unrestricted port.

猜你在找的Linux相关文章