2.12 Timeserver
 
Ein entscheidender Faktor in einem gut funktionierenden LAN ist die Zeit. Auch im privaten LAN ist eine synchrone und möglichst genaue Zeit sinnvoll. E-Mails werden z. B. mit einem Zeitstempel versehen und beim Empfänger nach diesem Kriterium sortiert. Ihre Nachrichten werden bei einer falsch gehenden Uhr unter Umständen gar nicht bemerkt, weil sie sich in der Vergangenheit einreihen.
Hardwareuhr
Ein PC verfügt über einen eingebauten Zeitgeber, die Real Time Clock (RTC). Diese Uhr hängt an einer kleinen Batterie, ist aber trotzdem meistens sehr ungenau. Sollte keine bessere Quelle zur Verfügung stehen, macht sich jeder Teilnehmer im LAN mit seiner RTC sein eigenes Bild von der richtigen Zeit.
Systemzeit
Neben dieser Hardwarezeit kennt das Betriebssystem noch die Systemzeit. Die Systemzeit kann beim Booten mit der RTC abgeglichen werden. Die Systemzeit ist dann genauso ungenau wie die Hardwarezeit. Die Logik der Sommer- und Winterzeit wird übrigens in der Regel nicht von der RTC übernommen. Das übernimmt das Betriebssystem.
Webmin
Die Systemzeit und die Hardwarezeit können Sie mit dem Webmin einsehen und auch verändern. Das Modul Hardware • Systemzeit liefert einen Überblick (vgl. Abbildung 14.83). Sie können die Zeit entweder manuell einstellen, die Hardware- und die Systemzeit aneinander anpassen oder mit einem Zeitserver im Internet abgleichen. Der Webmin versucht nicht nur ein Verfahren (Protokoll), um die Zeit von dem angegebenen Server zu erfragen.
Sie sollten die Zeit einmal mit dem Webmin auf den aktuellen Stand bringen, da der Dienst bei zu großen Abweichungen der Systemzeit gar nicht erst aktiv wird.
NTP/XNTP
Wie bekommen nun alle Teilnehmer im LAN die gleiche Systemzeit? Es wäre ein sehr umständlicher Weg, die Hardwareuhr ständig zu aktualisieren. Deswegen wurden verschiedene Protokolle entwickelt, die einen mehr oder weniger aufwändigen Zeitabgleich zulassen. Ich schlage Ihnen den Dienst NTP (Network Time Protocol) vor, der von dem Netzwerkserver angeboten werden kann und von den meisten Clients im LAN ohne weitere Software verstanden wird.
Exkurs
Das NTP-Protokoll führt über einen ausgeklügelten Mechanismus dazu, dass selbst Rechner über große Entfernungen die Zeit sehr genau aushandeln können. Dabei wird sogar die Laufzeit der Pakete berücksichtigt. In größeren Netzwerken können dann mehrere Zeitserver die Referenzzeit vereinbaren. Ein Server, der stark von den anderen abweicht, wird nach einer Art Abstimmung entmachtet, der Rest bleibt weiter in Kontakt und bestimmt die Zeit im LAN. Die Server sind je nach Genauigkeit in Schichten gegliedert (Stratum). Je niedriger das Stratum, desto höher die Genauigkeit und Wertigkeit des Servers. Das NTP-Protokoll kommuniziert über den Port 123.
2.12.1 Zeitservice aufsetzen
 
Um den Zeitserver einzurichten, müssen Sie die Datei /etc/ntp.conf editieren. Ich stelle Ihnen der Reihe nach die Einträge vor, die zu machen sind.
Zunächst tragen Sie einen oder mehrere Zeitserver aus dem Internet ein. Im Internet finden sich Listen mit Zeitservern. Auf der Seite http://www.ntp.org finden Sie den Link Time Servers. Suchen Sie sich Zeitserver in Ihrer Nähe aus!
server ntp0.fau.de
server ntp1.ptb.de
Das Driftfile speichert die Information, wie stark die Systemzeit von der Referenzzeit im Internet abweicht:
driftfile /etc/ntp.drift
Auf Authentisierung kann verzichtet werden:
authenticate no
Das Modul System • System-Start und -Stop können Sie wie gewohnt verwenden, um den Zeit-Server zu starten. Sie sollten natürlich auch dafür sorgen, dass der Dienst während des Bootvorganges automatisch gestartet wird. Bei siegfried heißt der zu startende Dienst ntp-simple, bei SUSE heißt er xntp.
Test
Die Funktion des Servers testen Sie mit dem Kommando ntpq. Das q im Namen steht für query (dt. abfragen, erkundigen). Mit dem Kommando peers erhalten Sie einen Überblick über die Verbindungen des NTPs zu seinen Servern. Nach einigen Minuten sucht sich der lokale NTP-Client einen Server zur Synchronisation aus der Liste, den er mit einem »*« markiert (vgl. Abbildung 14.84). Ein Server, der für diesen als Ersatz dienen könnte, wird mit einem »+« gekennzeichnet.
Auch der FLI4L-Softwarerouter hält eine Zeitserverfunktion bereit (vgl. Kapitel 16.4.3, Timeserver).
2.12.2 Zeitsynchronisierung beim Systemstart
 
Es ist sinnvoll, die Systemzeit gleich beim Systemstart mit einem Server abzugleichen. Geschieht dies nicht und die lokale Zeit weicht nicht unerheblich von der des Zeitservers ab (in der Regel 1 000 Sekunden), dann verweigert der NTP-Server den Dienst.
SUSE
SUSE bietet Ihnen die Möglichkeit, beim Boot des Systems einen oder mehrere Server anzugeben, von dem mit blindem Vertrauen die Zeit übernommen wird. Die Einstellung wird über den Eintrag XNTP_INITIAL_NTPDATE in der Datei /etc/sysconfig/xntp vorgenommen. Standardmäßig steht hier AUTO-2. Das bedeutet, dass die ersten beiden Server aus der Datei /etc/ntp.conf gelesen werden. Die Abfrage der Server erfolgt automatisch beim Start des Dienstes xntp.
Debian/siegfried
Um diese Funktion bei siegfried einzurichten, müssen Sie die Datei /etc/default/ntp-servers editieren. Hier tragen Sie dann einen oder mehrere Server Ihrer Wahl untereinander ein. Hier ist noch besonders darauf zu achten, dass ein Dienst zusätzlich gestartet werden muss: der Dienst ntpdate.
2.12.3 Clients an den Zeitserver anbinden
 
Die Anbindung der Clients an den Server ist einfach. In den meisten Fällen ist es selbst für Windows-Betriebssysteme nicht nötig, zusätzliche Software aufzuspielen. Mit dem YaST2 • Netzwerkdienste • NTP-Client ist es unter SUSE zusätzlich möglich, den NTP-Dienst zu konfigurieren.
Linux
Entsprechend der Einrichtung des Servers sieht die Anbindung eines Linux-PCs im LAN aus:
server siegfried.local
driftfile /etc/ntp.drift
authenticate no
Entsprechend den Einstellungen beim NTP-Server sollten Sie auch beim Client einen Rechnernamen für den Abgleich der Zeit beim Boot eintragen. Überprüfen Sie außerdem, dass die Dienste gestartet werden!
Windows
Unter Windows 2000 und Windows XP können Sie über die Kommandozeile einen SNTP-Client (Simple Network Time Protocol) einrichten. Ein SNTP-Client kann seine Zeit mit einem NTP-Server abgleichen, umgekehrt funktioniert es nicht.
Klicken Sie auf Start • Ausführen... und starten Sie den Kommandointerpreter cmd! Mit einem Kommando legen Sie den NTP-Server für Windows XP und Windows 2000 fest:
net time /setsntp:<Hostname>
Mit dem Kommando net time /querysntp sehen Sie die aktuelle Konfiguration. Die Einstellungen werden permanent in der Registry-Datenbank gespeichert.
Zum Schluss stellen Sie noch sicher, dass der Windows-Zeitgeberdienst gestartet wird. Klicken Sie auf Systemsteuerung • Verwaltung • Dienste und sorgen Sie dafür, dass der Starttyp des Dienstes Windows-Zeitgeber auf Automatisch steht.
Für Windows 95/98/NT gibt es eine große Anzahl an Freeware-(S)NTP-Clients. Als Beispiel sei an dieser Stelle nur das Programm Automachron genannt, das Sie unter http://www.oneguycoding.com/automachron und auf der Buch-DVD im Verzeichnis /software/management finden. Die Konfiguration ist in Kapitel 16.4.4, Clients beschrieben.
2.12.4 Andere Zeitdienste als NTP
 
Es gibt Netzwerkteilnehmer, die mit dem NTP-Protokoll nichts anfangen können. Dabei handelt es sich meistens um Hardware wie z. B. Router.
time und daytime
Diese LAN-Teilnehmer benötigen andere Dienste wie den time-Dienst (Port 37) oder den daytime-Dienst (Port 13). Diese Dienste brauchen den Superdämon inetd bzw. xinetd, um laufen zu können. Der inetd ist bei siegfried installiert, SUSE verwendet standardmäßig den xinetd. Die Superdämonen werden mit dem Webmin-Modul Netzwerk • Internet-Dienste und -Protokolle (siegfried) bzw. Netzwerk • Erweiterte Internet-Dienste (SUSE) konfiguriert.
inetd
Sie können je nach Bedarf unter den Diensten daytime (tcp), daytime (udp), time (tcp) und time (udp) wählen. In der folgenden Maske klicken Sie zunächst auf Programm aktiviert und dann auf Speichern (vgl. Abbildung 14.85).
xinetd
Die Konfiguration des xinetd erfolgt entsprechend. Mit der Auswahl Service enabled? bestimmen Sie, ob die Dienste wie time und daytime über den Superdämon xinetd abgeboten werden sollen. Mit einem Klick auf Speichern wird die Konfigurationsdatei /etc/xinetd.conf geschrieben.
inetd/xinetd
Jetzt müssen Sie nur noch sicherstellen, dass der frisch konfigurierte (x)inetd auch gestartet wird. Dazu bedienen Sie sich des Webmin-Moduls System • System-Start und -Stop.
Test
Die Funktion testen Sie mit einem Telnet auf den entsprechenden Port des Protokolls, also telnet <Netzwerk-Server> 13 bzw. telnet <Netzwerk-Server> 37. Die Rückgabe der Zeit erfolgt über Port 13 (daytime) in Klartext, bei Port 37 (time) sehen Sie einen Binärcode (vgl. Abbildung 14.86).
|