Skip to main content

NTP Server abfragen und Netzwerk prüfen

NTP nutzt UDP Port 123. Ein normaler TCP-Portcheck ist daher nicht ausreichend. Mit Debian-Standardtools kann man vor allem prüfen, ob die Zeitsynchronisierung des Systems funktioniert.


Keine Zusatzpakete notwendig

Die folgenden Befehle verwenden Standardtools, die auf einem normalen Debian-System mit systemd vorhanden sind. Es wird nichts installiert und es wird kein sudo verwendet.

Wichtig: Mit diesen Standardtools kann man normalerweise keine beliebigen NTP-Server direkt einzeln abfragen. Man prüft stattdessen, ob der lokale Zeitdienst erfolgreich mit einem NTP-Server synchronisiert.


1. Zeitstatus des Systems prüfen

timedatectl status

Interessant sind vor allem:

  • System clock synchronized
  • NTP service
  • Time zone

Wenn System clock synchronized: yes angezeigt wird, funktioniert die Zeitsynchronisierung grundsätzlich. Wenn dort no steht, kommt aktuell keine erfolgreiche Synchronisierung zustande.


2. NTP-Synchronisierung genauer prüfen

timedatectl timesync-status

Dieser Befehl zeigt, mit welchem Zeitserver das System synchronisiert und ob Antworten vom NTP-Server kommen.

Typische interessante Angaben sind:

  • Server oder Server Address
  • Stratum
  • Poll Interval
  • Packet Count
  • Offset

Wenn ein Server, Stratum-Wert und Paketinformationen angezeigt werden, kommen NTP-Antworten an. Wenn keine Serverdaten oder Fehler angezeigt werden, ist NTP möglicherweise nicht aktiv oder UDP Port 123 wird blockiert.


3. Maschinenlesbare Ausgabe prüfen

timedatectl show-timesync --all

Diese Ausgabe ist nützlich, wenn man gezielt Werte prüfen oder dokumentieren möchte.

Interessant sind zum Beispiel:

  • ServerName=
  • ServerAddress=
  • RootDistanceMaxUSec=
  • PollIntervalUSec=
  • NTPMessage=

4. Prüfen, ob systemd-timesyncd läuft

systemctl is-active systemd-timesyncd.service

Mögliche Ausgaben:

Ausgabe Bedeutung
active Der Zeitdienst läuft.
inactive Der Zeitdienst läuft aktuell nicht.
failed Der Zeitdienst ist fehlgeschlagen.
unknown Der Dienst ist nicht vorhanden oder nicht bekannt.

5. DNS separat prüfen

getent ahosts pool.ntp.org

Wenn hier IP-Adressen angezeigt werden, funktioniert die Namensauflösung. Wenn keine IP-Adresse zurückkommt, liegt das Problem wahrscheinlich bei DNS und nicht direkt bei NTP.


6. Netzwerkroute prüfen

ip route get 1.1.1.1

Damit kann geprüft werden, ob das System grundsätzlich eine Route ins Netzwerk oder Internet hat. Das prüft aber nicht direkt NTP, sondern nur die allgemeine Erreichbarkeit über die Routing-Tabelle.


Warum nicht curl oder wget?

curl und wget eignen sich nicht für echte NTP-Abfragen. Beide sind für HTTP, HTTPS, FTP und ähnliche URL-basierte Protokolle gedacht. NTP läuft aber über UDP Port 123.

Man kann mit curl oder wget höchstens prüfen, ob HTTP/HTTPS und DNS grundsätzlich funktionieren:

curl -I https://www.debian.org
wget --spider https://www.debian.org

Diese Tests sagen aber nichts Sicheres darüber aus, ob NTP über UDP Port 123 erlaubt ist.


Ergebnis bewerten

Ergebnis Bedeutung
System clock synchronized: yes Die Systemzeit wird erfolgreich synchronisiert.
timedatectl timesync-status zeigt Serverdaten NTP-Antworten kommen grundsätzlich an.
System clock synchronized: no Aktuell keine erfolgreiche Zeitsynchronisierung.
systemd-timesyncd.service ist inactive oder failed Der lokale Zeitdienst läuft nicht korrekt.
getent ahosts liefert keine IP-Adresse DNS-Auflösung funktioniert nicht.

Kurzfazit

Mit Debian-Standardtools prüft man NTP am besten über timedatectl status, timedatectl timesync-status und timedatectl show-timesync --all. Wenn dort ein aktiver Server und erfolgreiche Synchronisierung angezeigt werden, funktionieren NTP-Abfragen aus dem Netzwerk grundsätzlich.

Für eine direkte Einzelabfrage gegen beliebige NTP-Server braucht man ein zusätzliches NTP-Werkzeug wie ntpdig. Ohne solche Zusatztools ist nur die Prüfung über den vorhandenen System-Zeitdienst möglich.