NTP正在运行,系统时钟仍未及时显示-有什么用?


24

Debian Stable(5.0.3)服务器正在运行ntpd,并已连接到Internet。尽管如此,系统时钟还是错了大约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已完成其工作并同步了时钟?

我是否缺少其他配置文件或选项,或者只是做错了什么?是NTP(而不是如用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命令(由布伦特建议)返回

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服务器,但这不是重点。)布伦特答案中的命令很有用,因为它们使我意识到问题出在对NTP服务器的网络访问上,而不是在NTP配置中本身。感谢大家!


1
'ntpq -p'的输出是什么?
jscott

Answers:


23

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


1
并且“时间”字段应指示自上次收到数据包以来的时间。
jscott

ntpdate命令返回类似“ 17 Dec 17:37:29 ntpdate [14195]:找不到适合同步的服务器”的信息。但是,在其他计算机上,相同的命令也会提供有意义的信息!我开始怀疑此特定服务器的某些防火墙设置会导致问题...
Jonik

我们明天将看看是否可以整理出这些网络/防火墙设置。我现在会接受这一点,因为问题很可能与那些问题有关。感谢您为我指明正确的方向!
约尼克,

3
ntpdate命令可以正常工作并同步我的时钟,但是所有值仍在0重启后仍然存在ntp。如果我手动但不使用它,为什么会起作用ntpd?我在Debian顺便说一句。
Mike

从ntpdate执行此操作而不是使用ntp纠正问题,这从长期来看是毫无用处的。而且我不知道为什么要运行它三次。
Florian Heigl

1

如果我不得不猜测为什么并假设您具有网络连接能力,并且可以毫无问题地看到NTP主机,那么可能是您已将价格推高了。如果时间差大于X(对不起,我不记得X是什么),则将打印警告,并且时间将不同步。您可以在这种情况下查看系统日志消息。

如果是这种情况,请停止NTP,运行ntpdate host并重新启动NTPD,这将强制时间同步,然后开始使其保持同步,如果您继续偏移太多,则可能是硬件问题。


谢谢。在这种情况下,问题似乎是,我们不能看到没有问题的NTP服务器-看评论布伦特的答案:serverfault.com/questions/95342/...
Jonik

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.