1. Bedeutung von NTP auf Ubuntu
Was ist NTP?
NTP (Network Time Protocol) ist ein Protokoll, das entwickelt wurde, um die Zeit von Computersystemen über ein Netzwerk hinweg präzise zu synchronisieren. Eine genaue Systemzeit ist entscheidend für die Konsistenz von Logfiles, die Verarbeitung von Transaktionen und die Zuverlässigkeit der Netzwerkkommunikation. Wenn die Systemuhr abdriftet, können Netzwerkfehler oder Dateninkonsistenzen auftreten, wodurch eine genaue Zeitsynchronisierung besonders in Serverumgebungen von entscheidender Bedeutung ist.
Auf Ubuntu wird chrony empfohlen, da es eine genaue Zeitsynchronisierung selbst in instabilen Netzwerkumgebungen bietet. Chrony zeichnet sich zudem durch geringe Latenz und schnelle Synchronisierung aus, was es sowohl für Server- als auch für Client-Umgebungen geeignet macht.
2. Wie man NTP konfiguriert
Installation und Konfiguration von Chrony
Chrony ist der Standard-NTP-Client auf Ubuntu 18.04 und später. Verwenden Sie die folgenden Schritte, um Chrony zu installieren und die Zeitsynchronisierung über NTP-Server einzurichten.
Installationsschritte
sudo apt update
sudo apt install chrony
Anschließend starten Sie den Chrony-Dienst und aktivieren ihn für den automatischen Start.
sudo systemctl start chrony
sudo systemctl enable chrony
Die Konfigurationsdatei befindet sich unter /etc/chrony/chrony.conf. Wenn Sie NTP-Server in Japan verwenden möchten, konfigurieren Sie sie wie folgt:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
Die Option iburst beschleunigt die anfängliche Synchronisierung beim Verbinden mit einem NTP-Server.
3. Optimierung und Auswahl von NTP-Servern
Verwendung des NTP Pool Project
Das NTP Pool Project stellt regionoptimierte NTP-Server aus der ganzen Welt bereit. Durch die Konfiguration mehrerer NTP-Server steigt die Zuverlässigkeit, sodass, falls ein Server nicht mehr verfügbar ist, andere nahtlos die Zeitsynchronisierung fortsetzen können.
Das folgende Beispiel zeigt eine Konfiguration, die Server in Japan verwendet:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
4. Zeitzone einstellen
Verwendung des Befehls timedatectl
Standardmäßig verwendet Ubuntu UTC als Systemzeitzone. Sie können sie mit dem folgenden Befehl auf Japan Standard Time (JST) ändern:
sudo timedatectl set-timezone Asia/Tokyo
Nach der Änderung können Sie die aktuellen Zeitzoneneinstellungen mit folgendem Befehl überprüfen:
timedatectl
5. Fehlerbehebung
Wenn NTP nicht synchronisiert
Firewall prüfen
NTP verwendet den UDP-Port 123, und die Synchronisierung kann fehlschlagen, wenn die Firewall diesen Port blockiert. Öffnen Sie Port 123 mit dem folgenden Befehl:
sudo ufw allow 123/udp
Überprüfung auf falsche Ticker
Verwenden Sie den Befehl ntpq -p, um zu überprüfen, ob die NTP-Server ordnungsgemäß funktionieren. Server, die ungenaue Zeit liefern, sind mit einem x-Symbol gekennzeichnet. Wenn solche Server erkannt werden, entfernen oder ersetzen Sie sie in Ihrer Konfiguration.
Stratum 16 Fehler
Wenn der NTP-Server sich nicht mit einem Upstream-Server synchronisieren kann, tritt ein Stratum-16-Fehler auf. Dies weist auf ein Verbindungs- oder Konfigurationsproblem hin. Überprüfen Sie Ihre Netzwerkeinstellungen und konfigurieren Sie Ihre NTP-Server neu, um die Synchronisierung mit zuverlässigen Upstream-Quellen sicherzustellen.
Manuelle Zeitsynchronisierung
Um die Zeit manuell mit Chrony zu synchronisieren, führen Sie den folgenden Befehl aus:
sudo ntpdate ntp.nict.jp
Sie können auch die Chrony-Protokolle überprüfen, um Synchronisierungsprobleme zu diagnostizieren:
sudo journalctl -u chrony
6. NTP-Optimierung in Hochlastumgebungen
Anpassung von minpoll und maxpoll
In Umgebungen, die eine hochpräzise Zeitsynchronisierung erfordern, ermöglicht die Anpassung der NTP-Polling-Intervalle häufigere Updates und hilft, Zeitabweichungen zu minimieren. Das folgende Konfigurationsbeispiel erhöht die Synchronisationsfrequenz:
server ntp.nict.jp iburst minpoll 4 maxpoll 10
NTP mit Juju verwalten
In groß angelegten Cloud‑Umgebungen kann Juju die Bereitstellung von NTP‑Diensten automatisieren. Juju überwacht die Hostauslastung und wählt automatisch den optimalen Host als NTP‑Server aus. Stellen Sie NTP über Juju wie folgt bereit:
juju deploy cs:ntp ntp
juju config ntp auto_peers=true
Dies ermöglicht eine automatisierte NTP‑Verwaltung, verteilt die Last effektiv und sorgt für eine effiziente Zeitsynchronisation.
7. Sicherheit verbessern
Zugriffskontrolle für NTP‑Server
Um die Sicherheit zu erhöhen, können Sie den Zugriff auf den NTP‑Server auf bestimmte IP‑Adressen beschränken. Fügen Sie Zugriffsregeln in /etc/chrony/chrony.conf wie unten gezeigt hinzu, um Anfragen nur von genehmigten Netzwerken zuzulassen:
allow 192.168.1.0/24
Dies verhindert unautorisierte NTP‑Anfragen von externen Hosts und stärkt die Sicherheit des internen Netzwerks.

