ntp服务器问题。很恐慌,然后我就领先了 3 个小时

ntp服务器问题。很恐慌,然后我就领先了 3 个小时

我不确定我设置了什么错误,并且我无法启动和运行值得信赖的 ntp 服务器。注意,这只是一个内网ntp服务器。

服务器是一个 slackware 系统,因此配置文件基于我在那里找到的模板:

interface ignore wildcard
interface listen 127.0.0.1
interface listen eth0
interface listen eth1
server 3.gr.pool.ntp.org iburst
server 1.europe.pool.ntp.org iburst
server 0.europe.pool.ntp.org iburst
server  127.127.1.0 # local clock
fudge   127.127.1.0 stratum 10  
driftfile /etc/ntp/drift
multicastclient 224.0.1.1       # listen on default 224.0.1.1
broadcastdelay  0.008
restrict default kod nomodify notrap noquery nopeer
restrict 3.gr.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 1.europe.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 0.europe.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 192.168.18.0 mask 255.255.255.0 nomodify notrap
restrict 127.0.0.1
logfile /var/log/ntp.log

有关带有注释的conf转储,请参阅: http://pastebin.com/TP0KyRV7

请注意,192.168.18.0 网络是该 ntp 服务器服务的本地 Intranet。

过去几个月的日志片段。我没有看到任何有用的信息。

30 Nov 15:41:12 ntpd[28591]: 194.177.210.54 interface 192.168.201.210 -> (none)
30 Nov 15:41:12 ntpd[28591]: Deleting interface #1 eth0, 192.168.18.10#123, interface stats: received=136483, sent=136483, dropped=0, active_time=7277307 secs
30 Nov 15:41:12 ntpd[28591]: Deleting interface #0 lo, 127.0.0.1#123, interface stats: received=0, sent=0, dropped=0, active_time=7277307 secs
30 Nov 15:41:12 ntpd[28591]: 127.127.1.0 interface 127.0.0.1 -> (none)
30 Nov 15:41:12 ntpd[28591]: peers refreshed
30 Nov 15:41:15 ntpd[28591]: ntpd exiting on signal 15
 1 Dec 13:56:56 ntpd[1650]: Listen normally on 6 multicast 224.0.1.1 UDP 123
 1 Dec 13:56:56 ntpd[1650]: Joined 224.0.1.1 socket to multicast group 224.0.1.1
 5 Dec 22:51:42 ntpd[18694]: Listen normally on 6 multicast 224.0.1.1 UDP 123
 5 Dec 22:51:42 ntpd[18694]: Joined 224.0.1.1 socket to multicast group 224.0.1.1
27 Feb 14:17:23 ntpd[18694]: Deleting interface #5 lo, ::1#123, interface stats: received=0, sent=0, dropped=0, active_time=7226742 secs
27 Feb 14:17:23 ntpd[18694]: Deleting interface #4 eth0, fe80::21a:92ff:fe3a:ac17#123, interface stats: received=0, sent=0, dropped=0, active_time=7226742 sec
s
27 Feb 14:17:23 ntpd[18694]: Deleting interface #3 eth1, fe80::211:6bff:fe32:f77e#123, interface stats: received=0, sent=0, dropped=0, active_time=7226742 sec
s
27 Feb 14:17:23 ntpd[18694]: Deleting interface #2 eth0, 192.168.18.10#123, interface stats: received=120122, sent=120122, dropped=0, active_time=7226742 secs
27 Feb 14:17:23 ntpd[18694]: Deleting interface #1 eth1, 192.168.201.210#123, interface stats: received=6261, sent=7292, dropped=0, active_time=7226742 secs
27 Feb 14:17:23 ntpd[18694]: 155.207.113.227 interface 192.168.201.210 -> (none)
27 Feb 14:17:23 ntpd[18694]: Deleting interface #0 lo, 127.0.0.1#123, interface stats: received=0, sent=0, dropped=0, active_time=7226742 secs
27 Feb 14:17:23 ntpd[18694]: 127.127.1.0 interface 127.0.0.1 -> (none)
27 Feb 14:17:23 ntpd[18694]: peers refreshed
27 Feb 14:17:27 ntpd[18694]: ntpd exiting on signal 15
27 Feb 17:32:45 ntpd[1642]: Listen normally on 6 multicast 224.0.1.1 UDP 123
27 Feb 17:32:45 ntpd[1642]: Joined 224.0.1.1 socket to multicast group 224.0.1.1
12 Mar 22:11:51 ntpd[9153]: Listen normally on 6 multicast 224.0.1.1 UDP 123
12 Mar 22:11:51 ntpd[9153]: Joined 224.0.1.1 socket to multicast group 224.0.1.1
12 Mar 22:11:51 ntpd[9153]: ntpd: time slew +0.000000 s
12 Mar 19:40:09 ntpd[9564]: Listen normally on 6 multicast 224.0.1.1 UDP 123
12 Mar 19:40:09 ntpd[9564]: Joined 224.0.1.1 socket to multicast group 224.0.1.1

但有时 ntp 服务器会停止工作。当我再次查看时,它已经提前了3个小时。我不认为这三个小时是一个随机数。这可能与我处于 EET(或 EEST)时间有关。

BIOS 时间设置为本地时间(如何在 Linux 中检查该时间?)

运行后ntpdate 3.gr.pool.ntp.org,我得到以下信息:

root@halki:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+postmortem.csd. 122.231.59.246   2 u   18   64    1   15.646   21.219   0.471
*ntp.jine.se     192.36.144.22    2 u   16   64    1   78.292    3.687   0.251
+static-ip-85-25 192.168.100.15   2 u   15   64    1   50.748   -2.676   1.071
 LOCAL(0)        .LOCL.          10 l   25   64    1    0.000    0.000   0.000

我的 ntp.conf 有问题吗?

也许与我系统的时区设置有关?

我不知道如何检查这些。我知道几年前我在安装过程中选择了“欧洲/雅典”,但回显时区变量 $TZ 返回一个空字符串。

date目前看来是正确的,但我不能确定它会保持这种状态。

root@halki:~# date
Thu Mar 12 20:22:39 EET 2015

有人可以提供一些关于可能出现问题/要检查什么的指示吗?

编辑

在 slackware linux 中,硬件时钟的配置文件位于/etc/hardwareclock.在我的例子中,这设置为“本地时间”。在启动期间检查此文件,/etc/rc.d/rc.S以便将时钟设置为 UTC 或本地时间。

不过 RTC 似乎有问题。

root@halki:/etc# hwclock --show --debug
hwclock from util-linux 2.21.2
hwclock: Open of /dev/rtc failed: No such file or directory
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.

这看起来不正常。也许我的内核中缺少某些东西,但有人可以验证吗?

答案1

但有时 ntp 服务器会停止工作。当我再次查看时,它已经提前了3个小时。我不认为这三个小时是一个随机数。这可能与我处于 EET(或 EEST)时间有关。

如果这意味着机器重新启动然后时间混乱,可能是因为您的操作系统错误地认为硬件时钟将时间指示为 UTC。然后硬件响应时间增加3小时。

因此,如果重新启动后出现问题,请告诉操作系统硬件将时间存储为本地时间(根据您的日期输出,该时间位于 EET 时区):

# hwclock --localtime

然后调整系统时间date -d,直到得到正确的时间。最后,将该时间保存到硬件时钟中:

# hwclock --systohc

BIOS 时间设置为本地时间(如何在 Linux 中检查该时间?)

hwclock说明此处存储的日期,但它不会告诉您将其视为 UTC 或本地时间是正确的;它希望你通知他这件事。

我不知道如何检查这些。我知道几年前我在安装过程中选择了“欧洲/雅典”,但回显时区变量 $TZ 返回一个空字符串。

您的时区由 打印date。检查/etc/timezone哪个可能包含时区名称,例如欧洲/雅典,或者/etc/localtime可能包含(或链接到包含)时区信息数据的文件;像文件驻留在/usr/share/zoneinfo.

答案2

应该有一个配置文件,/etc指示硬件时钟设置为 UTC 还是本地时间。如果合适的话,应该在重新启动时使用此标志来调整系统时间。在 Ubuntu 上该文件是/etc/default/rcS.

还应该有一个地方可以ntpd在命令启动时向其添加标志。添加-g到标志中,并且ntpd将在重新启动时停止恐慌。默认情况下,如果时钟关闭超过 1000 秒,它将拒绝启动。看起来你已经偏离了好几倍,所以ntpd按照设计会出现恐慌。该-g选项将防止启动恐慌。

相关内容