Raspberry als Zeitserver

Ob Laptop, Webcam oder IoT Device, nahezu alle Geräte in einem Netzwerk synchronisieren ihre Systemzeit üblicherweise mit einem NTP-Server aus dem Internet. Möchten wir dies unterbinden oder benötigt dank nicht vorhandenem Internetzugang eine lokale Alternative, bietet der Raspberry eine einfache Lösung.

Installation

Der Zeitserver und Client für den PI ist äußerst schlank und schnell installiert. Anschließend bezieht das System automatisch die aktuelle Uhrzeit und stellt diese wiederum als Server für andere Geräte zur Verfügung.

#Den Dienst installieren
sudo apt-get install ntp ntpdate

Nach erfolgreicher Installation können wir für einen ersten Test einen Abgleich mit einem externen NTP-Server anfordern.

#Zeitabgleich mit den in der ntp.conf eingetragenen Servern (meistens debian.pool.ntp.org)
sudo ntpd -qg

#Zeitabgleich mit einem bestimmen NTP-Server, z.B. aus Deutschland
sudo ntpdate -u de.pool.ntp.org

#Mögliche Antwort nach wenigen Sekunden
11 Dec 09:35:47 ntpdate[27127]: adjust time server 185.242.112.53 offset -0.005542 sec

War das Update erfolgreich, können wir anschließend unsere lokalen Geräte mit dem eigenen Server synchronisieren.

Clients einrichten

Unser NTP-Server stellt seinen Dienst unter seiner IP und dem Port 123 (UDP) bereit. Bei den meisten Client-Geräten reicht jedoch die Eingabe der Adresse in das passende Feld („Zeitserver“ oder „NTP-Server“).

#Adresse des Zeitservers für Clienten
<ip-meines-pis>:<Port>

#Beispiel
192.168.0.1 oder 192.168.0.1:123

Weitere Einstellungen für den NTP-Server

Welche externen NTP-Server zur Synchronisation in Verwendung sind, verrät uns der Befehl

ntpq -pn

Möchten wir andere Server hinzufügen oder Einstellungen ändern, ist hierfür die ntp.conf zuständig.

#Config bearbeiten
sudo nano /etc/ntp.conf

Für den Standort Deutschland sind natürlich die deutschen NTP Server bestens geeignet.

server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org

Nach dem Speichern sorgt ein Restart des Services für die Übernahme der Änderungen

#Dienst neu starten
sudo /etc/init.d/ntp restart

Timesyncd

Neuere Versionen des Raspberry Pi OS halten die Systemzeit bereits per timesyncd aktuell. Wer möchte, kann diesen nach der Installation von ntp nun unnötigen Dienst auch abschalten – oder einfach zur Sicherheit parallel laufen lassen.

#Service stoppen
systemctl stop systemd-timesyncd

#Autostart deaktivieren
systemctl disable systemd-timesyncd