dlaczego NTTP nie odzyskuje po starcie bez Internetu?

11

Mam kilka urządzeń Linux (bez układów TOY, więc całkowicie polegają na NTTP), które mogą uruchamiać się bez dostępu do Internetu (łącze do przełącznika jest uruchomione). ntpUsługa zacznie, ale oczywiście nie ma rówieśnicy zostaną powiadomieni. Następnie kończę na ntpusłudze, która jest uruchomiona, ale nie synchronizuje się z żadnym innym urządzeniem równorzędnym ( ntpq -pdaje .INIT.status)

Problem polega na tym, że zmienia się to po ustanowieniu połączenia z Internetem.

Jeśli połączenie jest dostępne w czasie uruchamiania, wszystko działa poprawnie. Idem, jeśli ręcznie wydam a service ntp restart( ntpłączy się z peerami, a czas jest poprawnie zsynchronizowany).

Czy ntp nie powinien próbować nawiązywać połączenia w regularnych odstępach czasu?

  • jeśli tak: czy jest to coś, co mam skonfigurować (nic nie widziałem w konfiguracji)
  • jeśli nie: jaki byłby dobry sposób obsługi ponownego uruchomienia usługi lub opóźnienia uruchomienia usługi (mógłbym założyć, że połączenie z Internetem zostanie przywrócone n minut po uruchomieniu)

Uwaga: wygląda na to, że z dokumentów wynika, że ​​maksymalny czas puli (który rozumiem to maksymalny czas, kiedy ntp spróbuje połączyć się z peerami przed poddaniem się?) Wynosi 1024 sekund = 17 minut, co jest znacznie dłuższe niż czas potrzebny do ustalenia Dostęp do Internetu (około 2 do 5 minut, w najgorszym przypadku)

WoJ
źródło

Odpowiedzi:

12

Być może ugryzł cię przypadek krawędziowy dla ntpd:

Wersje IIRC ntpd <4.2.4p3 usunęły wszystkie serwery z listy synchronizacji, do których w pewnym momencie nie można było dotrzeć. Jest to oczywiście dość złe w tym przypadku, ponieważ ntpd może równie dobrze „wyczerpać” listę swoich partnerów przed uzyskaniem połączenia z Internetem.

Można / można ustawić dynamicdla tych serwerów opcję ntp.confobejścia tego problemu.

W przypadku nowszych wersji nie powinno to już być konieczne (opcja dynamiczna została w pewnym momencie wycofana, co spowodowało niewielkie niedogodności dla niektórych osób z nagłym narzekaniem NTTP).

Możesz więc zaktualizować ntpd lub ustawić opcję.

Jako trzecią opcję możesz stworzyć odpowiednią zależność w swoim systemie init; zmusza ntpd do polegania na ustanowionym połączeniu internetowym ( nie tylko sieci). Rezultatem będzie to, że możesz ponownie użyć tego z innymi usługami.

rzymski
źródło
1

Debian OpenNTPD automatycznie uruchamia go ponownie, gdy pojawi się interfejs. To jest powszechne.

Poza tym (zwykle) będziesz musiał zsynchronizować jeden strzał przed uruchomieniem xntpd , więc sugeruję, że jest to właściwa droga.

mirabilos
źródło
1
Interfejs jest włączony. To Internet, który jest nieosiągalny.
WoJ,
Nigdy też nie musiałem synchronizować jednego ujęcia. Jest to oczywiście możliwy przypadek, ale restart usługi czyści status.
WoJ,