Frage NTP läuft, Systemuhr immer noch nicht in der Zeit - was gibt es?


Ein Debian Stable (5.0.3) Server läuft ntpdund mit dem Internet verbunden. Trotzdem ist die Systemuhr ca. 5 Minuten falsch.

$ /etc/init.d/ntp status
NTP server is running..

Relevante Teile (denke ich) von /etc/ntp.conf:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

Ich weiß, dass NTP die Uhr nicht unbedingt sofort bringt. Aber wie viele Stunden oder Tage müssen Sie warten, um vernünftigerweise zu erwarten, dass NTP seine Arbeit erledigt und die Uhr synchronisiert hat?

Fehle ich eine andere Konfigurationsdatei oder -option oder mache ich etwas falsch? Ist ntp (anstelle von z.B. ntpdate) das richtige Werkzeug dafür? Gibt es einen schnellen Weg, um zu überprüfen, ob die Konfiguration korrekt ist und ob die gewählten NTP-Server die richtige Zeit zurückgeben?

Bearbeiten: Ausgabe von ntpq -p ist:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.nexellent.n .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-madrid .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 sinister.wzw.tu .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-frankf .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Bearbeiten 2: Es stellt sich heraus ntpdate -u 0.europe.pool.ntp.org Befehl (vorgeschlagen von Brent) kehrt zurück

17 Dec 17:37:29 ntpdate[14195]: no server suitable for synchronization found

... obwohl auf anderen Maschinen dieser Befehl gut funktioniert. Also schauen wir uns Netzwerk- / Firewall-Einstellungen für diesen bestimmten Server an (der sich in einem anderen Netzwerk befindet, auf das über VPN zugegriffen wird).

Auflösung: Der Täter war nicht lokale Firewall auf unserem Server, sondern Firewall-Einstellungen irgendwo im umgebenden Netzwerk. Also haben wir den Server-Hosting-Anbieter gebeten, NTP für unsere Maschinen zuzulassen, und jetzt funktioniert es gut. Zum Beispiel, ntpq -p jetzt zurück:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.eunet.fi    192.36.144.23    2 u   10   64    1    1.043    0.258   0.001
 ns2.eunet.fi    62.142.10.44     2 u    9   64    1    0.671    0.135   0.001
 ns3.eunet.fi    62.142.10.44     2 u    8   64    1    0.750    0.277   0.001

(Wir haben auch auf die von der Hosting-Firma neu initiierten Eunet.fi-Server umgestellt, aber das ist nebensächlich.) Die Befehle in Brents Antwort waren hilfreich, weil sie mir klarstellten, dass das Problem im Netzwerkzugriff auf die NTP-Server und nicht in der NTP-Konfiguration selbst lag. Danke allen!


22
2017-12-17 14:51


Ursprung


Was ist die Ausgabe von 'ntpq -p'? - jscott


Antworten:


Stoppen Sie ntpd, run ntpdate -u 0.europe.pool.ntp.org 3 mal, ntpd starten, nachschauen ntpq -pVerzögerung, Offset und Jitter sollten nicht Null sein.


22
2017-12-17 15:25



Und das 'wann'-Feld sollte die Zeit seit dem letzten empfangenen Paket anzeigen. - jscott
Der ntpdate-Befehl gibt etwas wie "17 Dec 17:37:29 ntpdate [14195]: kein Server für die Synchronisation gefunden gefunden" zurück. Bei anderen Maschinen gibt derselbe Befehl jedoch etwas Sinnvolles! Ich fange an zu vermuten, dass einige Firewall-Einstellungen für diesen bestimmten Server das Problem verursachen ... - Jonik
Wir werden morgen sehen, wenn wir diese Netzwerk- / Firewall-Einstellungen aussortieren können. Ich werde das jetzt akzeptieren, weil das Problem wahrscheinlich damit zusammenhängt. Danke, dass Sie mich in die richtige Richtung weisen! - Jonik
Das ntpdate Befehl funktioniert und synchronisiert meine Uhr, aber alle Werte sind noch 0 nach dem Neustart ntp. Warum würde es funktionieren, wenn ich es manuell mache, aber nicht benutze ntpd? Ich bin auf Debian übrigens. - Mike


Wenn ich raten sollte, warum und angenommen, Sie haben Netzwerkkonnektivität und können Sie Ihren NTP Host ohne ein Problem sehen, dann könnte es sein, dass Sie zu einem großen Wert getrieben haben. Wenn der Zeitunterschied größer als X ist (Sorry, ich erinnere mich nicht daran, was X ist), wird eine Warnung gedruckt und die Zeit wird nicht synchronisiert. Sie können Ihre Syslog-Nachrichten für Fälle von diesem überprüfen.

Wenn dies der Fall ist, stoppe NTP, führe ntpdate host aus und starte das NTPD neu, das wird eine Zeitsynchronisation erzwingen und dann damit beginnen, es synchron zu halten, wenn du so weit driftest, hast du vielleicht ein Hardwareproblem.


1
2017-12-17 23:17



Vielen Dank. In diesem Fall scheint das Problem zu sein, dass wir den NTP-Server nicht ohne Probleme sehen können - siehe die Kommentare zu Brents Antwort: serverfault.com/questions/95342/ ... - Jonik


Die Spalte "reach", die 0 ist, deutet darauf hin, dass sie nicht mit den Servern sprechen konnte - es werden nach und nach Bits eingefügt, um anzuzeigen, wie die letzten 8 Versuche verlaufen sind (also 377 ist gut, 0 ist schlecht).


1
2017-12-17 23:28



Ja, das ist wahrscheinlich das Problem. siehe Kommentare zu dieser Antwort: serverfault.com/questions/95342/ ... - Jonik