У меня есть сервер 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
вместо этого или используйте «сервер» с выделенным сервером, а не пулом.