Назад | Перейти на главную страницу

Локальный запрос 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-запрос?

В RHEL / CentOS 6 и 7 по любой причине ntpq пытается запросить петлю IPv6 по адресу :: 1 вместо петли IPv4 по адресу 127.0.0.1. Имея это в виду, я добавил эту строку в свой /etc/ntp.conf файл:

restrict ::1

Сохранил файл, затем перезапустил ntpd

service ntpd restart

теперь команда:

ntpq -p

работает как положено. (Это то же самое, что и бег ntpq в режиме командной строки, а затем peers команда.)

Я предпочитаю это решение, поскольку вам не нужно включать связь с ntpd через потенциально общедоступный интерфейс Ethernet, что может быть проблемой безопасности.

я ожидал ntpq для запроса локального сервера через 127.0.0.1, но оказывается, что он запрашивает локальный сервер через сетевой интерфейс Ethernet.

Хотя я не знаю, почему локальный ntp-запрос должен проходить через Ethernet, но в файле конфигурации я добавил

restrict <eht0 ip address>

И теперь NTP работает нормально.

Отключите IPv6, если вы его не используете, добавьте следующее в файл конфигурации интерфейса:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0           
....
IPV6INIT="no"
....

Затем примените, перезапустив сеть и службы ntpd. Это мне помогло.

Когда я прочитал второй ответ, я понял причину этой проблемы, которая, возможно, связана с / etc / hosts. Затем добавьте localhost в / etc / hosts и повторите попытку, все работает.

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

Людям следует более внимательно прочитать данные конфиги, прежде чем они предложат «переустановить». Ошибка очень очевидна.

Насколько я понимаю, вы настроили NTP. СЕРВЕР но вы указываете это на БАССЕЙН

сервер 0.pool.ntp.org

Пытаться

бассейн 0.pool.ntp.org

вместо этого или используйте «сервер» с выделенным сервером, а не пулом.