NTP 27 秒差异

NTP 27 秒差异

我将 DMZ 服务器配置为 NTP 服务器,以连接到外部 NTP 服务器并同步公司网络中的所有设备的时间。以下是 DMZ 服务器中的 ntp.conf 文件的内容

server 127.127.1.0
fudge 127.127.1.0 stratum 6
driftfile /var/lib/ntp/ntp.drift

logfile /var/log/ntpd.log

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.asia.pool.ntp.org iburst
server 1.asia.pool.ntp.org iburst
server 2.asia.pool.ntp.org iburst
server 3.asia.pool.ntp.org iburst
server time.google.com iburst

restrict -4 default kod nomodify notrap
restrict 127.0.0.1
restrict ::1

但是,阿联酋当地时间(服务器所在时区)与服务器“日期”之间有 27 秒的差异。我多次执行以下命令并重新启动服务器。这是 Debian 9.6 服务器。我在服务器中进行了所有软件包更新,但仍然有 27 秒的差异。

/etc/init.d/ntp stop
ntpdate -u 0.asia.pool.ntp.org
/etc/init.d/ntp start
hwclock -w
ntpq -p

ntpq -p输出如下:

~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 LOCAL(0)        .LOCL.           6 l  709   64    0    0.000    0.000   0.000
-ntp.paina.net   131.113.192.40   2 u   30   64  377  220.331   31.973   0.491
-119.28.206.193  100.122.36.196   2 u  107   64  346  151.095    8.540   8.537
+uk.cluster.ntp. 185.134.196.169  2 u   28   64  377  133.718   -2.215   0.278
+t2.time.sg3.yah 106.10.133.18    2 u   28   64  377   95.837    5.051   0.602
*time2.google.co .GOOG.           1 u   30   64  377  163.875   -6.637   0.338

答案1

我在 FreeBSD 上遇到了同样的问题,并发现了以下问题:

27 正好是 1970 年 1 月 1 日(Unix 时钟开始计时)与今天之间的闰秒数。因此,问题很可能与闰秒有关。要检查的事项:

  • 闰秒数据库文件

ntpd 应该安装闰秒数据库文件。守护进程在找到此文件时会向系统日志报告其是否正确。

  • 上游时间服务器

确实存在一些时间服务器,它们提供的时间用于与我们这种服务器不同的目的,并且它们可能以不同的方式处理闰秒。用于将ntpdate -q上游时间服务器的意见与互联网上知名的服务器进行比较。

  • 时区数据库

时区数据库可以支持闰秒,也可以不支持闰秒。如果您以某种方式安装了错误的版本,您的本地时间将出现(当前)27 秒的偏移。比较date和时,可以看到差异TZ=UTC date

答案2

这可能不是解决您原始问题的方法,但您应该更改配置中的几件事:

  1. 删除已弃用的本地时钟驱动程序,改用孤立模式。将:server 127.127.1.0和替换fudge 127.127.1.0 stratum 6tos orphan 6。(请参阅网络时间协议 (NTP) 文档有关孤儿模式的更多信息。)

  2. 使用任何一个NTP 池或者谷歌的时间服务,但是不是都。出现这种情况的原因是,你混合了闰年模糊时间源和非闰年模糊时间源。

相关内容