NTP 正在运行,系统时钟仍然不准时 - 发生了什么?

NTP 正在运行,系统时钟仍然不准时 - 发生了什么?

Debian Stable (5.0.3) 服务器正在运行ntpd,并连接到互联网。但系统时钟仍有大约 5 分钟的误差。

$ /etc/init.d/ntp status
NTP server is running..

相关部分(我认为)/etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

我知道 NTP 不一定能立即使时钟准时。但是,您需要等待多少小时或多少天才能合理地预期 NTP 已完成其工作并同步时钟?

我是否缺少其他配置文件或选项,或者只是做错了什么?NTTP 协议(而不是例如ntpdate) 是适合此目的的工具吗? 有没有快速的方法来检查配置是否正确以及所选的 NTP 服务器是否返回正确的时间?

编辑:输出为ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.nexellent.n .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-madrid .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 sinister.wzw.tu .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-frankf .INIT.          16 u    - 1024    0    0.000    0.000   0.000

编辑2:结果ntpdate -u 0.europe.pool.ntp.org命令(由 brent 建议) 返回

17 Dec 17:37:29 ntpdate[14195]: no server suitable for synchronization found

...即使在其他机器上该命令也能正常工作。因此,我们将查看此特定服务器(位于不同的网络中,通过 VPN 访问)的网络/防火墙设置。

解决:罪魁祸首不是我们服务器上的本地防火墙,而是周围网络某处的防火墙设置。因此,我们要求服务器托管提供商允许我们的机器使用 NTP,现在它运行正常。例如,ntpq -p现在返回:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.eunet.fi    192.36.144.23    2 u   10   64    1    1.043    0.258   0.001
 ns2.eunet.fi    62.142.10.44     2 u    9   64    1    0.671    0.135   0.001
 ns3.eunet.fi    62.142.10.44     2 u    8   64    1    0.750    0.277   0.001

(我们还切换到托管公司重新启用的 eunet.fi 服务器,但这不是重点。)brent 的回答很有帮助,因为它们让我意识到问题出在网络访问 NTP 服务器,而不是 NTP 配置本身。谢谢大家!

答案1

停止 ntpd,运行ntpdate -u 0.europe.pool.ntp.org3 次,启动 ntpd,检查ntpq -p,延迟、偏移和抖动应该非零。

答案2

如果我不得不猜测原因,并且假设您有网络连接并且可以毫无问题地看到您的 NTP 主机,那么可能是您已经漂移到了一个很大的值。如果时间差大于 X(抱歉,我不记得 X 是什么了),则会打印警告并且时间不会同步。您可以检查您的系统日志消息以了解这种情况。

如果是这种情况,请停止 NTP,运行 ntpdate 主机并重新启动 NTPD,这将强制时间同步,然后开始保持同步,如果继续出现那么大的偏差,则可能存在硬件问题。

答案3

“reach”列为 0 表示它无法与服务器通信 - irc 它会逐渐将位移入的位来显示最后 8 次尝试的进展情况(因此 377 是好的,0 是坏的)。

答案4

稍微偏离主题...但请记住,NTP 没有安全性。想象一下中间人攻击会对世界上的大量计算机造成什么影响。

相关内容