ntp0b.png
Edit v1.001 from 2009-05-25 to 2009-06-19 by TSc

Zeitsyncronisierung mit NTP

Jeder Firmenchef kennt das Problem, bei einer anliegenden Besprechung um 12:00 Uhr fehlen noch ein paar Teilnehmer. Kurz darauf treffen diese nun auch endlich ein, mit der Ausrede: Auf meiner Uhr war es erst 11:40 Uhr Aus diesem und auch vieler anderer denkbarer Gründe, verraten wir Ihnen, wie man solche Zeitprobleme vermeiden kann. Hier finden Sie eine Anleitung, wie man eine Zeitsyncronisierung aller Clients mit hauseigenem Uhrzeit-Server bewerkstelligt. Dadurch kann es auch nicht mehr zu solchen Ausreden kommen, wie Es war doch erst..., oder Bei mir ist es erst.... NTP lässt sich auch auf einen Windows oder Novell NetWare−Server installieren.

Edit v1.000 from 2009-05-25 to 2009-06-04 by TSc

NTP-Server mit YAST einrichten

  1. Zu erst müssen die Pakete ntp und ntpdate installiert werden. Wie die Pakete installiert werden, hängt von der Linux-Distribution ab. Bei SUSE Linux kann man die Pakete ohne großen Aufwand im YAST installieren. Bei SUSE Linux ist es auch oft so, das NTP bereits installiert ist.
  2. Als nächstes wird der NTP-Dienst konfiguriert. Dazu geht man im YAST zum Punkt Network Services, und rechts im Bild zu Punkt NTP Configuration (Siehe Abb. 1a).
    ntp1a.png Abb. 1a: YAST, NTP konfigurieren.


    Im nächsten Bild kann dann die eigendliche Konfiguration begonnen werden.
    ntp1b.png Abb. 1a: YAST, NTP Konfiguration.

    Den Dienst bei jedem Systemstart starten zu lassen, wäre für die Zeitsyncronisation sinnvoll. Mit Alt+D kann man dies bei Automatically Start NTP Daemon einstellen. Als 2. trägt man den NTP-Server ein. Wir verwenden generell pool.ntp.org, da bei dieser Adresse automatisch der am nächsten gelegene Server ausgewählt wird. Zu guter letzt kann man die Adresse testen, indem man Alt+T drückt. Bei Advanced Configuration hat man die Möglichkeit, mehr als ein Server anzugeben, allerdings ist das bei pool.ntp.org nicht notwendig.
  3. Bevor nun richtig losgelegt werden kann, muss sichergestellt werden, das die Firewall den Zugriff auf Port 123 (NTP) zuläßt. Außerdem sollte die Zeitzone des Server mit der realen Zeitzone übereinstimmen. Mit dem Befehl tzselect kann man die richtige Zeitzone einstellen.
Edit v1.000 from 2009-05-25 to 2009-06-04 by TSc

NTP-Server ohne YAST einrichten

Wenn man kein Yast zur Verfügung hat, kann man den NTP-Dienst auch ohne Yast installieren. In dieser Beschreibung hat unser Zeitserver die IP-Adresse 192.168.0.56.

  1. Zuerst werden die benötigten Pakete heruntergeladen. Unter Debian läßt sich das beispielsweise so realisieren:

    apt-get install ntp ntpdate

    Wenn nichts schief geht, sind diese beiden Pakete nun installiert und vorkonfiguriert.

  2. Nun muss der Dienst konfiguriert werden. Dazu öffnen Sie die Datei /etc/ntp.conf mit einem Editor ihrer Wahl. Dort trägt man dann folgendes ein:

    server pool.ntp.org #Die Zeitquelle
    driftfile /var/lib/ntp/drift/ntp.drift #Zeit-Abweichungen?
    logfile /var/log/ntp #Logging ist immer gut, aber nicht immer notwendig.
    restrict 127.0.0.1 #Zugriff von Localhost erlauben
    restrict 192.168.0.0 mask 255.255.255.0 #Zugriff vom LAN erlauben
    restrict default notrust nomodify nopeer #Standardmaeszig alles verbieten
    restrict pool.ntp.org #Zugriff auf die Zeitquelle erlauben

    Das ist das minimum, damit die Zeitsyncronisierung funktioniert. Natürlich könnte man mehrere Quellen angeben, jedoch hat man bei pool.ntp.org den Vorteil, das er selbst als Weiche fungiert, d.h. er wählt automatisch den nächst besten Server für uns aus. Mit dem # werden Kommentare eingeleitet.

  3. Nun lassen wir den Server zum Test einmal die Zeit holen. Dazu führt man den folgenden Befehl aus:

    ntpdate pool.ntp.org

    Wenn alles klappt bekommt man in etwa folgende Ausgabe:

    4 Jun 13:48:27 ntpdate[3709]: adjust time server 188.40.33.22 offset -0.022419 sec

    Wichtig ist dabei das offset. Dieser Wert sollte möglichst klein sein. Dabei handelt es sich in Prinzip um eine Zeitdifferenz, die oftmals durch eine falsche Zeitzonen-Einstellung verursacht wird. Wenn der Wert zu hoch ist, also außerhalb von 0 und -0, dann sollte man mit dem Befehl tzselect die richtige Zeitzone einstellen. Nach der Zeitzonen-Anpassung sollte der Wert klein sein.

  4. Zu guter letzt kann man den Dienst starten, mit:

    /etc/init.d/ntp start
  5. Jetzt sollte man testen, ob man tatsächlich von unserem eigenen Zeitserver die Zeit holen kann. Entweder auf Linux mit dem Befehl:

    ntpdate 192.168.0.56

    oder z.B. auf Windows XP® bei Eigenschaften von Datum und Uhrzeit -> Internetzeit Bei Windows 2000® hingegen läßt sich das nur per Komandozeile realisieren. Folgender Befehl trägt den Zeitserver in die Registry ein:

    net time /SETSNTP:192.168.0.56

    Und dieser Befehl fragt die Zeit ab:

    w32tm /resync

    oder wenn es sich um eine ältere Version handelt, dann

    w32tm -once

    Hinweis: net time /set funktioniert nur mit SNTP, von daher benutzen wir w32tm zur Syncronisierung. Weiterhin muss erwähnt werden das die Befehle auch unter Windows XP funktionieren, allerdings ist die grafische Uhrzeit-Einstellung unabhängig von der Kommandozeilen-Einstellung.

Edit v1.000 from 2009-05-25 to 2009-06-04 by TSc

Linux-Client einrichten

  1. Ähnlich wie beim Server wird zuerst ein Paket installiert. Dabei muss das Paket ntpdate installiert werden.
    Beispielsweise unter Debian:

    apt-get install ntpdate
  2. Jetzt müssen Wir nur noch die Zeit syncronisieren.

    ntpdate 192.168.0.56
Edit v1.000 from 2009-05-25 to 2009-06-04 by TSc

Windows 2000® -Client einrichten

Unter Windows 2000® erfolgt die Zeitsyncronisierung nur per Kommandozeile.

  1. Zuerst die Kommandozeile aufrufen, also Start->Ausführen->cmd

  2. Nun geben wir den Zeitserver an:

    net time /SETSNTP:192.168.0.56
  3. Nun gibt man nur noch den Befehl, das er die Zeit syncronisieren soll.

    w32tm -once

    Diesen Befehl könnte man z.b. in den Autostart eintragen, damit Windows die Uhrzeit automatisch beim Start syncronisiert. Wer ganz sicher gehen will, kann zusätzlich auch den Befehl bei Punkt 2 mitverwenden.

Edit v1.000 from 2009-05-25 to 2009-06-04 by TSc

Windows XP® -Client einrichten

Unter Windows XP® erfolgt die Zeitsyncronisierung wahlweise per Kommandozeile oder in der Uhrzeiteinstellung.

per Kommandozeile
  1. Zuerst die Kommandozeile aufrufen, also Start->Ausführen->cmd

  2. Nun geben wir den Zeitserver an:

    net time /SETSNTP:192.168.0.56
  3. Nun gibt man nur noch den Befehl, das er die Zeit syncronisieren soll.

    w32tm /resync

    Diesen Befehl könnte man z.b. in den Autostart eintragen, damit Windows die Uhrzeit automatisch beim Start syncronisiert. Wer ganz sicher gehen will, kann zusätzlich auch den Befehl bei Punkt 2 mitverwenden.

per grafische Uhrzeiteinstellung
  1. Ein Doppelklick auf die Uhr im Systray.
  2. Zur Registerkarte Internetzeit wechseln.
  3. In das Auswahlfeld die IP-Adresse des Servers eintragen, also 192.168.0.56.
  4. Ein druck auf Jetzt aktualisieren.
ntp5a.png
Abb 5a: Die Internetzeit unter Windows XP