Ansprechen eines Time-Servers im Internet #

Hierzu gibt es im groben zwei Möglichkeiten:

eigener Server #

Wer es richtig professionell haben will, kann sich in seinem lokalen Netz einen eigenen Time-Server aufsetzen. Dazu dient das Debian-Paket ntp. Ich (ThomasBayen) habe damit einige Erfahrungen. Wenn hieran Interesse besteht, kann ich das hier mal zusammenschreiben.

Client #

Will man nur seine Uhr richtig stellen, installiert man dazu das Debian-Paket ntpdate. Jetzt hat man den ntpdate-Befehl, dem man einfach die Adresse eines Timeservers im Internet übergibt, woraufhin die Uhrzeit richtig gestellt wird, z.B.

  ntpdate ntp1.sda.t-online.de

Ein anderer mir bekannter Timeserver ist clock.psu.edu. Ansonsten hilft die nächste Suchmaschine zum Thema "timeserver list" gerne weiter.

Es gibt auf http://ntp.org einen Pool von Timeservern, der auch von Debian benutzt wird. Dann nimmt man 0.debian.pool.ntp.org als Serveradresse.

Der Timeserver 0.debian.pool.ntp.org rückt mir übrigens immer nur einmal die Zeit heraus und dann nicht mehr (für eine ganze Zeit). Ich denke, das ist ein Schutz gegen DOS-Attacken. Da sollte man beim herumspielen beachten. Zum Testen kann man dann alternativ die Server 1..., 2... etc. benutzen. Dasselbe Problem ist übrigens auch wichtig, wenn man ein lokales Netzwerk betreibt und mehrere Rechner täglich synchronisieren will. Alle meine Rechner haben nach aussen hin ja die gleiche IP-Adresse. Da die daily-Skripte ja alle gleichzeitig ausgeführt werden, sollte also jeder Rechner im Netz einen anderen Timeserver abfragen. Kann man natürlich auch als Feature sehen: Wenn die daily-Skripte gleichzeitig abgearbeitet werden, brauche ich ja die Uhr gar nicht zu stellen... :-)

dauernde Aktualisierung #

Die richtig gestellte Zeit wird übrigens heutzutage bei modernen Distributionen auch über das Einschalten hinweg, d.h. in die Hardware-Uhr gespeichert. Also muss man seine Uhrzeit nur ab und an synchronisieren. Wer es allerdings gerne genau hat und sich vor häufigen Internet-Verbindungen nicht scheut (z.B. wegen einer Standleitung oder Flatrate) kann den entsprechenden Server in /etc/init.d/ntpdate eintragen und die Exit-Befehle auskommentieren. Jetzt wird ntpdate bei jedem hochfahren von selbst gestartet.

Wer seinen lokalen Rechner nicht so oft hochfährt (soll bei Linux ja vorkommen...), kann sich zusätzlich in /etc/cron.weekly ein Cron-Script anlegen:

  aptitude install ntpdate
  echo -e '#!/bin/bash\nntpdate 0.debian.pool.ntp.org\n' >/etc/cron.weekly/my-ntpdate
  chmod a+x /etc/cron.weekly/my-ntpdate

Anstatt cron.weekly kann man natürlich auch cron.daily nehmen. Das ist abhängig davon, welcher Art die Probleme sind, die man hat.

Tip für Betrieb im lokalen Netz #

Wenn man will, daß alle Rechner im lokalen Netz ganz einfachen Zugriff auf die gleiche Zeit haben, muss man den Server überall eintragen. Wenn dieser nun irgendwann den Dienst einstellt oder man wechselt den Provider und hat auf einmal keinen Zugriff mehr auf z.B. den T-Online-Timeserver, ist das ärgerlich. Die naheliegende Lösung ist, einen eigenen lokalen Server aufzusetzen. Man kann aber auch folgende Zeile im Nameserver einfügen:

  timeserver      IN      CNAME   ntp1.sda.t-online.de.            

Jetzt kann jeder Rechner im lokalen Netz mit

  ntpdate timeserver

auf den originalen Timeserver zugreifen. Wenn der Timeserver wechseln sollte, muss dies nur einmal im Nameserver geändert werden.

Firewall #

ntpdate benutzt als Source- und Destination-Port den ntp-Port (123).


Tags:  Linux

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-3) was last changed on 07-Nov-2009 10:47 by ThomasBayen