Zeitsynchronisation mit chrony
Der Server soll für die anderen Rechner im lokalen Netz immer die aktuelle Uhrzeit bereitstellen. Dazu gibt es im Internet sogenannte Time-Server, die die aktuelle Uhrzeit bereitstellen. Wir verwenden chrony 1.14. Chrony hat den Vorteil, die Uhr nicht ruckweise zu verstellen, sondern die interne Uhr schneller oder langsamer laufen zu lassen, um die Zeit langsam anzugleichen. Sonst kann es passieren, dass Dateien angelegt werden, die Uhrzeit zurückgestellt wird und diese Dateien dann ein Erstellungsdatum in der Zukunft haben. Dabei muß der Kernel mit der Option
[*] Enhanced Real Time Support
aktiviert sein. Man findet diese Option unter "Character devices". Chrony wird über die zentrale Konfigurationsdatei /etc/chrony.conf gesteuert.
server 129.69.1.153 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 130.149.17.8 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 130.149.17.21 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 131.173.17.7 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 131.188.1.31 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 131.188.1.40 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 131.188.1.45 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 131.188.34.45 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 131.188.34.75 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 131.188.34.107 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 134.93.132.118 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 194.95.250.35 minpoll 12 maxpoll 12 maxdelay 0.4 offline
server 194.95.250.36 minpoll 12 maxpoll 12 maxdelay 0.4 offline
allow 127.0.0.1
allow 192.168.0
commandkey 25
driftfile /etc/chrony.drift
dumponexit
dumpdir /var/log/chrony
initstepslew 30 130.149.17.8 131.173.17.7 134.93.132.118 194.95.250.35
keyfile /etc/chrony.keys
log measurements rtc satistics tracking
logdir /var/log/chrony
logchange 0.5
mailonchange root@localhost 5
maxupdateskew 100.0
rtcfile /etc/chrony.rtc
Die ersten Zeilen definieren, welche Server zu befragen sind. Die Pollanweisungen dahinter geben an, dass mindestens und maximal alle 2 hoch 12 (4096) Sekunden die Server zu befragen sind. maxdelay sagt, dass die gelieferte Zeit zu berücksichtigen ist, wenn die Differenz zur lokalen Zeit weniger als 0.4 Sekunden ist. offline bedeutet, dass die Server erst befragt werden, wenn der Rechner online ist. Damit wird verhindert, dass unnötige Verbindungen aufgebaut werden. Wir werden dem Dämon mitteilen, wann der Rechner online bzw. offline ist. Die weiteren Optionen in der Übersicht:
Option | Bedeutung |
---|---|
allow | gibt an, welche Rechner den Dämon steuern dürfen |
driftfile | hier legt chrony ab, wie die interne Uhr angepasst wurde |
dumponexit | chrony soll beim Beenden die Uhrzeit in der RealTimeClock speichern |
initstepslew | diese Server werden zuerst befragt, um die Uhrzeit festzustellen, wenn die Uhrzeiten zur lokalen Zeit um mehr als 30 Sekunden abweicht, wird die Uhr ruckweise verstellt |
keyfile | die Passwörter für die Steuerung des Dämons |
log | was soll protokolliert werden |
logdir | wo sollen die protokollierten Informationen gespeichert werden |
logchange | chrony protokolliert, wenn die Uhr um mehr als 0.5 Sekunden verstellt wird |
mailonchange | wenn die Uhr um mehr als 5 Sekunden verstellt wird, dann Mail an root |
maxupdateskew | hier werden 100 Promille als Fehlertoleranz festgelegt |
rtcfile | hier speichert chrony, wann es welche Werte in die RealTimeClock schreibt |
Die Option "commandkey" gibt an, welches Passwort benötigt wird. Der Dämon kann verschiedene User berücksichtigen und jedes Kommando kann einer Nummer zugeordnet werden. Die Passwörter werden in /etc/chrony.keys definiert. Jede Zeile besteht aus der Kommandonummer und einem Passwort im Klartext.
25 chrony
Nun kann der Dienst gestartet werden.
/usr/local/sbin/chronyd -r -s
Soll der Uhrzeitabgleich nur erfolgen, wenn der Rechner gerade online ist, so sind in der Datei /etc/ppp/ip-up noch die folgenden Zeilen einzufügen.
cat << EOF | /usr/local/bin/chronyc
password chrony
online
EOF
Analog verfährt man in der /etc/ppp/ip-down.
cat << EOF | /usr/local/bin/chronyc
password chrony
offline
dump
writertc
EOF
Damit die Windowsrechner im lokalen Netz die Zeit aktualisieren können, wird die folgende Verknüpfung im Ordner Autostart angelegt.
net time \\krypton /set /yes
Nun wird bei jedem Systemstart eines Windowsrechners die Zeit in der Hardware-Uhr aktualisiert. Weiterhin müssen in der Datei /etc/inetd.conf die folgenden Zeilen hinzugefügt werden.
time stream tcp nowait root internal
time dgram udp wait root internal