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.

Chronik-Info

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.

chronyd status

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

ntp-Quellen prüfen

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.

Quellen prüfen

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

Firewall einrichten

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.

Tracking-Quellen

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.

ntpdata

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

Quellen prüfen

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.

Links

Das könnte dich auch interessieren …