Wie man NTP unter Ubuntu konfiguriert: Präzise Zeitsynchronisation mit Chrony

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.

年収訴求