Die Uhrzeit eines Debian-Servers mittels NTP automatisch synchronisieren

Eine korrekte Uhrzeit ist insbesondere für Server enorm wichtig. Erstens könnte es Nutzer verwirren, wenn nicht korrekte Uhrzeiten angezeigt werden und zweitens kann eine zu großere Zeitdifferenz zwischen zwei Servern diverse Probleme verursachen, falls die Server in irgendeiner Weise miteinander kommunizieren. Jede Anwendung sieht das Problem mit Zeitdifferenzen ein wenig anders und einige scheint es gar nicht zu stören, aber spätestens wenn man zwecks Debugging Logdateien zweier Server vergleichen möchte, macht sich eine korrekte Uhrzeit bezahlt.

Mit Debian und darauf basierenden Systemen ist zum Glück mehr als simpel, den Dienst für das Network Time Protocol zu installieren:

Der Dienst wird nach dem Installieren automatisch gestartet und auch beim Neustart wird dieser gestartet. Im Prinzip reicht die simple Installation also aus, um eine stets korrekte Uhrzeit zu haben. Der NTP-Dienst stellt auch selbst einen NTP-Server zur Verfügung. Möchte man diesen von anderen Servern aus nutzen, muss der UDP-Port 123 in der Firewall freigegeben werden. Stehen einem eigene NTP-Server zur Verfüfung, kann man diese z.B. wie folgt in die /etc/ntp.conf  eintragen:

Falls der Server keine viruelle Maschine ist und über eine eigene Hardware-Uhr verfügt (RTC), sollte man diese nach Uhrzeit des Servers stellen. Der Befehl  hwclock --systohc  erledigt diese Aufgabe, ein Cronjob sorgt dann für die regelmäßige Ausführung:

Das automatische Setzen der Hardware-Uhr hat den Vorteil, dass die Zeitdifferenz nach einem Neustart möglichst gering ist.

Kleiner Tipp am Rande: Ein Raspberry Pi besitzt gar keine Hardware Uhr und befindet sich nach einem Start im Jahr 1970, weshalb dort ein NTP Dienst besonders wichtig ist.

2 Gedanken zu „Die Uhrzeit eines Debian-Servers mittels NTP automatisch synchronisieren

  1. Wenn man selbst keinen NTP-Server betreiben will, sondern es nur darauf ankommt, die Zeit synchron zu halten, dann ist auf aktuellen Systemen mit systemd meiner Meinung nach der systemd-timesyncd besser geeignet.

    Die Synchronisation kann man so einschalten:
    $ sudo timedatectl set-ntp true

    Statusabfrage:
    $ timedatectl status

    „Network time on“ und „NTP synchronized“ sollten auf „yes“ stehen, wenn alles geklappt hat. Wenn nicht, kann’s mehrere Ursachen haben. Die zu verwendenden NTP-Server kann man hier definieren:
    /etc/systemd/timesyncd.conf

    Ziemlich simpel. 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.