почему ntp не восстанавливается после запуска без интернета?

11

У меня есть несколько устройств Linux (без чипов TOY, поэтому они полностью полагаются на ntp), которые могут загружаться без доступа к Интернету (связь с коммутатором установлена). ntpСлужба начнет , но , очевидно , ни один из узлов не будет связаться. Затем я получаю ntpсервис, который работает, но не синхронизируется с какими-либо узлами ( ntpq -pдает .INIT.статус)

Проблема в том, что это меняется, когда установлено соединение с Интернетом.

Если соединение доступно во время загрузки, то все работает нормально. То же самое, если я вручную выдаю service ntp restart( ntpподключается к пирам и время правильно синхронизировано).

Не должен ли NTP попытаться восстановить соединение через равные промежутки времени?

  • если да: это то, что я должен настроить (я ничего не видел в конфиге)
  • если нет: что было бы хорошим способом для обработки перезапуска службы или задержки запуска службы (я мог бы предположить, что подключение к Интернету вернется через n минут после загрузки)

Примечание. Из документов видно, что максимальное время пула (которое, как я понимаю, является максимальным временем, которое ntp будет пытаться подключиться к одноранговым узлам, прежде чем сдаться?), Составляет 1024 секунды = 17 минут, что намного больше времени, необходимого для установления Доступ в интернет (от 2 до 5 минут, в худшем случае)

WOJ
источник

Ответы:

12

Вы могли быть укушены крайним случаем для ntpd:

Версии IIRC ntpd <4.2.4p3 удалили все серверы из списка синхронизации, которые в какой-то момент не были доступны. Это, конечно, довольно плохо в этом случае, так как ntpd вполне может «исчерпать» список своих пиров до получения подключения к Интернету.

Можно / можно установить dynamicпараметр для этих серверов, ntp.confчтобы обойти эту проблему.

В более новых версиях это больше не должно быть необходимым (также динамическая опция была удалена в какой-то момент, что вызвало незначительные проблемы у некоторых людей с внезапными жалобами ntp).

Таким образом, вы можете либо обновить свой ntpd, либо установить опцию.

В качестве третьего варианта вы можете создать правильную зависимость в вашей системе инициализации; заставляя ntpd полагаться на установленное интернет- соединение ( не только на сеть). В результате вы можете использовать это и в других сервисах.

Роман
источник
1

Упаковка Debian OpenNTPD автоматически перезапускает его, если появляется интерфейс. Это распространено.

Кроме того, вам (как правило) нужно будет синхронизировать один выстрел перед запуском xntpd , так что я предлагаю этот путь.

mirabilos
источник
1
Интерфейс работает. Это Интернет, который не доступен.
WoJ
Мне также никогда не нужно было синхронизировать один выстрел. Это явно возможный случай, но перезапуск службы очищает статус вверх.
WoJ