Rechner mit Atomuhr synchronisieren

Das Network Time Protokoll dient zur standardisierten Synchronisation der Rechnerzeit via UDP. Mit ein paar Befehlen läßt sich dies mit jedem gängigen Betriebssystem (Windows, Linux, BSD) realisieren.

Windows XP

Windows XP bietet nach einem Doppelklick auf die Windows-Uhr die neue Registerkarte "Internetzeit" an. Über diese Registerkarte kann die Systemzeit mit einem NTP-Server (Network Time Protocol Server, siehe unten) einmalig synchronisiert werden.

Für den ständigen Abgleich sind folgende Schritte nötig:

  1. Eingabeaufforderung: Start -> Alle Programme -> Zubehör -> Eingabeaufforderung
  2. w32tm /config /syncfromflags:manual /manualpeerlist: Peerliste, z.B.
    w32tm /config /syncfromflags:manual /manualpeerlist: 0.de.pool.ntp.org,1.de.pool.ntp.org,2.de.pool.ntp.org,3.de.pool.ntp.org
  3. w32tm /config /update

Siehe dazu auch den Link Synchronisieren der Uhrzeit mit dem Windows-Zeitdienst in Windows XP" von Microsoft Hilfe und Support

Windows 2000

  1. Systemsteuerung -> Verwaltung -> Dienste: Windows-Zeitgeber auf automatischen Start stellen
  2. Eingabeaufforderung öffnen (z.B. Start -> Ausführen: cmd)
  3. net time /setsntp:<Zeitserver>
  4. w32tm -once (Uhr wird sofort gestellt)
  5. w32tm -period 65532 (Das System versucht so lange alle 45 Minuten die Uhr zu aktualisieren, bis es dreimal geklappt hat. Danach wird täglich synchronisiert. Man hat keine Gelegenheit zur erneuten Eingabe, das Fenster kann aber normal geschlossen werden.)

Unix-Derivate

Für Unix-Derivate sind grundsätzlich Root-Rechte erforderlich

K Desktop Environment (KDE)

  • Rechter Mausklick auf die Uhrzeit
  • Adjust Date and time auswählen
  • Auforderung der EIngabe des Root-Passwords nachkommen
  • Set date and time automatically aktivieren und rechts daneben einen Zeitserver auswählen oder einen neuen angeben

Anmerkung: Bei dieser Methode dürfen Daemonen wie ntpd nicht laufen!

OpenNTPD und NTP

OpenNTPD oder NTP (vormals XNTP) kann zum Synchronisieren der Zeit unter Unix-Serivaten benutzt werden. Beide Dämonen lassen sich ähnlich konfigurieren:

NTP unter FreeBSD

1. File /etc/ntp.conf editieren:

server <IP oder Name des 1. Zeit-Servers>
server <IP oder Name des 2. Zeit-Servers>
server <IP oder Name des 3. Zeit-Servers>
driftfile /etc/ntp.drift

z.B.:
server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org
driftfile /etc/ntp.drift
Anmerkungen:

  • Ein Zeitserver reicht zwar zum Synchronisieren, kann aber unzuverlässig sein
  • Unter FreeBSD 5.* und 6.* die unterste Zeile (^driftfile.*) löschen

2. XNTPD in der /etc/rc.conf aktivieren. Dazu steht unter /etc/defaults/rc.conf mehr. Z.B.:

FreeBSD 4.*:
xntpd_enable="YES"
xntpd_flags="-c /etc/ntp.conf -p /var/run/ntpd.pid"

FreeBSD 5.* (und höher)
ntpd_enable="YES"

Es empfiehlt sich, die genaue Zeit bei jedem booten frisch vom Zeit-Server zu holen, da NTP-Daemonen nur leichte Abweichungen korrigieren. Mit dem folgenden Eintrag wird die Uhr "gestepped":

ntpd_sync_on_start="YES"

ntpdate, welches mit den folgenden Optionen aufgerufen wird, ist veraltet und sollte nicht mehr benutzt werden.
ntpdate_enable="YES"
ntpdate_flags="-b <IP oder Name eines Zeit-Servers>"

OpenNTPD

Nach dem Beispiel aus dem Linux-Magazin von Charly Kühnast benutze ich den OpenNTPD. Wenn OpenNTPD installiert ist, reicht die Konfigurationsdatei in /etc/ntpd.conf, bzw. unter FreeBSD /usr/local/etc/ntpd.conf der Eintrag

server <IP oder Name des 1. Zeit-Servers>
server <IP oder Name des 2. Zeit-Servers>
server <IP oder Name des 3. Zeit-Servers>

Auch hier reicht die Angabe eines Zeit-Servers aus. Zusätzlich sollte man in /etc/ntp.conf mindestens hinter einem der Server (der, der netztechnisch am nächsten gelegen ist), "iburst" angeben

Soll der Rechner außerdem als eigener Zeit-Server fungieren, so muss die zusätzliche Zeile

listen <IP>

eingefügt werden. IP ist die IP des Rechners, unter der die Zeit zur verfügung gestellt werden soll. Im einfachsten Fall also die eigene IP des Rechners.
Unter FreeBSD 4.* oder 5.* sollte dann noch die /etc/rc.conf editiert werden:

openntpd_enable="YES"

und beim nächsten Booten startet der Daemon automatisch.

Links

Zeitserver

Name Aktuelle IP Beschreibung
ptbtime1.ptb.de <?php echo gethostbyname('ptbtime1.ptb.de'); ??> Physikalisch-Technische Bundesanstalt in Braunschweig
ptbtime2.ptb.de <?php echo gethostbyname('ptbtime2.ptb.de'); ??>  
0.de.pool.ntp.org <?php echo gethostbyname('0.de.pool.ntp.org'); ??> NTP-Pool Deutschland
1.de.pool.ntp.org <?php echo gethostbyname('1.de.pool.ntp.org'); ??>
2.de.pool.ntp.org <?php echo gethostbyname('2.de.pool.ntp.org'); ??>
3.de.pool.ntp.org <?php echo gethostbyname('3.de.pool.ntp.org'); ??>