Zeitserver unter Ubuntu: NTP richtig einrichten und optimieren

1. Die Bedeutung von NTP unter Ubuntu

Was ist NTP?

NTP (Network Time Protocol) ist ein Protokoll, das dazu dient, die Uhrzeit von Computersystemen über das Netzwerk exakt zu synchronisieren. Eine präzise Systemzeit ist unerlässlich für die Konsistenz von Logdateien, die Abwicklung von Transaktionen und die Genauigkeit der Netzwerkkommunikation. Zeitabweichungen können zu Netzwerkfehlern oder Dateninkonsistenzen führen und sind besonders im Serverbetrieb kritisch.

Unter Ubuntu wird chrony empfohlen, da damit auch in instabilen Netzwerken eine genaue Zeit-Synchronisierung möglich ist. Chrony eignet sich sowohl für Server- als auch für Client-Umgebungen, da es geringe Latenz und schnelle Synchronisation bietet.

年収訴求

2. NTP-Konfiguration

Installation und Konfiguration von Chrony

Chrony ist der standardmäßige NTP-Client ab Ubuntu 18.04. Mit den folgenden Schritten können Sie Chrony installieren und die Zeitsynchronisation mit NTP-Servern einrichten.

Installationsschritte

sudo apt update
sudo apt install chrony

Anschließend starten Sie den Chrony-Dienst und richten den automatischen Start ein.

sudo systemctl start chrony
sudo systemctl enable chrony

Die Konfigurationsdatei befindet sich unter /etc/chrony/chrony.conf. Um beispielsweise NTP-Server in Japan zu verwenden, tragen Sie Folgendes ein:

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

Mit der iburst-Option erfolgt die erste Synchronisierung besonders schnell.

3. Optimierung und Auswahl von NTP-Servern

Nutzung des NTP-Pool-Projekts

Das NTP-Pool-Projekt stellt weltweit optimierte NTP-Server je nach Region zur Verfügung. Durch die Konfiguration mehrerer Server wird die Zuverlässigkeit erhöht – fällt ein Server aus, übernimmt ein anderer dessen Funktion.

Im folgenden Beispiel werden NTP-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. Zeitzoneneinstellung

Verwendung des timedatectl-Befehls

Standardmäßig ist die Zeitzone von Ubuntu auf UTC gesetzt. Mit folgendem Befehl können Sie auf die japanische Standardzeit (JST) umstellen:

sudo timedatectl set-timezone Asia/Tokyo

Nach der Änderung können Sie den aktuellen Zeitzonenstatus mit folgendem Befehl überprüfen:

timedatectl

5. Fehlerbehebung

Wenn NTP nicht synchronisiert

Überprüfung der Firewall

NTP verwendet UDP-Port 123, der möglicherweise von der Firewall blockiert wird. Mit folgendem Befehl öffnen Sie Port 123:

sudo ufw allow 123/udp

Prüfung auf False-Ticker

Mit dem Befehl ntpq -p können Sie prüfen, ob der NTP-Server korrekt arbeitet. Ein False-Ticker (ein Server mit falscher Zeit) wird mit dem Symbol x gekennzeichnet – in diesem Fall sollten Sie einen anderen Server wählen oder die Konfiguration anpassen.

Stratum 16-Fehler

Kann der NTP-Server keine Verbindung zu einem übergeordneten Server herstellen, tritt ein Stratum 16-Fehler auf. Das weist auf Verbindungsprobleme oder Netzwerkprobleme hin. Überprüfen Sie die Server- und Netzwerkeinstellungen und richten Sie einen zuverlässigen Server ein.

Manuelle Zeitsynchronisierung

Um die Zeit manuell mit Chrony zu synchronisieren, verwenden Sie folgenden Befehl:

sudo ntpdate ntp.nict.jp

Sie können auch die Chrony-Logs prüfen, um Synchronisationsprobleme zu identifizieren:

sudo journalctl -u chrony

 

6. Optimierung von NTP in Hochlastumgebungen

Anpassung von minpoll und maxpoll

In Umgebungen mit hohen Anforderungen an die Zeitgenauigkeit können Sie das Abfrageintervall von NTP anpassen, um die Synchronisationshäufigkeit zu erhöhen und Zeitabweichungen zu minimieren. Hier ein Beispiel für eine solche Konfiguration:

server ntp.nict.jp iburst minpoll 4 maxpoll 10

NTP-Management mit Juju

In großen Cloud-Umgebungen lässt sich der NTP-Dienst mit Juju automatisieren. Juju überwacht automatisch die Auslastung der Hosts und wählt die optimalen Server aus. Mit folgenden Befehlen deployen Sie NTP via Juju:

juju deploy cs:ntp ntp
juju config ntp auto_peers=true

Damit wird die Verwaltung von NTP automatisiert und die Zeit-Synchronisierung effizient auf mehrere Hosts verteilt.

7. Erhöhte Sicherheit

Zugriffskontrolle für NTP-Server

Zur Erhöhung der Sicherheit können Sie den Zugriff auf den NTP-Server auf bestimmte IP-Adressen beschränken. Dazu fügen Sie in /etc/chrony/chrony.conf die folgende Zeile hinzu, um z. B. nur Anfragen aus einem bestimmten Netzwerk zu erlauben:

allow 192.168.1.0/24

So verhindern Sie unbefugte Anfragen von außen und erhöhen die Sicherheit Ihres internen Netzwerks.