Я пытаюсь синхронизировать одну машину с другой по ntp. оба работают под управлением Debian lenny, и я установил пакет ntp в оба. Я настроил сервер для синхронизации с внешней машиной, поставив
server IP.ADDRESS iburst
в файле /etc/ntp.conf.
Я настроил клиента на синхронизацию с подачей, поместив только сервер в /etc/ntp.conf клиента.
однако, похоже, они не синхронизируются. ntpq показывает, что состояние - INIT, которое, согласно документации, указывает, что «ассоциация еще не синхронизировалась в первый раз»
# ntpq -n
ntpq> pe
remote refid st t when poll reach delay offset jitter
==============================================================================
10.99.84.134 .INIT. 16 u 665 1024 0 0.000 0.000 0.000
ntpq -> как показывает 'отклонить' в строке условия:
# ntpq
ntpq> as
ind assID status conf reach auth condition last_event cnt
===========================================================
1 40102 8000 yes yes none reject
Есть идеи, как это решить? (Я бы предпочел не использовать ntpdate).
Сегодня многие дистрибутивы настраивают ntpd для ограничения доступа. Если restrict
линии присутствуют в вашем сервере /etc/ntp.conf
, только узлы / сети, соответствующие этим линиям, смогут подключаться к ntpd. Вероятно, вам нужно добавить дополнительные restrict
строки для хостов или сетей, которые вы хотите разрешить для синхронизации с вашим сервером. Например, чтобы позволить упомянутому клиенту синхронизироваться, добавьте одну из следующих строк:
# allow just this host
restrict 10.99.84.134 nomodify notrap
# or allow the whole /24 segment
restrict 10.99.84.0 mask 255.255.255.0 nomodify notrap
После этого перезапустите ntpd, и ваши клиенты смогут синхронизироваться.
Проблема заключалась в том, что сам сервер не мог синхронизироваться с вышестоящим сервером. Решением было изменить конфигурацию сервера следующим образом:
повторно включил серверы пула Debian вместо моего единственного жестко запрограммированного сервера.
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
Я добавил ссылку на локальные часы, это заставляет сервер казаться синхронизированным с клиентами, даже если это не так, что является желаемым поведением для моей установки.
server 127.127.1.0
fudge 127.127.1.0 stratum 10
После того, как я внес эти изменения, серверу удалось синхронизироваться, а затем клиентам удалось синхронизироваться с сервером.
Вы также можете сказать, что существует какая-то проблема с подключением, потому что «досягаемость» по-прежнему равна 0.
Отключите на мгновение ntp и попробуйте запустить ntpdate, чтобы синхронизировать его один раз:
ntpdate 10.99.84.134
Если это не удается, у вас определенно проблема с подключением:
Если проблем с брандмауэром нет, проверьте на 10.99.84.134, что ntp прослушивает
netstat -tapn | grep 123
Попробуйте запустить tcpdump на сервере, чтобы перехватить весь трафик tcp и udp, который поступает на порт 123 и идет с него. Предположим, если пакеты могут достичь порта без проблем, они каким-то образом заблокированы на обратном пути брандмауэром клиента для пример
убедитесь, что порт 123 udp разрешен [Out] в брандмауэре. У меня была такая же проблема, из-за того, что брандмауэр блокировал порт 123.