Chrony als NTP Server und Client unter Rocky Linux einrichten
NTP oder Network Time Protocol ist ein Netzwerkprotokoll für die Zeit- und Uhrensynchronisation im Computernetzwerk.
Chrony ist eine Implementierung des NTP oder Network Time Protocol und eine Alternative zu anderen Anwendungen wie up. Chrony kann auf Unix-ähnlichen Betriebssystemen ausgeführt werden und wurde unter der GNU GPL v2 veröffentlicht. Chrony wird als Standard-NTP-Server-Software für einige Linux-Distributionen verwendet und ist auch für andere Linux-Distributionen verfügbar.
In dieser Anleitung erfährst du, wie du Chrony auf dem Rocky Linux Server installierst und verwendest. Du wirst lernen, wie du Chrony auf zwei verschiedene Arten nutzen kannst:
- Chrony als NTP-Server verwenden – das ist normalerweise der Fall, wenn du einen NTP-Server für deine lokale Umgebung einrichten willst. Anstatt sich mit dem öffentlichen NTP-Server im Internet zu verbinden, verbinden sich die Clients mit dem lokalen Rechner, auf dem Chrony als NTP-Server läuft.
- Chrony als NTP-Client verwenden – dies ist der Fall, wenn du die Zeit auf deinem Rechner oder Client mit einem NTP-Server synchronisieren musst.
Voraussetzungen
In dieser Anleitung wird davon ausgegangen, dass du zwei verschiedene Rocky Linux Server hast, die als NTP Server und NTP Client verwendet werden. Du kannst Rocky Linux v8 oder die neueste Version 9 verwenden. Außerdem brauchst du auf beiden Rechnern einen Nicht-Root-Benutzer mit sudo-Root-Rechten.
Nachfolgend findest du die detaillierten Server, die wir verwenden werden:
Hostname IP Address Used as ------------------------------------------- rocky8 192.168.5.100 NTP Server client1 192.168.5.120 NTP Client
Beginnen wir nun mit der Installation und Konfiguration von Chrony.
Installation des Chrony-Pakets
Chrony ist eine der Implementierungen von NTP (Network Time Protocol) für Unix-ähnliche Betriebssysteme.
Standardmäßig ist das Chrony-Paket im baseos Rocky Linux Repository verfügbar.
Du kannst das Chriony-Paket mit dem unten stehenden dnf-Befehl überprüfen. Du solltest detaillierte Informationen über das Chrony-Paket sehen.
sudo dnf info chrony
Auf dem folgenden Screenshot siehst du, dass die aktuelle Version von Chrony v4.1 im baseos Rocky Linux Repository verfügbar ist.
Um Chriony zu installieren, führst du den folgenden dnf-Befehl aus. Wenn du aufgefordert wirst, die Installation zu bestätigen, gib y ein und drücke ENTER, um fortzufahren.
sudo dnf install chrony
Nachdem Chrony installiert ist, starte und aktiviere den Chronyd-Dienst mit dem folgenden systemctl-Befehl.
sudo systemctl enable chronyd sudo systemctl start chronyd
Danach überprüfst du den Chronyd-Dienst mit dem unten stehenden Befehl.
sudo systemctl status chronyd
Du solltest sehen, dass der Chrionyd-Dienst aktiviert ist und beim Systemstart automatisch ausgeführt wird. Der Status des Chronyd-Dienstes ist nun aktiv.
Chrony als NTP-Server einrichten
In diesem Schritt lernst du, wie du Chrony als NTP Server auf dem ROcky Linux Server einrichtest. In diesem Beispiel verwenden wir den Rocky Linux Server mit dem Hostnamen „rocky8“ und der IP-Adresse „192.168.5.100“.
Um Chrony einzurichten, musst du die Standard-Chrony-Konfigurationsdatei „/etc/chrony.conf“ bearbeiten.
Öffne die Datei „/opt/.chrony.conf“ mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/chrony.conf
In der Direktive server kannst du die Quelle des NTP-Servers angeben, den du verwenden möchtest. Den NTP-Serverpool, der deinem Standort am nächsten liegt, findest du unter https://www.ntppool.org/en/.
In diesem Beispiel verwenden wir den unten stehenden NTP-Server-Pool. Außerdem verwenden wir die zusätzliche Option„iburst„, die es dem Chronyd-Dienst ermöglicht, die erste Aktualisierung der Uhr kurz nach dem Start vorzunehmen.
# list servers server 0.se.pool.ntp.org iburst server 1.se.pool.ntp.org iburst server 2.se.pool.ntp.org iburst server 3.se.pool.ntp.org iburst
Dekommentiere die„allow„-Direktive und füge das Subnetz der IP-Adresse hinzu, die auf den NTP-Server zugreifen darf. In diesem Beispiel wird allen Clients innerhalb des Netzwerks„192.168.5.0/24“ der Zugriff auf den NTP-Server erlaubt.
# allowed clients allow 192.168.5.0/24
Speichere die Datei und beende den Editor, wenn du fertig bist.
Zusätzliche Optionen/Direktiven, die du vielleicht auch ändern möchtest:
# Allow the system clock to be stepped in the first three updates # if its offset is larger than 1 second. makestep 1.0 3 # Enable hardware timestamping on all interfaces that support it. #hwtimestamp * # Specify the file containing keys for NTP authentication. keyfile /etc/chrony.keys # Get TAI-UTC offset and leap seconds from the system tz database. leapsectz right/UTC
Als Nächstes führst du den folgenden Befehl aus, um den Chronyd-Dienst neu zu starten und die neuen Änderungen anzuwenden. Der Chronyd-Dienst läuft jetzt als NTP-Server.
sudo systemctl restart chronyd
Führen wir nun den folgenden chronyc-Befehl aus, um die Quellen des aktuell verwendeten NTP-Server-Pools zu überprüfen. Du solltest die Liste der aktuellen NTP-Serverquellen sehen, die von deinem Server verwendet werden.
chronyc sources
Du kannst auch detaillierte Informationen über die Option„-v“ als Verbose erhalten.
chronyc sources -v
Unten siehst du den detaillierten Status der NTP-Serverquelle, die auf dem Server verwendet wird.
Zuletzt musst du noch den Port des NTP-Dienstes in die Firewalld eintragen. So können die Client-Rechner eine Verbindung zu deinem NTP-Server herstellen.
Führe den Befehl firewall-cmd aus, um den NTP-Dienst zur Firewalld hinzuzufügen. Lade dann die Firewalld neu. Jetzt können alle Rechner eine Verbindung zum NTP-Server herstellen.
sudo firewall-cmd --add-service=ntp --permanent sudo firewall-cmd --reload
Du kannst auch die Netzwerk-Subnetze, die auf den NTP-Server zugreifen dürfen, über die Firewalld-Rich-Regeln festlegen. Füge die Firewalld-Rich-Regel, die dem Subnetz „192.168.5.0/24“ den Zugriff auf den NTP-Server erlaubt, über den folgenden Befehl firewall-cmd hinzu. Lade dann die Firewalld neu, um die neuen Regeln anzuwenden.
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.5.0/24' service='ntp' accept" sudo firewall-cmd --reload
Jetzt kannst du die Firewalld-Regeln mit dem folgenden firewall-cmd-Befehl überprüfen. Du solltest aktivierte Dienste und geöffnete Ports in deiner Firewalld sehen.
sudo firewall-cmd --list-all
Jetzt hast du Chrony als NTP Server auf dem Rocky Linux Server installiert und konfiguriert. Als Nächstes kannst du Chrony als NTP-Client einrichten.
Chrony als NTP-Client einrichten
Jetzt erfährst du, wie du Chrony als NTP-Client auf dem Rocky Linux System einrichtest. In diesem Beispiel richtest du den Chrony NTP Client auf dem Rocky Linux Rechner mit dem Hostnamen „client1“ ein.
Bevor du beginnst, musst du sicherstellen, dass das Chrony-Paket auf dem Client-Rechner installiert ist. Du kannst es mit dem Befehl dnf installieren.
sudo dnf install chrony -y
Nachdem Chriony installiert ist, öffne die Konfigurationsdatei „/etc/chrony.conf“ mit dem folgenden Befehl des nano Editors.
sudo nano /etc/chrony.conf
Ändere in der Server-Direktive die NTP-Server-Quelle mit deinem NTP-Server. In diesem Beispiel läuft der NTP-Server mit der IP-Adresse „192.168.5.100„.
Außerdem kannst du weitere Optionen in der Server-Direktive sehen“
- Die Option iburst ermöglicht es dem Chronyd-Dienst, die erste Aktualisierung der Uhr kurz nach dem Start vorzunehmen.
- Mit der Option prefer wird die Quelle des NTP-Servers gegenüber anderen Servern ohne prefer-Option bevorzugt.
server 192.168.5.100 iburst prefer
Speichere die Datei und beende den Editor, wenn du fertig bist.
Führe nun den folgenden Befehl aus, um den Chrony-Dienst neu zu starten und die neuen Konfigurationen anzuwenden.
sudo systemctl restart chronyd
Zum Schluss führst du den folgenden chronyc-Befehl aus, um den aktuellen NTP-Status auf dem Rechner„client1“ zu überprüfen.
chronyc tracking
Du solltest sehen, dass der Rechner „client1“ mit dem NTP-Server „ntp.hwdomain.io“ verbunden ist und die Zeit mit der Server-IP-Adresse „192.168.5.100“ synchronisiert.
Du kannst die detaillierten NTP-Daten auch mit dem unten stehenden Befehl chronyc überprüfen.
chronyc ntpdata
Im Abschnitt „Remote-Adresse“ siehst du nun die IP-Adresse des NTP-Servers und im Abschnitt „Lokale Adresse“ die IP-Adresse des aktuellen Computers.
Als Nächstes kannst du die Quellen des NTP-Servers auf dem Rechner „client1“ mit dem unten stehenden Befehl chronyc überprüfen. Du solltest sehen, dass der Client-Rechner jetzt den NTP-Server „ntp.hwdomain.io“ mit der IP-Adresse 192.168.5.100 als Standard und bevorzugte NTP-Server-Quelle verwendet.
chronyc sources chronyc sources -v
Du hast nun erfolgreich die Chrony NTP Implementierungssoftware auf dem Rocky Linux Server installiert. Außerdem hast du die grundlegenden Funktionen von Chrony kennengelernt, die sowohl als NTP Server als auch als Client genutzt werden können. Schließlich hast du auch die grundlegende Verwendung der chronyc-Befehlszeile zur Überprüfung des NTP-Status gelernt.