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