NTP 本地查询总是超时

NTP 本地查询总是超时

我有一台 CentOS 6.4 服务器,它没有任何 iptable 规则,它使用以下配置运行 NTP 守护程序作为服务:

  driftfile /var/lib/ntp/drift

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

  restrict default ignore
  restrict 127.0.0.1

当我运行ntpq查询对等体时,收到以下响应:

ntpq> peers
localhost.localdomain: timed out, nothing received

dig表明:

localhost.localdomain.  86400   IN  A   127.0.0.1

为什么 ntp 查询不起作用?

答案1

在 RHEL / CentOS 6 和 7 上,无论出于何种原因,ntpq都会尝试查询 ::1 处的 IPv6 环回,而不是 127.0.0.1 处的 IPv4 环回。考虑到这一点,我在文件中添加了以下行/etc/ntp.conf

restrict ::1

保存文件然后重新启动ntpd

service ntpd restart

现在命令:

ntpq -p

ntpq按预期工作。(这与在命令行模式下运行然后发出命令相同peers。)

我更喜欢这个解决方案,因为您不必ntpd通过潜在的公共以太网接口启用通信,这可能是一个安全问题。

答案2

我原本期望ntpq通过 127.0.0.1 查询本地服务器,但结果是通过以太网网络接口查询本地服务器。

虽然我不知道为什么本地 ntp 查询必须通过以太网,但在配置文件中我添加了

restrict <eht0 ip address>

现在 NTP 运行正常。

答案3

读到第二个答案后,我意识到这个问题的原因可能出在 /etc/hosts 上。然后在 /etc/hosts 上添加 localhost 并重试,成功了。

127.0.0.1       localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

前:

ems@rack6-storage-2:~$ sudo service ntp stop ; sudo ntpdate 0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org ; sudo service ntp start ; PATH=/usr/bin:/usr/sbin ntpdc -p
 * Stopping NTP server ntpd
   ...done.
18 Dec 08:18:31 ntpdate[35729]: adjust time server 202.156.0.34 offset -0.000467 sec
 * Starting NTP server ntpd
   ...done.
localhost.sdcorp.global.sandisk.com: timed out, nothing received
***Request timed out

后:

ems@rack6-storage-2:~$ sudo vim /etc/hosts
ems@rack6-storage-2:~$ sudo service ntp stop ; sudo ntpdate 0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org ; sudo service ntp start ; PATH=/usr/bin:/usr/sbin ntpdc -p
 * Stopping NTP server ntpd
   ...done.
18 Dec 08:27:09 ntpdate[36056]: adjust time server 202.156.0.34 offset 0.015872 sec
 * Starting NTP server ntpd
   ...done.
     remote           local      st poll reach  delay   offset    disp
=======================================================================
=golem.canonical 10.242.43.103   16   64    0 0.00000  0.000000 4.00000
=frontier.innola 10.242.43.103   16   64    0 0.00000  0.000000 4.00000
=sg01.7asecond.c 10.242.43.103   16   64    0 0.00000  0.000000 4.00000
=time2.maxonline 10.242.43.103   16   64    0 0.00000  0.000000 4.00000
=pontoon.latt.ne 10.242.43.103   16   64    0 0.00000  0.000000 4.00000

答案4

在建议“重新安装”之前,人们应该更仔细地阅读给定的配置。这个错误非常明显。

据我所知,您已经配置了 NTP服务器但你指出的是水池

服务器 0.pool.ntp.org

尝试

池 0.pool.ntp.org

或者使用专用服务器而不是池的“服务器”。

相关内容