Linux Systemzeit Synchronisation mit Network Time Protocol (NTP)
Network Time Protocol – NTP Synchronisation der Systemzeit mit der Atomzeit der NTP-Server. Dieser Beitrag zeigt die NTP-Service Bereitstellung und Konfiguration in der Linux Befehlszeile. Eine korrekte Systemzeit ist für Computersysteme essentiell und schafft überhaupt die Voraussetzung für ein reibungslosen Beitrieb der interagierenden Dienste. Zur Überprüfung und ändern der Systemzeit dienen folgende Befehlszeilentools.
Zur Abfrage der aktuellen Systemzeit mit date
und timedatectl
:
$ date
Fr 19. Feb 10:15:46 CET 2021
$ timedatectl
Local time: Fr 2021-02-19 10:15:46 CET
Universal time: Fr 2021-02-19 09:15:46 UTC
RTC time: Fr 2021-02-19 09:15:44
Time zone: Europe/Zurich (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Der Zeitabgleich auf einem Server wird von einem NTP-Daemon ausgeführt, mit Synchronisation der Systemzeit für eine ordnungsgemässe Funktion der Systeme. Die Atomzeit kann von NTP-Server im Internet synchronisiert werden, wie zum Beispiel Google Public Network Time Protocol (NTP) time.google.com
Die NTP-Daemon Bereitstellung
Der NTP-Daemon auf Debian Linux basiertem System Installieren:
$ sudo apt install ntp ntpdate -y
Der NTP-Daemon auf RHEL/CentOS/Fedora System Installieren:
$ sudo dnf install ntp ntpdate -y
NTP Pool Server pool.ntp.org
versucht den nächstgelegenen verfügbaren Server zu finden. Das Projekt NTP-Pool ist ein dynamischer Pool von Zeitservern. Die NTP Pool Server kann man in /etc/ntp.conf
editieren.
pool time.google.com
pool europe.pool.ntp.org
Bevor der ntpd-Dienst gestartet werden kann, muss die Systemzeit grob (im Bereich weniger Minuten) eingestellt werden. Das kann manuell mit date
oder hier mit timedatectl set-time
oder über den NTP Pool mit ntpdate pool.ntp.org
gemacht werden.
$ sudo ntpdate pool.ntp.org
$ sudo ntpq -pn
$ sudo ntpq -c rv
Nach einigen Minuten kann der Status des Dienstes abgerufen werden. Die Ausgabe des Kommandos ntpq -p
sollte in etwa wie folgt aussehen.

Der bereitgestellte NTP-Daemon nun ausführen und in systemd für den automatischen start verlinken:
$ sudo systemctl start ntp.service
$ sudo systemctl enable ntp.service
Die systemd-timesyncd Konfiguration
Der Service systemd-timesyncd
ist bei vielen Distributionen bereits installliert. Die Konfigurationsdateien steuern die Zeitsynchronisation des NTP-Netzwerks.
Die Network Time Synchronization für den Service systemd-timesyncd
beinhaltet die Datei /etc/systemd/timesyncd.conf
Die Konfigurationsdatei timesyncd.conf
kann wie folgt sein.
# See timesyncd.conf(5) for details.
[Time]
NTP=ch.pool.ntp.org
FallbackNTP=0.ch.pool.ntp.org 1.ch.pool.ntp.org 2.ch.pool.ntp.org 3.ch.pool.ntp.org 4.ch.pool.ntp.org
RootDistanceMaxSec=5
PollIntervalMinSec=32
PollIntervalMaxSec=2048
Damit systemd-timesyncd
automatisch gestartet wird, aktiviert der Befehl enable
den Service entsprechend:
$ sudo systemctl enable systemd-timesyncd
$ sudo systemctl start systemd-timesyncd
Bei einem systemd-basierten System führt man folgenden Befehl aus, um den Servicestatus zu überprüfen:
$ timedatectl status
Local time: Fr 2021-02-19 10:15:46 CET
Universal time: Fr 2021-02-19 09:15:46 UTC
RTC time: Fr 2021-02-19 09:15:44
Time zone: Europe/Zurich (CET, +0100)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
Die Ausgabe auf Zeile 7 und 8 bedeutet, dass der Zeitabgleich nicht ausgeführt wird. Mit folgendem Befehl wird die Synchronisation aktiviert:
$ sudo timedatectl set-ntp true
Der NTP Servicestatus erneut abfragen, nach einigen Sekunden zeigt die Ausgabe System clock synchronized: yes
und NTP service: active
:
$ timedatectl status
Local time: Fr 2021-02-19 10:15:46 CET
Universal time: Fr 2021-02-19 09:15:46 UTC
RTC time: Fr 2021-02-19 09:15:44
Time zone: Europe/Zurich (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Die Kerberos-Authentifizierung
Die Kerberos-Authentifizierung ist gegenwärtig die Standard-Authentifizierungstechnologie unter Windows, auch Apple macOS, FreeBSD und Linux Systeme nutzen Kerberos-Implementierungen. Bei der Authentifizierung in einer Umgebung mit Kerberos, kommt eine synchrone Systemzeit für interagierende System eine fundamentale Bedeutung zu.
Die Kerberos Authentifizierung verlangt drei Entitäten, für die Ticket-Autorisierung durch eine dritte Partei, dabei darf die Systemzeit eine bestimmte Drift Limite nicht überschreiten, ein Ticket das durch Kerberos erstellt wird, ist nach einer gewissen Zeit abgelaufen, das Ticket wird ungültig.
Kerberos ist auch für Websites und SSO-Implementierungen plattformübergreifend zum Standard geworden. In Active Directory Domain Services (AD DS), ist bei der Integration von NAS und anderen Geräte, für den Zugriff auf Netzwerkressourcen für eine übereinstimmende Systemzeit zu sorgen. Für die Protokollierung wie Syslog ist die präzise Zeit, der Timestamp für die Auswertung der Ereignisse, und bei der Fehler Analyse bedeutend.

Ein Gedanke zu „Network Time Protocol Linux Installation“