NTP Server unter Linux einrichten: So synchronisierst du Zeit sauber und zuverlässig
Wenn die Uhrzeit auf Servern abweicht, entstehen Fehler, Logs werden unbrauchbar und Services verhalten sich komisch. Ich zeige dir, wie du einen NTP Server unter Linux einrichtest, sauber absicherst und korrekt im Netzwerk nutzt.
NTP Server unter Linux einrichten
Wenn ich einen Linux-Server betreibe, gehört die Zeitsynchronisation sofort dazu. Nicht später. Nicht „wenn mal Zeit ist“. Saubere Zeit ist Grundlage für Logs, Authentifizierung, Cronjobs und Debugging. Ohne das suchst du Fehler, die gar keine echten Fehler sind.
In diesem Artikel zeige ich dir, wie ich einen NTP Server unter Linux einrichten würde, welche Pakete ich nutze, wie die Konfiguration aussieht und worauf ich in der Praxis achte. Einfach. Direkt. Ohne unnötigen Ballast.
Warum überhaupt einen NTP Server unter Linux einrichten?
NTP steht für Network Time Protocol. Es sorgt dafür, dass Systeme ihre Uhrzeit mit einer verlässlichen Quelle abgleichen. Das ist nicht nur „nice to have“. Es ist Pflicht, sobald mehrere Systeme miteinander reden.
Ich brauche korrekte Zeit für:
- Logs, die sich vergleichen lassen
- SSL/TLS, weil Zertifikate zeitabhängig sind
- Kerberos und Active Directory, die empfindlich auf Zeitabweichungen reagieren
- Backups und Cronjobs, die planbar laufen müssen
- Monitoring, das Ereignisse korrekt einordnet
Wenn du einen internen NTP Server betreibst, synchronisieren sich alle Geräte im Netzwerk mit einer gemeinsamen Quelle. Das ist stabiler, kontrollierbarer und oft effizienter als viele Clients direkt ins Internet zu schicken.
Welche NTP-Software ich unter Linux nutze
Unter Linux gibt es mehrere Optionen. Die zwei wichtigsten sind:
- chrony – modern, präzise, mein Standard für die meisten Systeme
- ntpd – klassisch, weit verbreitet, aber heute oft zweite Wahl
Für neue Setups nehme ich meistens chrony. Es ist robust, kommt mit wechselnden Netzbedingungen gut klar und synchronisiert schneller nach einem Neustart. Für virtuelle Maschinen ist das oft ein echter Vorteil.
Wenn du tiefer einsteigen willst, ist die offizielle Doku von chrony ein guter Startpunkt: https://chrony-project.org/
NTP Server unter Linux einrichten mit chrony
Ich zeige dir den Weg mit chrony, weil das in der Praxis am meisten Sinn macht. Die Schritte sind simpel.
1. Paket installieren
Auf Debian oder Ubuntu:
sudo apt update
sudo apt install chrony
Auf RHEL, Rocky Linux oder AlmaLinux:
sudo dnf install chrony
2. Dienst aktivieren
sudo systemctl enable --now chronyd
Auf Debian-basierten Systemen heißt der Dienst je nach Version oft ebenfalls chrony oder chronyd. Prüfe den Namen mit:
systemctl list-unit-files | grep chrony
3. Konfiguration anpassen
Die zentrale Datei ist meist /etc/chrony/chrony.conf oder /etc/chrony.conf. Ich setze dort normalerweise zwei Dinge:
- externe Zeitquellen für den eigenen Server
- Freigabe des Servers für Clients im internen Netz
Beispiel:
server pool.ntp.org iburst
server time.google.com iburst
allow 192.168.1.0/24
Wichtig: Die Zeile allow bestimmt, welches Netz deinen Server als Zeitquelle nutzen darf. Nimm hier nur dein internes Netz auf. Nicht mehr.
4. Dienst neu starten
sudo systemctl restart chronyd
5. Status prüfen
Ich prüfe sofort, ob alles sauber läuft:
chronyc tracking
chronyc sources -v
Mit tracking sehe ich, wie gut die Synchronisation ist. Mit sources -v prüfe ich, welche Zeitquellen aktiv sind und ob sie erreichbar sind.
NTP Server unter Linux einrichten und Clients verbinden
Ein NTP Server bringt dir nur etwas, wenn die Clients ihn auch nutzen. Auf den Clients trägst du die interne Server-IP ein.
Beispiel für chrony auf einem Client:
server 192.168.1.10 iburst
Danach den Dienst neu starten:
sudo systemctl restart chronyd
Oder bei Systemen mit systemd-timesyncd kann die Konfiguration anders aussehen. Entscheidend ist: ein zentraler Zeitserver, klare Client-Konfiguration, keine Wildwest-Zeitsynchronisierung.
Firewall und Netzwerk sauber öffnen
NTP nutzt UDP Port 123. Wenn dein Server diesen Port blockiert, funktioniert nichts.
Beispiel mit firewalld:
sudo firewall-cmd --permanent --add-service=ntp
sudo firewall-cmd --reload
Mit ufw:
sudo ufw allow 123/udp
Ich öffne den Port immer nur dort, wo er wirklich gebraucht wird. NTP ist kein Dienst, den ich unnötig ins ganze Netz streue.
Die wichtigsten Stolperfallen
Hier scheitern die meisten. Nicht an NTP selbst, sondern an Kleinigkeiten. Genau da geht Zeit verloren.
- Falsche Zeitzone im System, obwohl NTP korrekt läuft
- Firewall blockiert UDP 123
- Falsche Netzmaske in der chrony-Konfiguration
- Keine externen Zeitquellen für den ersten Sync
- Virtuelle Maschinen mit zusätzlicher Zeitkorrektur durch den Hypervisor
Mein Ansatz ist simpel: Erst den Server mit externen Quellen stabilisieren. Dann die Clients anbinden. Nicht umgekehrt.
So prüfe ich, ob der NTP Server unter Linux richtig läuft
Ich verlasse mich nie nur auf „der Dienst läuft“. Ich prüfe immer konkret:
- Ist der Dienst aktiv?
systemctl status chronyd - Sind Zeitquellen erreichbar?
chronyc sources -v - Ist die Uhr synchron?
timedatectl - Hört der Server auf UDP 123?
ss -ulpn | grep 123
Wenn ein Client nicht synchronisiert, teste ich zuerst die Erreichbarkeit des Servers im Netzwerk. Danach prüfe ich Firewall, Konfiguration und Logs. So spare ich mir Ratespiele.
Meine Empfehlung für ein sauberes Setup
Wenn ich einen NTP Server unter Linux einrichte, halte ich mich an diese Reihenfolge:
- chrony installieren
- externe Zeitquellen definieren
- internes Netz freigeben
- UDP 123 öffnen
- Status und Sources prüfen
- Clients auf den internen Server zeigen lassen
Mehr brauchst du am Anfang nicht. Der Rest ist Feintuning.
NTP Server unter Linux einrichten: mein Fazit
Ein guter NTP-Server ist unsichtbar. Genau das ist das Ziel. Er läuft, synchronisiert sauber und macht keine Probleme. Wenn du NTP Server unter Linux einrichten willst, nimm chrony, halte die Konfiguration schlank und begrenze den Zugriff auf dein internes Netz. Dann hast du ein Setup, das stabil, schnell und wartbar ist.
Wenn du sauber arbeitest, sparst du dir später stundenlanges Debugging. Und genau darum geht es.
NTP Server unter Linux einrichten ist kein großes Projekt, wenn du es direkt und strukturiert angehst.
Weitere Beiträge
So ändern Sie das Root-Passwort unter Linux
vor 2 Jahren