
CenturionStudio.it - Fotolia
Konfigurationsanleitung für das Network Time Protocol (NTP)
Wie Sie das Network Time Protocol in Linux-, macOS- und Windows-Systemen konfigurieren und Fehler beheben, um eine zuverlässige Zeitsynchronisation im Netzwerk sicherzustellen.
Computer und Software vertragen in der Regel keine Zeitabweichungen. Dienste wie die Kerberos-Authentifizierung basieren beispielsweise auf Zeitstempeln. Wenn zwei Systeme also unterschiedliche Angaben zur aktuellen Uhrzeit haben, kann es vorkommen, dass Benutzern der Zugriff auf wichtige Ressourcen verweigert wird.
Das Network Time Protocol (NTP) ist ein Protokoll der Anwendungsschicht in der TCP/IP-Suite. Seine Aufgabe ist es, die Zeit zwischen NTP-Clients und bestimmten Zeitservern zu synchronisieren. NTP unterstützt eine geschichtete Struktur, wobei jede Schicht als Stratum bezeichnet wird.
Kleinere Umgebungen haben in der Regel nur eine Schicht, während komplexere Netzwerke mehrere Schichten unterstützen können. Üblicherweise synchronisieren Arbeitsstationen in Unternehmen ihre Zeit mit internen Zeitservern, während Heimcomputer ihre Zeit mit Internet-Zeitservern synchronisieren.
Dieser Artikel erläutert die NTP-Konfiguration auf Linux-, macOS- und Windows-Geräten in Netzwerkumgebungen, einschließlich Active Directory (AD). Er enthält Tipps zur Fehlerbehebung sowie eine Liste mit Best Practices, um die Effizienz und Zuverlässigkeit des Netzwerks zu verbessern.
NTP-Architektur
NTP verwendet UDP-verbindungslose Kommunikation für einen Datenaustausch mit geringer Latenz und verhindert so Zeitabweichungen zwischen Client- und Zeitservergeräten. NTP verwendet den Port 123/UDP, daher sollten Sie dies bei der Verwaltung von Firewall-Konfigurationen entsprechend berücksichtigen.
Die Stratum-Schichten umfassen Folgendes:
- Stratum 0: In dieser Schicht empfängt eine Referenzuhr die tatsächliche Zeit von einem dedizierten Sender oder einem Satellitennavigationssystem.
- Stratum 1: In dieser Schicht ist ein Gerät direkt mit einer Referenzuhr verbunden.
- Stratum 2: In dieser Schicht empfängt ein Gerät die Zeit von einem Stratum-1-Computer.
- Stratum 3: In dieser Schicht empfängt ein Gerät seine Zeit von einem Stratum-2-Computer.
Jedes Stratum kann zusätzliche Ebenen umfassen, wodurch eine Hierarchie mit einem gewissen Grad an Trennung und reduzierter Genauigkeit entsteht.
NTP ist und bleibt ein wichtiges Protokoll in modernen Netzwerken, insbesondere da Server und Clients weiterhin über mehrere Regionen verteilt sind. Es ist auch in lokalen und Cloud-Umgebungen unverzichtbar.
NTP-Implementierungen
NTP ist der Standard für Linux-, macOS- und Windows-Konfigurationen und somit die ideale Wahl für Netzwerkumgebungen, in denen verschiedene Systeme zum Einsatz kommen. Viele Netzwerkgeräte erkennen NTP ebenfalls.
Linux-Systeme
Die Konfiguration von NTP auf Linux-Systemen umfasst die Bearbeitung der Konfigurationsdatei /etc/ntp.conf mit einem Texteditor wie Vim oder Nano. Verwenden Sie die Einträge in der Konfigurationsdatei, um den Dienst auf die erforderlichen Zeitserver zu verweisen, wie unten gezeigt:
server 0.pool.ntp.org
server 1.pool.ntp.org
Wie bei anderen Linux-Konfigurationsdateien müssen Sie nach der Bearbeitung von /etc/ntp.conf den Dienst mit dem folgenden Befehl neu starten:
systemctl restart ntpd
Überprüfen Sie den Status des NTP-Daemons mit diesem Befehl:
ntpq -p
Linux-Server verfügen selten über eine GUI, Workstations hingegen möglicherweise schon. Die Schritte zur Konfiguration von Zeitdiensten über die GUI variieren je nach ausgewählter Desktop-Umgebung.
macOS-Systeme
Konfigurieren Sie macOS für Zeitservices, indem Sie zu Systemeinstellungen/Allgemein/Datum & Uhrzeit navigieren. Aktivieren Sie die Einstellung Zeit und Datum automatisch einstellen und geben Sie einen Ziel-NTP-Server an. Der Standardserver ist time.apple.com, Sie können jedoch bei Bedarf weitere Zeitserver hinzufügen.
Fragen Sie den Zeitserver manuell über das Terminal des Mac ab, indem Sie folgenden Befehl eingeben:
sntp time.apple.com

Windows-Standalone-Systeme
Wie bei macOS lassen sich auch die Zeitdienste von Windows einfach über die GUI konfigurieren. Navigieren Sie zu Systemsteuerung/Zeit und Region/Datum und Uhrzeit/Internetzeit und wählen Sie Einstellungen ändern Im Fenster Interneteinstellungen können bei Mit einem Internet-Zeitserver synchronisieren eine Auswahl treffen. Oder Sie Geben die Adresse des Servers ein, um die Einstellungen abzuschließen.
Möglicherweise möchten Sie lieber die Windows-Befehlszeile verwenden oder Ihre NTP-Konfigurationen skripten. Öffnen Sie zunächst das Terminal und zeigen Sie die aktuelle Konfiguration an:
w32tm /query /configuration
Falls Sie eine Fehlermeldung erhalten, müssen Sie den Windows-Zeitgeber-Dienst in den Dienste-Einstellungen starten und gegebenenfalls von manuellem auf automatischen Start ändern. Die Dienste-Einstellungen erreichen Sie über den Befehl:
services.msc
Wenn alles funktioniert, legen Sie mit diesem Befehl einen bevorzugten NTP-Server fest:
w32tm /config /manualpeerlist:„pool.ntp.org“ /syncfromflags:manual /reliable:YES /update
Vergessen Sie nicht, den Dienst neu zu starten:
net stop w32time
net start w32time
Überprüfen Sie den Status des Dienstes, indem Sie den folgenden Befehl eingeben:
w32tm /query /status
Mit dem folgenden Befehl können Sie eine sofortige Zeitsynchronisierung erzwingen:
w32tm /resync /rediscover
Windows-Domänenmitglieder
In AD-Umgebungen ist die Konfiguration von NTP in der Regel nicht erforderlich. Domänenmitglieder synchronisieren ihre Zeit automatisch mit dem Domänencontroller (DC), der ihre Authentifizierung durchgeführt hat. Alle DCs synchronisieren ihre Zeit wiederum mit dem primären DC-Emulator (PDC). Dieser ist eine wichtige Flexible Single Master Operations-Rolle (FSMO) in Windows Server AD. Domänenadministratoren können den PDC jedoch so konfigurieren, dass er mit einer externen Zeitquelle synchronisiert wird.
Diese Hierarchie gewährleistet eine einfache, zuverlässige und synchronisierte Konfiguration in der gesamten Domäne. Das ist für Authentifizierungsdienste, die auf Zeitstempeln basieren, wie zum Beispiel Kerberos, unerlässlich.
Erweiterte NTP-Konfigurationen
NTP verfügt über zwei erweiterte Einstellungen, die einer genaueren Untersuchung bedürfen. Dabei handelt es sich um die Abfragezeiten und den Parameter iburst.
Die Abfragezeiten legen die Intervalle fest, in denen der NTP-Client die angegebenen NTP-Server abfragt. Die Option „inpoll legt die Mindestzeit fest, während maxpoll die Höchstzeit angibt.
- minpoll: Das kürzeste Intervall zwischen den Abfragen.
- maxpoll: Längstes Intervall zwischen den Abfragen.
Die Zeitinkremente sind Exponenten von 2. Der Standardwert für minpoll ist 6, was einem Intervall von 64 Sekunden entspricht. Die übliche Einstellung für maxpoll ist 10, was zu einem Intervall von 1024 Sekunden oder etwa 17 Minuten führt.
Fügen Sie diese Werte zum Servereintrag in der Datei /etc/ntp.conf hinzu:
server ntp.example.com minpoll 4 maxpoll 6
Es ist selten notwendig, die Standardeinstellungen zu ändern, aber einige zeitkritische Anwendungen erfordern möglicherweise diese Einstellungen.
Die Einstellung iburst beschleunigt die anfängliche Zeitsynchronisation beim ersten Start von ntpd. Die Standardeinstellung ohne den Parameter iburst bewirkt, dass der NTP-Client eine Anfrage zur Zeitsynchronisation sendet. Wenn der angegebene NTP-Server jedoch nicht antwortet, verzögert der NTP-Client die Zeitsynchronisation. Mit iburst sendet der Client innerhalb von etwa zwei Sekunden acht Pakete, wodurch die Wahrscheinlichkeit einer Antwort erhöht wird.
Ändern Sie den Zeitserver-Eintrag in /etc/ntp.conf, indem Sie die Einstellung iburst hinzufügen:
server ntp.example.com iburst
Diese Konfiguration ist in der Regel beim Systemstart von Bedeutung. Verwechseln Sie diese Einstellung nicht mit burst, das bei jedem Abfrageintervall mehrere Anfragen sendet. iburst sendet hingegen nur während der anfänglichen Synchronisierungsaufgabe mehrere Anfragen, was wesentlich effizienter ist.
Um eine effizientere Zeitverwaltung zu erreichen, definieren Sie die Einstellungen für Polling und IBurst in der Konfigurationsdatei /etc/ntp.conf.
Fehlerbehebung bei häufigen NTP-Problemen
Ein Problem bei der Konfiguration und Fehlerbehebung betrifft Umgebungen, in denen nur zwei Zeitserver definiert sind. Komplikationen treten auf, wenn Client-Geräte aufgrund einer Zeitabweichung zwischen den beiden Zeitservern die richtige Zeit nicht ermitteln können. Ein dritter oder vierter NTP-Server kann als Tiebreaker fungieren. Dieses Problem wird manchmal als NTP-Zwei-Server-Problem bezeichnet.
Vermeiden Sie Konfigurationen, bei denen AD-Domänenmitglieder wie Windows-Server und -Workstations eine andere Zeit erkennen als Nicht-Domänenmitglieder wie Linux-, macOS-Systeme und Netzwerkgeräte. Es können Authentifizierungs- und Zugriffsprobleme auftreten, wenn diese Geräte Ressourcen gemeinsam nutzen müssen, sich aber nicht über die aktuelle Zeit einigen können.
Verwenden Sie die folgenden NTP-Befehle unter Linux und ähnlichen Systemen, um NTP-Probleme zu beheben:
- ntpd -d: Führt ntpd im Debug-Modus aus und liefert nützliche Trace-Informationen.
- ntpq: Fragt ntpd nach Statistiken und Statusdaten ab.
- ntpstat: Zeigt den aktuellen Synchronisationsstatus des Clients an.
Bei den meisten Linux-Distributionen protokolliert NTP standardmäßig in /etc/messages. Bearbeiten Sie jedoch die Datei /etc/ntp.conf, um einen dedizierten Speicherort für die Protokolldatei festzulegen, zum Beispiel /var/log/ntp.log.
Windows-Systeme protokollieren NTP-Einträge in der Ereignisanzeige. Durchsuchen Sie das Anwendungsereignisprotokoll nach NTP-Details.
Bewährte Verfahren für die NTP-Konfiguration
Da NTP ein etablierter und zuverlässiger Bestandteil der TCP/IP-Suite ist, gibt es zahlreiche Dokumentationen zu seiner Verwaltung. Befolgen Sie die folgenden bewährten Verfahren, um Ihre NTP-Einstellungen optimal zu nutzen:
- Verwenden Sie die Option iburst, um die anfängliche Zeitsynchronisierung nach dem Starten oder Neustarten des Dienstes zu beschleunigen.
- Konfigurieren Sie Abfrageintervalle für Systeme mit zeitkritischen Anwendungen.
- Konfigurieren Sie mehrere NTP-Server. Vier ist die bevorzugte Anzahl.
- Verlassen Sie sich bei der Zeitverwaltung in AD-Bereitstellungen auf AD.
- Konfigurieren Sie hochverfügbare, dedizierte NTP-Quellen, insbesondere für interne Netzwerkzeitserver, die Client-Geräte unterstützen.
- Entwerfen Sie eine konsistente NTP-Infrastruktur für Ihr internes Netzwerk. Größere Umgebungen sollten das standardmäßige Stratum-Schichtendesign nachahmen.
Konfigurieren Sie eine effiziente und zuverlässige NTP-Umgebung, um eine robuste Zeitsynchronisation zwischen Linux-, macOS- und Windows-Geräten sicherzustellen. Erwägen Sie auch, Netzwerkgeräte wie Router und Switches in das Design zu integrieren. Die Zeitverwaltung ist in den meisten Netzwerken zwar unkompliziert, aber dennoch von entscheidender Bedeutung.