Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
Navigation
Bezieht sich auf SUSE Linux Enterprise Server 12 SP4

24 Zeitsynchronisierung mit NTP

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. Es gibt zwei Ziele – das Aufrechterhalten der absoluten Zeit und das Synchronisieren der Systemzeit aller Computer im Netzwerk.

Das Aufrechterhalten der genauen Systemzeit ist in vielen Situationen wichtig. Die integrierte Hardware-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.

24.1 Konfigurieren eines NTP-Client mit YaST

Der NTP-Daemon (ntpd) im ntp-Paket ist so voreingestellt, dass die Uhr des lokalen Computers als Zeitreferenz verwendet wird. Das Verwenden der Hardware-Uhr ist jedoch nur eine Ausweichlösung, wenn keine genauere Zeitquelle verfügbar ist. YaST erleichtert die Konfiguration von NTP-Clients.

24.1.1 Grundlegende Konfiguration

Die NTP-Client-Konfiguration mit YaST (Netzwerkdienste › NTP-Konfiguration) benötigt zwei Dialogfelder. Legen Sie den Startmodus ntpd und den abzufragenden Server auf dem Karteireiter Allgemein Einstellungen fest.

Nur manuell

Wählen Sie Nur manuell, wenn der ntpd-Daemon manuell gestartet werden soll.

Ohne Daemon synchronisieren

Wählen Sie Ohne Daemon synchronisieren aus, um die Systemzeit regelmäßig festzulegen, ohne dass ntpd ständig ausgeführt wird. Sie können das Synchronisierungsintervall in Minuten festlegen.

Jetzt und beim Booten

Wählen Sie Jetzt und beim Booten, um ntpd automatisch beim Booten des Systems zu starten. Diese Einstellung wird empfohlen.

24.1.2 Ändern der Basiskonfiguration

Die Server und anderen Zeitquellen für die Abfrage durch den Client sind im unteren Bereich im Karteireiter Allgemeine Einstellungen aufgelistet. Bearbeiten Sie diese Liste nach Bedarf mithilfe der Optionen Hinzufügen, Bearbeiten und Löschen. Mit Protokoll anzeigen können die Protokolldateien Ihres Clients angezeigt werden.

Klicken Sie auf Hinzufügen, 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 Sie

YaST: NTP-Server
Abbildung 24.1: YaST: NTP-Server
Server

Geben Sie in der Dropdown-Liste unter Auswählen (siehe Abbildung 24.1, „YaST: NTP-Server“) an, ob die Zeitsynchronisierung anhand eines Zeitservers in Ihrem lokalen Netzwerk (Lokaler NTP-Server) oder eines Zeitservers im Internet erfolgen soll, der Ihre Zeitzone verwaltet (Öffentlicher NTP-Server). Bei einem lokalen Zeitserver klicken Sie auf Lookup, 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 OK. Bei einem öffentlichen Zeitserver wählen Sie in der Liste unter Öffentlicher NTP-Server Ihr Land (Ihre Zeitzone) sowie einen geeigneten Server aus und schließen das Dialogfeld dann mit OK. Überprüfen Sie im Hauptdialogfeld die Verfügbarkeit des ausgewählten Servers mit Test. Unter Optionen können Sie weitere Optionen für ntpd einstellen.

Mit den Access Control Options (Zugriffskontrolloptionen) können Sie die Aktionen einschränken, die der entfernte Computer mit dem Daemon Ihres Computers ausführen kann. Dieses Feld ist nur aktiviert, wenn die Option Restrict NTP Service to Configured Servers Only (NTP-Dienst auf konfigurierte Server beschränken) auf dem Karteireiter Sicherheitseinstellungen aktiviert ist (siehe Abbildung 24.2, „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).

Peer

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 Server identisch.

Funkuhr

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 Treiber-Kalibirierung, um den Treiber genauer einzustellen. Detaillierte Informationen zum Betrieb einer lokalen Funkuhr finden Sie in /usr/share/doc/packages/ntp-doc/refclock.html.

Ausgangs-Broadcast

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.

Eingangs-Broadcast

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.

Erweiterte NTP-Konfiguration: Sicherheitseinstellungen
Abbildung 24.2: Erweiterte NTP-Konfiguration: Sicherheitseinstellungen

Legen Sie auf dem Karteireiter Sicherheitseinstellungen (siehe Abbildung 24.2, „Erweiterte NTP-Konfiguration: Sicherheitseinstellungen“) fest, ob ntpd in einem „Chroot Jail“ gestartet werden soll. Standardmäßig ist NTP-Daemon in Chroot-Jail ausführen nicht aktiviert. Die Chroot-Jail-Option erhöht die Sicherheit im Falle eines Angriffs über ntpd, da der Angreifer daran gehindert wird, das gesamte System zu beeinträchtigen.

Die Option NTP-Dienst auf konfigurierte Server beschränken 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. Nach dem Aktivieren 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 Allgemeine Einstellungen. Allen anderen entfernten Computern wird nur die Abfrage der lokalen Zeit erlaubt.

Aktivieren Sie Firewall-Port öffnen, wenn SuSEFirewall2 aktiviert ist (Standardeinstellung). Wenn Sie den Port geschlossen lassen, können Sie keine Verbindung zum Zeitserver herstellen.

24.2 Manuelle Konfiguration von NTP im Netzwerk

Die einfachste Art der Verwendung eines Zeitservers im Netzwerk besteht darin, Serverparameter festzulegen. Wenn beispielsweise ein Zeitserver mit der Bezeichnung ntp.example.com vom Netzwerk aus erreichbar ist, ergänzen Sie die Datei /etc/ntp.conf um seinen Namen, indem Sie die folgende Zeile hinzufü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 dem Initialisieren von ntpd mit dem Befehl systemctl start ntp dauert es etwa eine Stunde, bis die Uhrzeit 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, wenn 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.

24.3 Dynamische Zeitsynchronisierung während der Laufzeit

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 NetworkManager 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 die Netzwerkverbindung 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 Servereinträgen hinzu:

server ntp.example.com dynamic

Oder verwenden Sie YaST, und gehen Sie folgendermaßen vor:

  1. Klicken Sie in YaST auf Netzwerkdienste › NTP-Konfiguration.

  2. Wählen Sie den Server aus, der konfiguriert werden soll. Klicken Sie anschließend auf Bearbeiten.

  3. Aktivieren Sie das Feld Optionen und fügen Sie Dynamisch hinzu. Verwenden Sie ein Leerzeichen zum Trennen, falls bereits andere Optionen eingetragen sind.

  4. Klicken Sie auf OK, um das Dialogfeld für die Bearbeitung zu schließen. Wiederholen Sie den vorherigen Schritt, um alle Server wunschgemäß zu ändern.

  5. Klicken Sie abschließend auf OK, um die Einstellungen zu speichern.

24.4 Einrichten einer lokalen Referenzuhr

Das Software-Paket ntpdenthä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.T.U zugewiesen. Hierbei steht 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/driverNN.html (NN 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.

24.5 Uhrensynchronisierung mit einer externen Zeitreferenz (ETR)

Unterstützung für Uhrensynchronisierung mit einer externen Zeitreferenz (ETR) ist verfügbar. Die externe Zeitreferenz sendet alle 2**20 (2 hoch 20) Millisekunden ein Oszillatorsignal und ein Synchronisierungssignal, um die Tageszeit-Uhren aller angeschlossenen Server synchron zu halten.

Zur Verfügbarkeit können zwei ETR-Einheiten an einen Computer angeschlossen werden. Wenn die Uhr um mehr als die Toleranz zum Prüfen der Synchronisierung abweicht, erhalten alle CPUs eine Rechnerprüfung, die darauf hinweist, dass die Uhr nicht synchronisiert ist. In diesem Fall werden sämtliche DASD-E/A an XRC-fähige Geräte gestoppt, bis die Uhr wieder synchron ist.

Die ETR-Unterstützung wird mithilfe von zwei sysfs-Attributen aktiviert; führen Sie die folgenden Kommandos als root aus:

echo 1 > /sys/devices/system/etr/etr0/online
echo 1 > /sys/devices/system/etr/etr1/online
Diese Seite drucken