Inhaltsverzeichnis
Zusammenfassung
Der NTP-(Network Time Protocol-)Mechanismus ist ein Protokoll für die Synchronisierung der Systemzeit über das Netzwerk. Erstens kann ein Computer die Zeit von einem Server abrufen, der als zuverlässige Zeitquelle gilt. Zweitens kann ein Computer selbst für andere Computer im Netzwerk als Zeitquelle fungieren. Zwei Ziele sollen erreicht werden: die absolute Zeit beizubehalten und die Systemzeit aller Computer im Netzwerk zu synchronisieren.
Das Aufrechterhalten der genauen Systemzeit ist in vielen Situationen wichtig. Die integrierte Hardware-Uhr (BIOS-Uhr) erfüllt häufig nicht die Anforderungen bestimmter Anwendungen, beispielsweise Datenbanken oder Cluster. Die manuelle Korrektur der Systemzeit würde schwerwiegende Probleme nach sich ziehen; das Zurückstellen kann beispielsweise zu Fehlfunktionen wichtiger Anwendungen führen. Die Systemzeiten der in einem Netzwerk zusammengeschlossenen Computer müssen in der Regel synchronisiert werden. Es empfiehlt sich aber nicht, die Zeiten manuell anzugleichen. Vielmehr sollten Sie dazu NTP verwenden. Der NTP-Dienst passt die Systemzeit ständig anhand zuverlässiger Zeitserver im Netzwerk an. Zudem ermöglicht er die Verwaltung lokaler Referenzuhren, beispielsweise funkgesteuerter Uhren.
Der NTP-Daemon (ntpd) im ntp
-Paket ist so voreingestellt, dass die Uhr des lokalen Computers als Zeitreferenz verwendet wird. Das Verwenden der (BIOS-) Uhr ist jedoch nur eine Ausweichlösung, wenn keine genauere Zeitquelle verfügbar ist. YaST erleichtert die Konfiguration von NTP-Clients.
Die NTP-Client-Konfiguration mit YaST (ntpd und den abzufragenden Server auf dem Karteireiter fest.
+ ) benötigt zwei Dialogfelder. Legen Sie den StartmodusWählen Sie
, wenn Sie alle Einstellungen selbst konfigurieren möchten.
Auf Laptops und anderen Computern, die automatisch angehalten werden, wählen Sie ntpd auf dem lokalen Computer zum Synchronisieren. Stattdessen erstellt YaST einen crontab-Eintrag (/etc/cron.d/novell.ntp-synchronize
), mit dem die Zeit gemäß dem Feld mit dem Zeitserver verglichen wird. Weitere Informationen zu cron finden Sie unter Abschnitt 18.1.2, „Das cron-Paket“.
Wählen Sie ntpd automatisch beim Booten des Systems zu starten. Eine Option aus 0.opensuse.pool.ntp.org
, 1.opensuse.pool.ntp.org
, 2.opensuse.pool.ntp.org
und 3.opensuse.pool.ntp.org
ist vorab ausgewählt.
Die Server und anderen Zeitquellen für die Abfrage durch den Client sind im unteren Bereich im Karteireiter
aufgelistet. Bearbeiten Sie diese Liste nach Bedarf mithilfe der Optionen , und . Protokoll anzeigen können die Protokolldateien Ihres Clients angezeigt werden.Klicken Sie auf
, um eine neue Quelle für Zeitinformationen hinzuzufügen. Wählen Sie im nachfolgenden Dialogfeld den Quellentyp aus, mit dem die Zeitsynchronisierung vorgenommen werden soll. Mit den zur Verfügung stehenden Optionen können SieGeben Sie in der Pulldown-Liste unter Abbildung 25.2, „YaST: NTP-Server“) an, ob die Zeitsynchronisierung anhand eines Zeitservers in Ihrem lokalen Netzwerk ( ) oder eines Zeitservers im Internet erfolgen soll, der Ihre Zeitzone verwaltet ( ). Bei einem lokalen Zeitserver klicken Sie auf , um eine SLP-Abfrage für verfügbare Zeitserver in Ihrem Netzwerk zu starten. Wählen Sie den am besten geeigneten Zeitserver in der Liste der Suchergebnisse aus und schließen Sie das Dialogfeld mit . Bei einem öffentlichen Zeitserver wählen Sie in der Liste unter Ihr Land (Ihre Zeitzone) sowie einen geeigneten Server aus und schließen das Dialogfeld dann mit . Überprüfen Sie im Hauptdialogfeld die Verfügbarkeit des ausgewählten Servers mit .
(sieheEin weiteres Dialogfeld ermöglicht Ihnen, einen NTP-Server auszuwählen. Aktivieren Sie können Sie weitere Optionen für ntpd einstellen.
, um die Synchronisierung der Zeitinformationen zwischen dem Server und dem Client auszulösen, wenn das System gebootet wird. Unter
Mit den Abbildung 25.3, „Erweiterte NTP-Konfiguration: Sicherheitseinstellungen“). Die Optionen entsprechen den restrict
-Klauseln der Datei /etc/ntp.conf
. Die Klausel nomodify notrap noquery
verhindert beispielsweise, dass der Server die NTP-Einstellungen Ihres Computers ändern und die Trap-Funktion (eine Fernprotokollierungsfunktion für Ereignisse) Ihres NTP-Daemons verwenden kann. Diese Einschränkungen werden besonders für Server außerhalb Ihrer Kontrolle empfohlen (z. B. im Internet).
Ziehen Sie bezüglich detaillierter Informationen /usr/share/doc/packages/ntp-doc
zurate (Bestandteil des ntp-doc
-Pakets).
Ein Peer ist ein Computer, mit dem eine symmetrische Beziehung eingerichtet wird: Er fungiert sowohl als Zeitserver als auch als Client. Wenn Sie einen Peer im selben Netzwerk anstelle eines Servers verwenden möchten, geben Sie die Adresse des Systems ein. Der Rest des Dialogfelds ist mit dem Dialogfeld
identisch.
Wenn eine Funkuhr für die Zeitsynchronisierung in Ihrem System verwendet werden soll, geben Sie Uhrtyp, Gerätezahl, Gerätename und weitere Optionen in diesem Dialogfeld ein. Klicken Sie auf /usr/share/doc/packages/ntp-doc/refclock.html
.
Zeitinformationen und Abfragen können im Netzwerk auch per Broadcast übermittelt werden. Geben Sie in diesem Dialogfeld die Adresse ein, an die Broadcasts gesendet werden sollen. Die Option für Broadcasts sollte nur aktiviert werden, wenn Ihnen eine zuverlässige Zeitquelle, etwa eine funkgesteuerte Uhr, zur Verfügung steht.
Wenn Ihr Client die entsprechenden Informationen per Broadcast erhalten soll, geben Sie in diesen Feldern die Adresse ein, von der die jeweiligen Pakete akzeptiert werden sollen.
Legen Sie auf dem Karteireiter Abbildung 25.3, „Erweiterte NTP-Konfiguration: Sicherheitseinstellungen“) fest, ob ntpd in einem "Chroot Jail" gestartet werden soll. Standardmäßig ist aktiviert. Hierdurch wird die Sicherheit im Falle eines Angriffs über ntpd erhöht, da der Angreifer daran gehindert wird, das gesamte System zu beeinträchtigen.
(sieheDie Option
erhöht die Sicherheit Ihres Systems. Wenn gewählt, verhindert diese Option, dass entfernte Computer die NTP-Einstellungen Ihres Computers anzeigen und ändern und die Trap-Funktion für die Fernprotokollierung von Ereignissen verwenden können. Wenn gewählt, gelten diese Einschränkungen für alle entfernten Computer, es sei denn, Sie überschreiben die Zugriffskontrolloptionen für einzelne Computer in der Liste der Zeitquellen auf dem Karteireiter . Allen anderen entfernten Computern wird nur die Abfrage der lokalen Zeit erlaubt.Aktivieren Sie
, wenn SuSEfirewall2 aktiviert ist (Standardeinstellung). Wenn Sie den Port geschlossen lassen, können Sie keine Verbindung zum Zeitserver herstellen.
Die einfachste Art der Verwendung eines Zeitservers im Netzwerk besteht darin, Serverparameter festzulegen. Beispiel: Wenn der Zeitserver ntp.example.com
über das Netzwerk erreichbar ist, fügen Sie seinen Namen in die Datei /etc/ntp.conf
ein, indem Sie folgende Zeile einfügen.
server ntp.example.com
Wenn Sie weitere Zeitserver hinzufügen möchten, fügen Sie zusätzliche Zeilen mit dem Schlüsselwort server
ein. Nach der Initialisierung von ntpd mit dem Kommando rcntp start
dauert es etwa eine Stunde, bis die Zeit stabil ist und die Drift-Datei für das Korrigieren der lokalen Computeruhr erstellt wird. Mithilfe der Drift-Datei kann der systematische Fehler der Hardware-Uhr berechnet werden, sobald der Computer eingeschaltet wird. Die Korrektur kommt umgehend zum Einsatz und führt zu einer größeren Stabilität der Systemzeit.
Es gibt zwei Möglichkeiten, den NTP-Mechanismus als Client zu verwenden: Erstens kann der Client in regelmäßigen Abständen die Zeit von einem bekannten Server abfragen. Wenn viele Clients vorhanden sind, kann dies zu einer starken Auslastung des Servers führen. Zweitens kann der Client auf NTP-Broadcasts warten, die von Broadcast-Zeitservern im Netzwerk gesendet werden. Dieser Ansatz hat den Nachteil, dass die Qualität des Servers unbekannt ist und dass ein Server, der falsche Informationen sendet, zu schwerwiegenden Problemen führen kann.
Wenn die Zeit per Broadcast ermittelt wird, ist der Servername nicht erforderlich. Geben Sie in diesem Fall die Zeile broadcastclient
in die Konfigurationsdatei /etc/ntp.conf
ein. Wenn ein oder mehrere bekannte Zeitserver exklusiv verwendet werden sollen, geben Sie die Namen in der Zeile ein, die mit servers
beginnt.
Wenn das System ohne Netzwerkverbindung startet, fährt ntpd zwar hoch, kann jedoch nicht die DNS-Namen der in der Konfigurationsdatei festgelegten Zeitserver auflösen. Dies kann vorkommen, wenn Sie Network Manager mit einem verschlüsselten WLAN verwenden.
Wenn ntpd die DNS-Namen während der Laufzeit auflösen soll, müssen Sie die Option Dynamisch
festlegen. Wenn das Netzwerk dann einige Zeit nach dem Start aufgebaut wird, überprüft ntpd die Namen erneut und kann die Zeitserver zum Abrufen der Zeit erreichen.
Bearbeiten Sie /etc/ntp.conf
manuell und fügen Sie Dynamisch
zu einem oder mehreren Server
einträgen hinzu:
server ntp.example.com dynamic
Oder verwenden Sie YaST und gehen Sie folgendermaßen vor:
Klicken Sie in YaST auf
+ .Wählen Sie den Server aus, der konfiguriert werden soll. Klicken Sie anschließend auf
.
Aktivieren Sie das Feld Dynamisch
hinzu. Verwenden Sie ein Leerzeichen zum Trennen, falls bereits andere Optionen eingetragen sind.
Klicken Sie auf
, um das Dialogfeld für die Bearbeitung zu schließen. Wiederholen Sie den vorherigen Schritt, um alle Server wunschgemäß zu ändern.Klicken Sie abschließend auf
, um die Einstellungen zu speichern.
Das Software-Paket ntp enthält Treiber für das Verbinden lokaler Referenzuhren. Eine Liste unterstützter Uhren steht im Paket ntp-doc
in der Datei /usr/share/doc/packages/ntp-doc/refclock.html
zur Verfügung. Jeder Treiber ist mit einer Nummer verknüpft. In ntp wird die eigentliche Konfiguration mit Pseudo-IP-Adressen durchgeführt. Die Uhren werden so in die Datei /etc/ntp.conf
eingegeben, als ob sie im Netzwerk vorhanden wären. Zu diesem Zweck werden Ihnen spezielle IP-Adressen im Format 127.127.
zugewiesen. Hierbei steht t
.u
t
für den Uhrentyp und legt fest, welcher Treiber verwendet wird und u
steht für die Einheit (unit), die die verwendete Schnittstelle bestimmt.
Im Regelfall verfügen die einzelnen Treiber über spezielle Parameter, die die Konfigurationsdetails beschreiben. Die Datei /usr/share/doc/packages/ntp-doc/drivers/driver
(NN
.htmlNN
steht für die Anzahl der Treiber) bietet Informationen zum jeweiligen Uhrentyp. Für die Uhr vom "Typ 8" (Funkuhr über serielle Schnittstelle) ist ein zusätzlicher Modus erforderlich, der die Uhr genauer angibt. Das Conrad DCF77-Empfängermodul weist beispielsweise Modus 5 auf. Wenn diese Uhr als bevorzugte Referenz verwendet werden soll, geben Sie das Schlüsselwort prefer
an. Die vollständige server
-Zeile für ein Conrad DCF77-Empfängermodul sieht folgendermaßen aus:
server 127.127.8.0 mode 5 prefer
Für andere Uhren gilt dasselbe Schema. Nach der Installation des Pakets ntp-doc
steht die Dokumentation für ntp im Verzeichnis /usr/share/doc/packages/ntp-doc
zur Verfügung. Die Datei /usr/share/doc/packages/ntp-doc/refclock.html
enthält Links zu den Treiberseiten, auf denen die Treiberparameter beschrieben werden.