NTP oder Network Time Protocol ist ein Protokoll, das verwendet wird, um alle Systemuhren in einem Netzwerk zu synchronisieren, damit sie dieselbe Zeit verwenden. Wenn wir den Begriff NTP verwenden, beziehen wir uns auf das Protokoll selbst und auch auf die Client- und Serverprogramme, die auf den vernetzten Computern ausgeführt werden. NTP gehört zur traditionellen TCP/IP-Protokollfamilie und kann leicht als einer ihrer ältesten Teile klassifiziert werden.
Wenn Sie die Uhr zum ersten Mal einrichten, dauert es sechs Austauschvorgänge innerhalb von 5 bis 10 Minuten, bevor die Uhr eingerichtet ist. Sobald die Uhren in einem Netzwerk synchronisiert sind, aktualisieren die Clients ihre Uhren alle 10 Minuten mit dem Server. Dies geschieht in der Regel durch einen einzigen Nachrichtenaustausch (Transaktion). Diese Transaktionen verwenden die Portnummer 123 Ihres Systems.
In diesem Artikel beschreiben wir Schritt für Schritt, wie Sie:
- Installieren und konfigurieren Sie den NTP-Server auf einem Ubuntu-Rechner.
- Konfigurieren Sie den NTP-Client so, dass er zeitlich mit dem Server synchronisiert wird.
Wir haben die in diesem Artikel erwähnten Befehle und Verfahren auf einem Ubuntu 20.04 LTS-System ausgeführt.
Installieren und konfigurieren Sie den NTP-Server auf dem Host-Computer
Befolgen Sie diese Schritte, um den NTP-Server auf Ihrem Host-Ubuntu-Rechner zu installieren:
Hinweis:Wir verwenden die Ubuntu-Befehlszeile, das Terminal, um NTP zu installieren und zu konfigurieren. Sie können die Terminal-Anwendung entweder über die Anwendungsstarter-Suche oder die Tastenkombination Strg+Alt+T öffnen.
Schritt 1:Repository-Index aktualisieren
Um die neueste verfügbare Version der Software aus den Internet-Repositorys zu installieren, muss Ihr lokaler Repository-Index damit übereinstimmen. Führen Sie den folgenden Befehl als sudo aus, um Ihren lokalen Repository-Index zu aktualisieren:
$ sudo apt-get update
Schritt 2:NTP-Server mit apt-get installieren
Bitte führen Sie den folgenden Befehl als sudo aus, um den NTP-Server-Daemon aus den APT-Repositories zu installieren:
$ sudo apt-get install ntp
Bitte beachten Sie, dass nur ein autorisierter Benutzer Software auf Ubuntu hinzufügen, entfernen und konfigurieren kann.
Das System fragt Sie möglicherweise nach dem Passwort für sudo und bietet Ihnen auch eine Y/N-Option, um die Installation fortzusetzen. Geben Sie Y ein und drücken Sie dann die Eingabetaste; Der NTP-Server wird dann auf Ihrem System installiert. Der Vorgang kann jedoch abhängig von Ihrer Internetgeschwindigkeit einige Zeit in Anspruch nehmen.
Schritt 3:Installation überprüfen (optional)
Sie können Ihre NTP-Installation und auch die Versionsnummer überprüfen, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
$ sntp --version
Schritt 4:Wechseln Sie zu einem NTP-Serverpool, der Ihrem Standort am nächsten liegt
Wenn Sie den NTP-Server installieren, wird er meistens so konfiguriert, dass er die richtige Zeit abruft. Sie können den Serverpool jedoch auf diejenigen umstellen, die Ihrem Standort am nächsten liegen. Dazu gehören einige Änderungen in /etc/ ntp.conf Datei.
Öffnen Sie die Datei im Nano-Editor als sudo, indem Sie den folgenden Befehl ausführen:
$ sudo nano /etc/ntp.conf
In dieser Datei können Sie eine Poolliste sehen. Wir haben diese Liste im obigen Bild hervorgehoben. Die Aufgabe hier ist, diese Poolliste durch einen Pool von Zeitservern zu ersetzen, die Ihrem Standort am nächsten sind. Das Projekt pol.ntp.org bietet einen zuverlässigen NTP-Dienst von einem großen Cluster von Zeitservern. Um eine Poolliste nach Ihrem Standort auszuwählen, besuchen Sie die folgende Seite:
https://support.ntp.org/bin/view/Servers/NTPPoolServers
Wir haben nach einer Poolliste für die USA gesucht:
Die Seite weist uns an, die folgenden Zeilen zur Datei ntp.conf hinzuzufügen:
server 0.us.pool.ntp.org server 1.us.pool.ntp.org server 2.us.pool.ntp.org server 3.us.pool.ntp.org
So sieht meine Datei aus, nachdem ich ihr die obigen Zeilen hinzugefügt habe:
Beenden Sie die Datei, indem Sie Strg+X drücken und dann y eingeben, um die Änderungen zu speichern.
Schritt 5:Starten Sie den NTP-Server neu
Damit die oben genannten Änderungen wirksam werden, müssen Sie den NTP-Server neu starten. Führen Sie dazu den folgenden Befehl als sudo aus:
$ sudo service ntp restart
Schritt 6:Überprüfen Sie, ob der NTP-Server ausgeführt wird
Überprüfen Sie nun den Status des NTP-Dienstes mit dem folgenden Befehl:
$ sudo service ntp status
Der Aktiv-Status bestätigt, dass Ihr NTP-Server betriebsbereit ist.
Schritt 7:Firewall so konfigurieren, dass Clients auf NTP-Server zugreifen können
Schließlich ist es an der Zeit, die UFW-Firewall Ihres Systems so zu konfigurieren, dass eingehende Verbindungen auf den NTP-Server unter der UDP-Portnummer 123 zugreifen können.
Führen Sie den folgenden Befehl als sudo aus, um Port 123 für eingehenden Datenverkehr zu öffnen:
$ sudo ufw allow from any to any port 123 proto udp
Ihr Ubuntu-Host-Rechner ist jetzt für die Verwendung als NTP-Server konfiguriert.
Konfigurieren Sie den NTP-Client für die Zeitsynchronisierung mit dem NTP-Server
Lassen Sie uns nun unseren Ubuntu-Client-Rechner so konfigurieren, dass er mit dem NTP-Server zeitsynchronisiert wird.
Schritt 1:Ntpdate installieren
Mit dem Befehl ntpdate können Sie Ihre Verbindungskonfiguration mit dem NTP-Server manuell überprüfen. Öffnen Sie die Terminal-Anwendung auf dem Client-Rechner und geben Sie den folgenden Befehl als sudo ein:
$ sudo apt-get install ntpdate
Schritt 2:IP und Hostname des NTP-Servers in der Hosts-Datei angeben
Damit Ihr NTP-Server durch einen Hostnamen auf Ihrem Client-Rechner aufgelöst wird, müssen Sie Ihre /etc/hosts-Datei konfigurieren.
Öffnen Sie die Hosts-Datei als sudo im Nano-Editor, indem Sie den folgenden Befehl eingeben:
$ sudo nano /etc/hosts
Fügen Sie nun die IP Ihres NTP-Servers hinzu und geben Sie einen Hostnamen wie folgt in dieser Datei an:
Beenden Sie die Datei, indem Sie Strg+X drücken, und speichern Sie sie dann, indem Sie y eingeben.
Schritt 3:Überprüfen Sie, ob die Uhrzeit des Client-Computers mit dem NTP-Server synchronisiert ist
Mit dem folgenden ntpdate-Befehl können Sie manuell überprüfen, ob die Zeit zwischen dem Client- und dem Serversystem synchronisiert ist:
$ sudo ntpdate NTP-server-host
Die Ausgabe sollte idealerweise einen zeitlichen Versatz zwischen den beiden Systemen aufweisen.
Schritt 4:Deaktivieren Sie den systemd timesyncd-Dienst auf dem Client
Da wir möchten, dass unser Client die Zeit mit dem NTP-Server synchronisiert, deaktivieren wir den timesyncd-Dienst auf dem Client-Rechner.
Geben Sie dazu folgenden Befehl ein:
Schritt 5:Installieren Sie NTP auf Ihrem Client
Führen Sie den folgenden Befehl als sudo aus, um NTP auf Ihrem Clientcomputer zu installieren:
$ sudo apt-get install ntp
Schritt 6:Konfigurieren Sie die Datei /etc/ntp.conf, um Ihren NTP-Server als neuen Zeitserver hinzuzufügen
Jetzt möchten wir, dass unser Client-Computer unseren eigenen NTP-Hostserver verwendet, der als Standardzeitserver verwendet wird. Dazu müssen wir die Datei /etc/ntp.conf auf dem Client-Rechner bearbeiten.
Führen Sie den folgenden Befehl als sudo aus, um die Datei im Nano-Editor zu öffnen:
$ sudo nano /etc/ntp.conf
Fügen Sie dann die folgende Zeile in die Datei ein, wobei NTP-Server-Host der Hostname ist, den Sie für Ihren NTP-Server angegeben haben:
server NTP-server-host prefer iburst
So sieht meine Datei aus, nachdem ich den Zeitserver angegeben habe:
Drücken Sie Strg+x, um die Datei zu verlassen, und geben Sie dann y ein, um die Änderungen zu speichern.
Schritt 7:Starten Sie den NTP-Server neu
Damit die oben genannten Änderungen wirksam werden, müssen Sie den NTP-Dienst neu starten. Führen Sie dazu den folgenden Befehl als sudo aus:
$ sudo service ntp restart
Schritt 8:Zeigen Sie die Zeitsynchronisierungswarteschlange an
Jetzt sind Ihre Client- und Servercomputer so konfiguriert, dass sie zeitsynchronisiert werden. Sie können die Zeitsynchronisierungswarteschlange anzeigen, indem Sie den folgenden Befehl ausführen:
$ ntpq -ps
Sie sollten NTP-Server-Host als Host/Quelle für die Zeitsynchronisierung in der Warteschlange sehen können.
Das war also alles, was Sie über die Installation und Konfiguration von NTP wissen mussten, um die Zeit auf Ihren vernetzten Ubuntu-Rechnern zu synchronisieren. Der Prozess mag ein wenig umständlich erscheinen, aber wenn Sie alle oben genannten Schritte sorgfältig Schritt für Schritt befolgen, werden Ihre Computer im Handumdrehen synchronisiert.