Nachdem ich meinen neuen Unifi Dream Router aufgebaut hatte kam nach einiger Zeit die Zeit in meinem IT-Equipment durcheinander. Nach einiger Suche stellte sich heraus: Der UDR (im Gegensatz zum Unifi Gateway, welchen ich zuvor besessen hatte) kann kein NTP (Network Time Protocol). NTP ist ein Netzwerkprotokoll, das verwendet wird, um die Uhrzeit von Computern und anderen Geräten im Internet synchron zu halten. Da viele Anwendungen und Dienste von der Uhrzeit abhängig sind ist es wichtig, dass die Zeit genau ist. Beispielsweise werden die Uhrzeit und das Datum verwendet, um sicherzustellen, dass Dateien und Ereignisse in der korrekten Reihenfolge gespeichert und ausgeführt werden.

NTP verwendet ein Client-Server-Modell, bei dem ein NTP-Client eine Verbindung zu einem NTP-Server herstellt und von diesem die aktuelle Uhrzeit abruft. Der NTP-Server holt seine Uhrzeit von einer oder mehrerer Referenzuhren, die in der Regel GPS-Uhren oder Atomuhren sind und sehr genaue Uhrzeiten liefern. Der NTP-Client passt dann seine eigene Uhrzeit an die Uhrzeit des NTP-Servers an, um sicherzustellen, dass die Uhrzeit auf dem Client genau ist. Da ich meine Geräte alle auf den Unifi Gateway (und damit nun die UDM) eingestellt hatte, waren meine Geräte sehr “zeitlos” geworden ;) Das sollte natürlich nicht so bleiben.

Setup von podman

Damit der NTP-Server wieder laufen kann muss man zunächst podman als container Engine aufsetzen, da der NTP Server als Container  laufen wird. Dies ist hier beschrieben.

Setup des NTP Containers

um den Container automatisch zu starten muss die entsprechende Datei angelegt werden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
cat > /data/on_boot.d/20-ntp.sh <<EOF
#!/bin/sh
CONTAINER=ntp
if podman container exists ${CONTAINER}; then
  podman start ${CONTAINER}
else
  podman run --device=/dev/net/tun --publish=123:123/udp --cap-add=SYS_TIME --name ${CONTAINER} -d tusc/chrony-udm
fi
EOF
chmod a+x /data/on_boot.d/20-ntp.sh

Nun wird der Container herunter geladen:

1
podman pull tusc/chrony-udm

Anschließend wird der container gestartet:

1
/data/on_boot.d/20-ntp.sh

Quellen