Network Time Protocol
ZUSAMMENFASSUNG Network Time Protocol (NTP) ist ein Protokoll, das zur Synchronisierung der Zeit auf allen Geräten in einem Netzwerk verwendet wird.
NTP – Überblick
Das Network Time Protocol (NTP) ist ein weit verbreitetes Protokoll zur Synchronisierung der Uhren von Routern und anderen Hardwaregeräten im Internet. Primäre NTP-Server werden mit einer Referenzuhr synchronisiert, die direkt auf coordinated Universal Time (UTC) zurückverfolgt werden kann. Referenzuhren umfassen GPS-Empfänger und Telefonmodemdienste, NTP-Genauigkeitserwartungen hängen von den Anforderungen der Umgebungsanwendungen ab. NtP kann jedoch im Allgemeinen eine Zeit von weniger als zehn Millisekunden über das öffentliche Internet halten.
NTP ist im RFC 5905: Network Time Protocol Version 4: Protocol and Algorithms Specification definiert
Geräte mit Junos OS können so konfiguriert werden, dass sie als NTP-Client, sekundärer NTP-Server oder primärer NTP-Server fungieren. Diese Variationen sind wie folgt:
-
Primärer NTP-Server: Primäre NTP-Server werden mit einer Referenzuhr synchronisiert, die direkt auf UTC zurückverfolgt werden kann. Diese Server verteilen die Daten dann erneut an andere sekundäre NTP-Server oder NTP-Clients.
-
Sekundärer NTP-Server: Sekundäre NTP-Server werden mit einem primären oder sekundären NTP-Server synchronisiert. Diese Server verteilen diese Daten dann im Downstream an andere sekundäre NTP-Server oder NTP-Clients.
-
NTP-Client: NTP-Clients werden mit einem primären oder sekundären NTP-Server synchronisiert. Clients verteilen die Daten nicht erneut auf andere Geräte.
Das NTP-Subnetz umfasst eine Reihe von allgemein zugänglichen öffentlichen Primärzeitservern, die als primärer NTP-Server eines Netzwerks verwendet werden können. Juniper Networks empfiehlt dringend, alle von Ihnen verwendeten primären Server zu authentifizieren.
Jedes Gerät in Ihrem Netzwerk kann so konfiguriert werden, dass es in einem oder mehreren der folgenden NTP-Modi ausgeführt wird:
-
Broadcast-Modus: Ein oder mehrere Geräte sind so eingerichtet, dass Zeitinformationen an eine bestimmte Broadcast- oder Multicast-Adresse übertragen werden. Andere Geräte lauschen auf Zeitsynchronisationspakete an diesen Adressen. Dieser Modus ist weniger genau als der Client-/Server-Modus.
-
Client/Server-Modus: Die Geräte sind hierarchisch im gesamten Netzwerk in Client-/Server-Beziehungen organisiert.
-
Symmetrischem aktiver (Peer-)Modus: Zwei oder mehr Geräte werden als NTP-Server-Peers konfiguriert, um Redundanz bereitzustellen.
Wenn die Zeit für einen NTP-Client verdriftet ist, sodass die Zeitdifferenz vom NTP-Server 128 Millisekunden übersteigt, wird der NTP-Client automatisch wieder in die Synchronisierung übergehen. Der NTP-Client synchronisiert sich weiterhin mit dem Server, auch wenn der Offset zwischen NTP-Client und Server den Schwellenwert von 1000 Sekunden überschreitet. Sie können manuell anfordern, dass sich ein Gerät mit einem NTP-Server synchronisiert, indem Sie den set date ntp
Betriebsbefehl auf dem Router verwenden. Auf Geräten mit Junos OS, die über zwei Routing-Engines verfügen, synchronisiert sich die Backup-Routing-Engine direkt mit der primären Routing-Engine.
Alle Plattformen von Juniper, auf denen Junos OS ausgeführt wird, unterstützen die Sprung-Sekunde-Anpassung. Wenn der NTP-Server die Berechnungen der Sprung sekunde kennt, fügt das Junos-Gerät automatisch die Verzögerung von 1 Sekunde hinzu. PTP (Precision Time Protocol) wird verwendet, um Sprung-Sekunde-Synchronisationsänderungen auf allen Knoten in einem Netzwerk zu erkennen und zu verbreiten. NTP ist auch für die Einhaltung von Common Criteria erforderlich. Weitere Informationen zur Common Criteria-Zertifizierung finden Sie unter Zertifizierungen des öffentlichen Sektors.
Weitere Informationen zum Network Time Protocol finden Sie auf der Website der Network Time Foundation unter http://www.ntp.org.
NTP unterstützt IPv4 VPN- und IPv6-Routing- und Weiterleitungsanfragen (VRF) auf Junos OS. VRF-Anfrage wird auch auf Junos OS Evolved Version 20.2R1 unterstützt. Auf diese Weise kann ein NTP-Server, der auf einem Provider-Edge -Router (PE) ausgeführt wird, auf NTP-Anfragen von einem Kunden-Edge-Router (CE) reagieren. Infolgedessen kann ein PE-Router jedes NTP-Anforderungspaket verarbeiten, das von verschiedenen Routing-Instanzen stammt.
Network Time Security (NTS) – Unterstützung für NTP
NTS – Überblick
NTS bietet kryptografische Sicherheit für die Netzwerkzeitsynchronisierung und unterstützt den Client-Server-Modus von NTP. NTS verwendet das TLS-Protokoll (Transport Layer Security) und AEAD (Authenticated Encryption with Associated Data), um die Netzwerkzeit auf authentifizierte Weise an die Benutzer zu erhalten. NTS unterstützt auch die Verschlüsselung von NTP-Erweiterungsfeldern.
Die wichtigsten Sicherheitsprozesse sind auf die genaue Zeit angewiesen. Die Synchronisierung von Netzwerkzeit durch eine bösartige Quelle führt zu schwerwiegenden Folgen. Die Aktivierung von NTS sorgt für eine präzise Netzwerkzeitsynchronisierung auf Ihrem Gerät.
Vorteile von NTS
- Bietet starken kryptografischen Schutz vor einer Vielzahl von Sicherheitsangriffen wie Paketmanipulation, Spoofing, DDOS-Amplifikationsangriffen und Replay-Angriffen
- Sorgt für präzise Netzwerkzeitsynchronisierung von einer zuverlässigen Quelle
- Bietet Skalierbarkeit: Server können mehrere Clients bedienen, ohne eine clientspezifische Konfiguration manuell vorkonfigurieren zu müssen. Aufgrund der Verwendung von Cookies muss der Server die clientspezifischen Daten wie Schlüssel und AEAD-Algorithmus nicht lokal speichern.
- Verhindert die Verfolgung mobiler Geräte
Netzwerkzeitsynchronisierung mit NTS
NTS besteht aus zwei Protokollen, dem NTS Key Establishment Protocol (NTS-KE) und der NTP-Zeitsynchronisierung mit NTS-Erweiterungsfeldern. Abbildung 1 zeigt die Interaktionen in NTS.
NTS-KE-Protokoll
In der NTS-KE-Protokollphase verwaltet das NTS-KE-Protokoll die anfängliche Authentifizierung, die Aushandlung von NTS-Parametern und die Schlüsseleinrichtung über TLS in der folgenden Reihenfolge:
- Der Client führt einen TLS-Handshake mit dem NTS-KE-Server aus und überprüft die Zertifikate erfolgreich.
-
Der Client führt die NTS-Parameter-Aushandlung mit dem Server über den TLS-geschützten Kanal durch. Bei den ausgehandelten kryptografischen Algorithmen handelt es sich um AEAD-Methoden, die die NTP-Pakete in der zweiten Phase schützen.
-
Der Client und der Server stellen erfolgreich das Schlüsselmaterial für die Kommunikation her.
-
Der Server sendet auch eine Lieferung von anfänglichen Cookies an den Client, um sie in der nächsten Phase zu verwenden.
-
Der TLS-Kanal schließt und NTP geht in die nächste Phase über, in der der tatsächliche Austausch von Zeitdaten stattfindet.
NTS unterstützt nur TLS-Version 1.3. Ältere TLS-Versionen werden während der NTS-KE-Protokollphase abgelehnt.
NTP-Zeitsynchronisierung mit NTS-Erweiterungsfeldern
Diese Phase verwaltet die Verschlüsselung und Authentifizierung während der NTP-Zeitsynchronisierung über die Erweiterungsfelder in den NTP-Paketen in der folgenden Reihenfolge:
-
Der Client fragt den NTP-Server nach der Zeit mit NTS-Erweiterungsfeldern ab. Diese Erweiterungsfelder umfassen Cookies und ein Authentifizierungs-Tag, das mit dem ausgehandelten AEAD-Algorithmus und Schlüsselmaterial aus dem NTS-KE-Handshake berechnet wird.
Eine NTS-gesicherte NTP-Clientanfrage enthält die folgenden NTS-Erweiterungsfelder:
-
Unique Identifier Extension Field: Enthält zufällig generierte Daten und bietet die Mittel für den Wiedergabeschutz auf NTS-Ebene.
-
NTS Cookie Extension Field: Enthält die Informationen über das Schlüsselmaterial, das sich während der NTS-KE-Phase etabliert, und den ausgehandelten kryptografischen Algorithmus. Ein Cookie wird nur einmal in einer Anfrage verwendet, um das Tracking zu verhindern.
-
NTS Cookie Platzhalter-Erweiterungsfeld: (optional) Teilt dem Server mit, dass der Client zusätzliche Cookies im Antwortpaket erhalten möchte.
-
NTS-Authentifikator und verschlüsselte Erweiterungsfelder: Generiert mit AEAD-Algorithmus und Schlüssel, der während NTS-KE eingerichtet wurde. Dieses Feld bietet den Integritätsschutz für den NTP-Header und alle vorherigen Erweiterungsfelder.
Die ständige Aktualisierung von Cookies schützt ein Gerät vor der Nachverfolgung, wenn es Netzwerkadressen ändert. Zum Beispiel ein mobiles Gerät, das sich über verschiedene Netzwerke bewegt. Der Mangel an erkennbaren Daten verhindert, dass ein Gegner feststellen kann, dass zwei Pakete, die über verschiedene Netzwerkadressen gesendet werden, vom selben Client stammen.
-
-
Wenn der Server eine NTS-gesicherte Anfrage vom Client empfängt, entschlüsselt der Server den Cookie mit einem Hauptschlüssel.
-
Der Server extrahiert den ausgehandelten AEAD-Algorithmus und die im Cookie verfügbaren Schlüssel. Mit diesem Schlüssel überprüft der Server die Integrität des NTP-Pakets, um sicherzustellen, dass das Paket nicht manipuliert wird.
-
Der Server generiert einen oder mehrere neue Cookies und erstellt das NTP-Antwortpaket. Der Server generiert mindestens einen neuen Cookie und einen zusätzlichen Cookie für jedes Cookie-Platzhaltererweiterungsfeld, das der Client dem Anforderungspaket hinzugefügt hat.
Das Antwortpaket enthält zwei NTS-Erweiterungsfelder:
- Das Erweiterungsfeld für eindeutige Kennung, das den gleichen Inhalt aus dem Feld "Eindeutiger Identifikator" im Anforderungspaket aufweist.
- Der NTS-Authentifikator und das verschlüsselte Erweiterungsfeld, das den NTP-Header und die vorherigen Erweiterungsfelder mithilfe der extrahierten Schlüssel sichert.
-
Der Server verschlüsselt auch die Cookies und schließt sie in die NTS-Authentifikatoren und verschlüsselten Erweiterungsfelder ein. Diese Prozedur schützt den Client auch vor der Nachverfolgung, da ein Angreifer die Cookies aus einer Antwortnachricht nicht extrahieren kann.
-
Der Server finalisiert das Antwortpaket und sendet das Paket an den Client.
-
Der Client empfängt das Antwortpaket.
-
Der Client überprüft das Feld Eindeutige Kennung und überprüft, ob der eindeutige Identifikator mit einer noch offenen Anfrage übereinstimmt.
-
Der Client führt die Integritätsprüfung des Pakets erfolgreich mit dem Schlüssel und dem AEAD-Algorithmus durch.
-
Der Client entschlüsselt die Cookies und fügt sie seinem Pool hinzu und verarbeitet die vom Server empfangenen Zeitinformationen.
NTP-Zeitserver
Die IETF definierte das Network Time Protocol (NTP), um die Uhren von Computersystemen, die über ein Netzwerk miteinander verbunden sind, zu synchronisieren. Die meisten großen Netzwerke verfügen über einen NTP-Server, der sicherstellt, dass die Zeit auf allen Geräten unabhängig vom Gerätestandort synchronisiert wird. Wenn Sie einen oder mehrere NTP-Server in Ihrem Netzwerk verwenden, stellen Sie sicher, dass Sie die NTS-Serveradressen in Ihre Junos OS-Konfiguration einbeziehen.
Bei der Konfiguration des NTP können Sie angeben, welches System im Netzwerk die autorisierende Zeitquelle oder der Zeitserver ist und wie die Zeit zwischen systemen im Netzwerk synchronisiert wird. Dazu konfigurieren Sie router, Switch oder Sicherheitsgerät für den Betrieb in einem der folgenden Modi:
-
Client-Modus: In diesem Modus kann der lokale Router oder Switch mit dem Remote-System synchronisiert werden, aber das Remotesystem kann niemals mit dem lokalen Router oder Switch synchronisiert werden.
-
Symmetrischem aktiver Modus: In diesem Modus können der lokale Router oder Switch und das Remote-System miteinander synchronisiert werden. Sie verwenden diesen Modus in einem Netzwerk, in dem entweder der lokale Router oder Switch oder das Remote-System eine bessere Zeitquelle sein könnte.
Der symmetrische aktive Modus kann entweder vom lokalen oder vom Remote-System initiiert werden. Dazu muss nur ein System konfiguriert werden. Das bedeutet, dass das lokale System ohne jegliche Konfiguration mit jedem System synchronisiert werden kann, das einen symmetrischen aktiven Modus bietet. Wir empfehlen Ihnen jedoch dringend, die Authentifizierung zu konfigurieren, um sicherzustellen, dass das lokale System nur mit bekannten Zeitservern synchronisiert wird.
-
Broadcast-Modus: In diesem Modus sendet der lokale Router oder Switch regelmäßig Broadcast-Nachrichten an eine Client-Population unter der angegebenen Broadcast- oder Multicast-Adresse. Normalerweise fügen Sie diese Aussage nur bei, wenn der lokale Router oder Switch als Sender arbeitet.
-
Servermodus: In diesem Modus wird der lokale Router oder Switch als NTP-Server betrieben.
Im NTP-Servermodus unterstützt junos OS die Authentifizierung wie folgt:
-
Wenn der NTP-Anfrage vom Client ein Authentifizierungsschlüssel (z. B. eine mit dem Paket gesendete Schlüssel-ID und eine Message Digest) beikommt, wird die Anfrage basierend auf der Authentifizierungsschlüsselgleich verarbeitet und beantwortet.
-
Wenn die NTP-Anfrage vom Client ohne Authentifizierungsschlüssel auskommt, wird die Anfrage ohne Authentifizierung verarbeitet und beantwortet.
-
Konfigurieren von NTP Time Server and Time Services
Wenn Sie NTP verwenden, konfigurieren Sie den Router oder Switch für den Betrieb in einem der folgenden Modi:
-
Client-Modus
-
Symmetrischem aktiver Modus
-
Broadcast-Modus
-
Servermodus
In den folgenden Themen wird die Konfiguration dieser Betriebsmodi beschrieben:
- Konfigurieren des Routers oder Switches für den Betrieb im Client-Modus
- Konfigurieren Sie den Router oder Switch für den Betrieb im symmetrisschen aktiven Modus
- Router oder Switch für den Betrieb im Broadcast-Modus konfigurieren
- Router oder Switch für den Betrieb im Servermodus konfigurieren
Konfigurieren des Routers oder Switches für den Betrieb im Client-Modus
Um den lokalen Router oder Switch für den Betrieb im Client-Modus zu konfigurieren, fügen Sie die server
Anweisung und andere optionale Anweisungen auf Hierarchieebene [edit system ntp]
ein:
[edit system ntp] server address <key key-number> <version value> <prefer>; authentication-key key-number type type value password; trusted-key[key-numbers];
Geben Sie die Adresse des Systems an, das als Zeitserver fungiert. Sie müssen eine Adresse und keinen Hostnamen angeben.
Um einen Authentifizierungsschlüssel in alle an den Zeitserver gesendeten Nachrichten einzubeziehen, schließen Sie die Schlüsseloption ein. Der Schlüssel entspricht der Schlüsselzahl, die Sie in der authentication-key
Anweisung angeben, wie in beschrieben.
Standardmäßig sendet der Router oder Switch Pakete der NTP-Version 4 an den Zeitserver. Um die NTP-Versionsebene auf 1, 2 oder 3 festzulegen, schließen Sie die Versionsoption ein.
Wenn Sie mehr als einmal Server konfigurieren, können Sie einen bevorzugten Server markieren, indem Sie die Option "Prefer" angeben.
Das folgende Beispiel zeigt, wie der Router oder Switch für den Betrieb im Client-Modus konfiguriert wird:
[edit system ntp] authentication-key 1 type md5 value "$ABC123"; server 10.1.1.1 key 1 prefer; trusted-key 1;
Konfigurieren Sie den Router oder Switch für den Betrieb im symmetrisschen aktiven Modus
Um den lokalen Router oder Switch für den Betrieb im symmetrisschen aktiven Modus zu konfigurieren, fügen Sie die peer
Anweisung auf Hierarchieebene [edit system ntp]
ein:
[edit system ntp] peer address <key key-number> <version value> <prefer>;
Geben Sie die Adresse des Remotesystems an. Sie müssen eine Adresse und keinen Hostnamen angeben.
Um einen Authentifizierungsschlüssel in alle An das Remote-System gesendeten Nachrichten einzubeziehen, schließen Sie die Schlüsseloption ein. Der Schlüssel entspricht der Schlüsselnummer, die Sie in der authentication-key
Anweisung angeben.
Standardmäßig sendet der Router oder Switch Pakete der NTP-Version 4 an das Remote-System. Um die NTP-Versionsebene auf 1, 2 oder 3 festzulegen, schließen Sie die Versionsoption ein.
Wenn Sie mehr als ein Remote-System konfigurieren, können Sie ein bevorzugtes System markieren, indem Sie die Option "Prefer" angeben:
peer address <key key-number> <version value> prefer;
Router oder Switch für den Betrieb im Broadcast-Modus konfigurieren
Um den lokalen Router oder Switch für den Betrieb im Broadcast-Modus zu konfigurieren, fügen Sie die broadcast
Anweisung auf Hierarchieebene [edit system ntp]
ein:
[edit system ntp] broadcast address <key key-number> <version value> <ttl value>;
Geben Sie die Broadcast-Adresse in einem der lokalen Netzwerke oder eine Multicast-Adresse an, die NTP zugewiesen ist. Sie müssen eine Adresse und keinen Hostnamen angeben. Wenn die Multicast-Adresse verwendet wird, muss sie 224.0.1.1 sein.
Um einen Authentifizierungsschlüssel in alle An das Remote-System gesendeten Nachrichten einzubeziehen, schließen Sie die Schlüsseloption ein. Der Schlüssel entspricht der Schlüsselnummer, die Sie in der authentication-key
Anweisung angeben.
Standardmäßig sendet der Router oder Switch Pakete der NTP-Version 4 an das Remote-System. Um die NTP-Versionsebene auf 1, 2 oder 3 festzulegen, schließen Sie die Versionsoption ein.
Router oder Switch für den Betrieb im Servermodus konfigurieren
Im Servermodus fungiert der Router oder Switch als NTP-Server für Clients, wenn die Clients entsprechend konfiguriert sind. Die einzige Voraussetzung für den "Servermodus" ist, dass der Router oder Switch Zeit von einem anderen NTP-Peer oder -Server empfangen muss. Es ist keine andere Konfiguration am Router oder Switch erforderlich.
Bei der Konfiguration des NTP-Diensts in der Verwaltungs-VRF (mgmt_junos
) müssen Sie mindestens eine IP-Adresse auf einer physischen oder logischen Schnittstelle innerhalb der Standard-Routing-Instanz konfigurieren und sicherstellen, dass diese Schnittstelle verfügbar ist, damit der NTP-Dienst mit der mgmt_junos VRF zusammenarbeiten kann.
Um den lokalen Router oder Switch so zu konfigurieren, dass er als NTP-Server betrieben wird, fügen Sie auf Hierarchieebene die folgenden Anweisungen ein [edit system ntp]
:
[edit system ntp] authentication-key key-number type type value password; server address <key key-number> <version value> <prefer>; trusted-key [key-numbers];
Geben Sie die Adresse des Systems an, das als Zeitserver fungiert. Sie müssen eine Adresse und keinen Hostnamen angeben.
Um einen Authentifizierungsschlüssel in alle an den Zeitserver gesendeten Nachrichten einzubeziehen, schließen Sie die Schlüsseloption ein. Der Schlüssel entspricht der Schlüsselnummer, die Sie in der authentication-key
Anweisung angeben.
Standardmäßig sendet der Router oder Switch Pakete der NTP-Version 4 an den Zeitserver. Um die NTP-Versionsebene auf 1, oder 2 oder 3 festzulegen, schließen Sie die Versionsoption ein.
Wenn Sie mehr als einmal Server konfigurieren, können Sie einen bevorzugten Server markieren, indem Sie die Option "Prefer" angeben.
Das folgende Beispiel zeigt, wie Sie den Router oder Switch für den Betrieb im Servermodus konfigurieren:
[edit system ntp] authentication-key 1 type md5 value "$ABC123"; server 192.168.27.46 prefer; trusted-key 1;
Siehe auch
Beispiel: Konfigurieren Sie NTP als single Time Source für Router- und Switch-Taktsynchronisierung
Debugging und Fehlerbehebung sind viel einfacher, wenn die Zeitstempel in den Protokolldateien aller Router oder Switches synchronisiert sind, da Ereignisse, die sich über das Netzwerk erstrecken, mit synchronen Einträgen in mehreren Protokollen korreliert werden können. Wir empfehlen dringend, das Network Time Protocol (NTP) zu verwenden, um die Systemuhren von Routern, Switches und anderen Netzwerkgeräten zu synchronisieren.
Standardmäßig arbeitet NTP vollständig nicht authentifiziert. Wenn ein böswilliger Versuch erfolgreich ist, die Genauigkeit der Uhr eines Routers oder Switches zu beeinflussen, kann dies negative Auswirkungen auf die Systemprotokollierung haben, die Fehlerbehebung und Die Erkennung von Eindringversuchen erschweren und andere Verwaltungsfunktionen behindern.
Die folgende Beispielkonfiguration synchronisiert alle Router oder Switches im Netzwerk mit einer einzigen Zeitquelle. Wir empfehlen, die Authentifizierung zu verwenden, um sicherzustellen, dass der NTP-Peer vertrauenswürdig ist. Die boot-server
Anweisung identifiziert den Server, von dem die anfängliche Uhrzeit des Tages und das Datum beim Booten des Routers abgerufen werden. Die server
Anweisung identifiziert den NTP-Server, der für die regelmäßige Zeitsynchronisierung verwendet wird. Die source-address
Anweisung ermöglicht es Ihnen, eine Quelladresse pro Familie für jede Routing-Instanz anzugeben. Die authentication-key
Anweisung gibt an, dass ein HMAC-Message Digest 5 (MD5)-Schema verwendet werden soll, um den Schlüsselwert für die Authentifizierung zu hashen, was verhindert, dass der Router oder Switch mit dem Host eines Angreifers synchronisiert wird, der sich als Zeitserver ausgibt.
[edit] system { ntp { authentication-key 2 type md5 value "$ABC123"; # SECRET-DATA boot-server 10.1.4.1; server 10.1.4.2 key 2; source-address 10.1.4.3 routing-instance ntp-instance; trusted key 2; } }
Zeitverteilung mit NTP synchronisieren und koordinieren
Die Verwendung von NTP zur Synchronisierung und Koordinierung der Zeitverteilung in einem großen Netzwerk umfasst folgende Aufgaben:
- NTP konfigurieren
- Konfigurieren des NTP-Boot-Servers
- Angeben einer Quelladresse für einen NTP-Server
NTP konfigurieren
-
Um NTP auf dem Switch zu konfigurieren, fügen Sie die
ntp
Anweisung auf[edit system]
Hierarchieebene ein:[edit system] ntp { authentication-key number type type value password; boot-server (address | hostname); broadcast <address> <key key-number> <version value> <ttl value>; broadcast-client; multicast-client <address>; peer address <key key-number> <version value> <prefer>; server address <key key-number> <version value> <prefer>; ntp source-address routing-instance routing-instance-name; trusted-key [ key-numbers ]; }
Konfigurieren des NTP-Boot-Servers
Wenn Sie den Switch starten, gibt er eine ntpdate-Anforderung aus, die einen Netzwerkserver abruft, um das lokale Datum und die Uhrzeit zu bestimmen. Sie müssen einen Server konfigurieren, den der Switch verwendet, um die Zeit für den Start des Switches zu bestimmen. Andernfalls kann NTP nicht mit einem Zeitserver synchronisiert werden, wenn die Zeit des Servers sehr weit von der Zeit des lokalen Switches entfernt ist.
-
Um den NTP-Boot-Server zu konfigurieren, fügen Sie die
boot-server
Anweisung auf[edit system ntp]
Hierarchieebene ein:[edit system ntp] boot-server (address | hostname);
Die boot-server
Option ist ab Junos OS Version 20.4R1 veraltet.
-
Junos OS Version 15.1 weiter, um den NTP-Boot-Server zu konfigurieren, fügen Sie die
set ntp server
Anweisung auf Hierarchieebene[edit system ntp]
ein:[edit system ntp] set server (address | hostname);
Geben Sie entweder die IP-Adresse oder den Hostnamen des Netzwerkservers an.
Angeben einer Quelladresse für einen NTP-Server
Für IP-Version 4 (IPv4) können Sie angeben, dass, wenn der auf [edit system ntp]
Hierarchieebene konfigurierte NTP-Server über eine der Loopback-Schnittstellenadressen kontaktiert wird, die Antwort immer eine bestimmte Quelladresse verwendet. Dies ist nützlich, um zu steuern, welche Quelladresse NTP für den Zugriff auf Ihr Netzwerk verwendet, wenn es entweder auf eine NTP-Client-Anfrage von Ihrem Netzwerk reagiert oder wenn es selbst NTP-Anforderungen an Ihr Netzwerk sendet.
Um die spezifische Quelladresse zu konfigurieren, die von der Antwort immer verwendet wird, und die Quelladresse, die vom NTP-Server initiierte Anforderungen verwendet wird, fügen Sie die source-address
Anweisung auf Hierarchieebene [edit system ntp]
ein. Die source-address ist eine gültige IP-Adresse, die auf einer der Router- oder Switch-Schnittstellen konfiguriert ist.
[edit system ntp] user@host#set source-address source-address
Zum Beispiel:
[edit system ntp] user@host# set source-address 10.1.4.3
Ab Junos OS Version 13.3 und Junos OS Evolved Version 20.2R1 können Sie die Quelladresse mithilfe der routing-instance
Anweisung auf [edit system ntp source-address source-address]
Hierarchieebene konfigurieren:
Infolgedessen wird beim Senden von NTP-Nachrichten über eine beliebige Schnittstelle in der ntp-source-test Routing-Instanz die Quelladresse 12.12.12.12.12 verwendet.
Die routing-instance
Anweisung ist optional und wenn nicht konfiguriert, wird die primäre Adresse der Schnittstelle verwendet.
Geben Sie eine Quelladresse pro Familie für jede Routing-Instanz an,
[edit system ntp] user@host# set source-address source-address routing-instance routing-instance-name
Zum Beispiel:
[edit system ntp] user@host# set source-address 10.1.4.3 routing-instance ntp-instance
Bei der Konfiguration des NTP-Diensts in der Verwaltungs-VRF (mgmt_junos
) müssen Sie mindestens eine IP-Adresse auf einer physischen oder logischen Schnittstelle innerhalb der Standard-Routing-Instanz konfigurieren und sicherstellen, dass diese Schnittstelle verfügbar ist, damit der NTP-Dienst mit der mgmt_junos VRF zusammenarbeiten kann.
Wenn ein Firewall-Filter auf der Loopback-Schnittstelle angewendet wird, stellen Sie sicher, dass der source-address
für den NTP-Server auf [edit system ntp]
Hierarchieebene angegebene explizit als eines der Übereinstimmungskriterien im Firewall-Filter enthalten ist. Auf diese Weise kann Junos OS Datenverkehr auf der Loopback-Schnittstelle von der angegebenen Quelladresse akzeptieren.
Das folgende Beispiel zeigt einen Firewall-Filter mit der Quelladresse 10.1.4.3
, die in der from
Anweisung in der [edit firewall filter firewall-filter-name]
Hierarchie angegeben ist:
[edit firewall filter Loopback-Interface-Firewall-Filter] term Allow-NTP { from { source-address { 172.17.27.46/32; // IP address of the NTP server 10.1.4.3/32 routing-instance ntp-instance; // Source address specified for the NTP server } then accept; } }
Wenn für den NTP-Server keine source-address
Anweisung konfiguriert ist, fügen Sie die primäre Adresse der Loopback-Schnittstelle in den Firewall-Filter ein.
NTP-Konfiguration
Das Network Time Protocol (NTP) bietet die Mechanismen, um die Zeit zu synchronisieren und die Zeitverteilung in einem großen, vielfältigen Netzwerk zu koordinieren. Debugging und Fehlerbehebung sind viel einfacher, wenn die Zeitstempel in den Protokolldateien aller Router oder Switches synchronisiert sind, da Ereignisse, die sich über das Netzwerk erstrecken, mit synchronen Einträgen in mehreren Protokollen korreliert werden können. Wir empfehlen die Verwendung des Network Time Protocol (NTP), um die Systemuhren von Routern, Switches und anderen Netzwerkgeräten zu synchronisieren.
So konfigurieren Sie NTP:
Beispiel: Konfigurieren von NTP
Das Network Time Protocol (NTP) bietet den Mechanismus, um die Zeit zu synchronisieren und die Zeitverteilung in einem großen, vielfältigeren Netzwerk zu koordinieren. NTP verwendet ein Mehrwegzeitdesign, bei dem ein verteiltes Subnetz von Zeitservern, die in einer selbstorganisierenden, hierarchischen primär-sekundären Konfiguration betrieben werden, lokale Uhren innerhalb des Subnetzes und mit nationalen Zeitstandards über Leitung oder Funk synchronisiert. Die Server können auch die Referenzzeit mithilfe lokaler Routing-Algorithmen und Zeit-Daemons neu verteilen.
Dieses Beispiel zeigt, wie Sie NTP konfigurieren:
Anforderungen
In diesem Beispiel werden die folgenden Software- und Hardwarekomponenten verwendet:
-
Junos OS Version 11.1 oder höher
-
Ein Switch, der mit einem Netzwerk verbunden ist, auf dem sich ein NTP-Boot-Server und ein NTP-Server befinden
Übersicht
Die Fehlerbehebung und Fehlerbehebung ist viel einfacher, wenn die Zeitstempel in den Protokolldateien aller Switches synchronisiert sind, da Ereignisse, die sich über ein Netzwerk erstrecken, mit synchronen Einträgen in mehreren Protokollen korreliert werden können. Wir empfehlen, das Network Time Protocol (NTP) zu verwenden, um die Systemuhren Ihres Switches und anderer Netzwerkgeräte zu synchronisieren.
In diesem Beispiel möchte ein Administrator die Zeit in einem Switch mit einer einzigen Zeitquelle synchronisieren. Wir empfehlen, die Authentifizierung zu verwenden, um sicherzustellen, dass der NTP-Peer vertrauenswürdig ist. Die boot-server
Anweisung identifiziert den Server, von dem die anfängliche Uhrzeit des Tages und das Datum beim Start des Switches abgerufen werden. Die server
Anweisung identifiziert den NTP-Server, der für die regelmäßige Zeitsynchronisierung verwendet wird. Die authentication-key
Anweisung gibt an, dass ein HMAC-Message Digest 5 -Schema (MD5) verwendet wird, um den Schlüsselwert für die Authentifizierung zu hashen, wodurch der Switch an der Synchronisierung mit dem Host eines Angreifers, der sich als Zeitserver ausgibt, verhindert wird.
Konfiguration
So konfigurieren Sie NTP:
Verfahren
CLI-Schnellkonfiguration
Um NTP schnell zu konfigurieren, kopieren Sie die folgenden Befehle und fügen sie in das Terminalfenster des Switches ein:
[edit system] set ntp boot-server 10.1.4.1 set ntp server 10.1.4.2 set ntp authentication-key 2 type md5 value "$ABC123"
Schritt-für-Schritt-Verfahren
So konfigurieren Sie NTP:
-
Geben Sie den Boot-Server an:
[edit system] user@host# set ntp boot-server 10.1.4.1
-
Geben Sie den NTP-Server an:
[edit system] user@host# set ntp server 10.1.4.2
-
Geben Sie eine Quelladresse pro Familie für jede Routing-Instanz an:
[edit system] user@host# set system ntp source-address 10.10.4.3 routing-instance ntp-instance
-
Geben Sie die Schlüsselnummer, den Authentifizierungstyp (MD5) und den Schlüssel für die Authentifizierung an:
[edit system] user@host# set ntp authentication-key 2 type md5 value "$ABC123"
Ergebnisse
Überprüfen Sie die Ergebnisse:
[edit system] user@host# show ntp { boot-server 10.1.4.1; authentication-key 2 type md5 value "$ABC123"; ## SECRET-DATA server 10.1.4.2; source-address 10.10.4.3 routing-instance ntp-instance; }
Überprüfung
Führen Sie die folgenden Aufgaben durch, um zu bestätigen, dass die Konfiguration korrekt ist:
Überprüfung der Zeit
Zweck
Überprüfen Sie die Uhrzeit, die auf dem Switch eingestellt wurde.
Aktion
Geben Sie den Befehl für den show system uptime
Betriebsmodus ein, um die Uhrzeit anzuzeigen.
user@host> show system uptime fpc0: -------------------------------------------------------------------------- Current time: 2009-06-12 12:49:03 PDT System booted: 2009-05-15 06:24:43 PDT (4w0d 06:24 ago) Protocols started: 2009-05-15 06:27:08 PDT (4w0d 06:21 ago) Last configured: 2009-05-27 14:57:03 PDT (2w1d 21:52 ago) by admin1 12:49PM up 28 days, 6:24, 1 user, load averages: 0.05, 0.06, 0.01
Bedeutung
Die Ausgabe zeigt, dass das aktuelle Datum und die Uhrzeit der 12. Juni 2009 und 12:49:03 PDT sind. Der Switch wurde vor 4 Wochen, 6 Stunden und 24 Minuten gestartet und seine Protokolle wurden etwa 3 Minuten vor dem Start gestartet. Der Switch wurde zuletzt am 27. Mai 2009 von Benutzer admin1 konfiguriert und derzeit ist ein Benutzer beim Switch angemeldet.
Die Ausgabe zeigt auch, dass der Lastdurchschnitt 0,05 Sekunden für die letzte Minute, 0,06 Sekunden für die letzten 5 Minuten und 0,01 Sekunden für die letzten 15 Minuten beträgt.
Anzeige der NTP-Peers
Zweck
Stellen Sie sicher, dass die Zeit von einem NTP-Server abgerufen wurde.
Aktion
Geben Sie den show ntp associations
Betriebsmodus-Befehl ein, um den NTP-Server vom Switch anzuzeigen, der seine Zeit erhalten hat.
user@host> show ntp associations remote refid st t when poll reach delay offset jitter ============================================================================== *ntp.net .GPS. 1 u 414 1024 377 3.435 4.002 0.765
Bedeutung
Das Sternchen (*) vor dem NTP-Servernamen oder Peer zeigt an, dass die Zeit synchronisiert und von diesem Server abgerufen wird. Verzögerung, Offset und Jitter werden in Millisekunden angezeigt.
Anzeige des NTP-Status
Zweck
Zeigen Sie die Konfiguration des NTP-Servers und den Status des Systems an.
Aktion
Geben Sie den Befehl für den show ntp status
Betriebsmodus ein, um den Status des NTP anzuzeigen.
user@host> show ntp status status=0644 leap_none, sync_ntp, 4 events, event_peer/strat_chg, version="ntpd 4.2.0-a Mon Apr 13 19:09:05 UTC 2009 (1)", processor="powerpc", system="JUNOS9.5R1.8", leap=00, stratum=2, precision=-18, rootdelay=2.805, rootdispersion=42.018, peer=48172, refid=192.168.28.5, reftime=cddd397a.60e6d7bf Fri, Jun 12 2009 13:30:50.378, poll=10, clock=cddd3b1b.ec5a2bb4 Fri, Jun 12 2009 13:37:47.923, state=4, offset=3.706, frequency=-23.018, jitter=1.818, stability=0.303
Bedeutung
Die Ausgabe zeigt Statusinformationen zum Switch und zum NTP.
NTP-Authentifizierungsschlüssel
Die Zeitsynchronisierung kann authentifiziert werden, um sicherzustellen, dass der Switch seine Zeitdienste nur von bekannten Quellen erhält. Standardmäßig ist die Netzwerkzeitsynchronisierung nicht authentifiziert. Der Switch synchronisiert sich mit dem System, das die genaueste Zeit hat. Wir empfehlen Ihnen dringend, die Authentifizierung von Netzwerkzeitservices zu konfigurieren.
Um andere Zeitserver zu authentifizieren, fügen Sie die trusted-key
Anweisung auf [edit system ntp]
Hierarchieebene ein. Die vertrauenswürdigen Schlüssel beziehen sich auf den konfigurierten Schlüssel, der vertrauenswürdig ist und von NTP für eine sichere Taktsynchronisierung verwendet wird. Jeder konfigurierte Schlüssel, auf den im "The" nicht verwiesen wird, trusted-key
ist nicht qualifiziert und wird von NTP abgelehnt. Nur Zeitserver, die Netzwerkzeitpakete mit einer der angegebenen Schlüsselnummern übertragen, können synchronisiert werden. Darüber hinaus muss der Schlüssel mit dem für diese Schlüsselnummer konfigurierten Wert übereinstimmen. Andere Systeme können sich ohne Authentifizierung mit dem lokalen Switch synchronisieren.
[edit system ntp] trusted-key[ key-numbers ];
Jeder Schlüssel kann eine beliebige 32-Bit-ganzzahl ohne Vorzeichen mit Ausnahme von 0 sein. Schließen Sie die Schlüsseloption in den Peer, Server oder broadcast
Anweisungen ein, um den angegebenen Authentifizierungsschlüssel beim Senden von Paketen zu übertragen. Der Schlüssel ist notwendig, wenn das Remote-System die Authentifizierung aktiviert hat, damit es mit dem lokalen System synchronisiert werden kann.
Um die Authentifizierungsschlüssel zu definieren, fügen Sie die authentication-key
Anweisung auf Hierarchieebene [edit system ntp]
ein:
[edit system ntp] authentication-key key-number type type value password;
number ist die Schlüsselzahl, type ist der Authentifizierungstyp (nur Message Digest 5 [MD5], SHA1 und SHA256 werden unterstützt) und password ist das Kennwort für diesen Schlüssel. Die Schlüsselnummer, der Typ und das Kennwort müssen auf allen Systemen übereinstimmen, die diesen bestimmten Schlüssel für die Authentifizierung verwenden. Für die Konfiguration des NTP-Authentifizierungsschlüssels (Network Time Protocol) darf im Kennwort kein Leerzeichen vorhanden sein.
EX4300, EX4600 und verwandte Nicht-MP-Geräte wie QFX5100 (EX- und QFX-Modelle, die BSD6 ausführen) unterstützen nur MD5-Authentifizierung für NTP und unterstützen keine SHA-1- und SHA-256-Authentifizierungstypen.
Konfigurieren von Geräten für das Abhören von Broadcast-Nachrichten mit NTP
Wenn Sie NTP verwenden, können Sie den lokalen Router oder Switch so konfigurieren, dass er Broadcast-Nachrichten im lokalen Netzwerk abhört, um andere Server im selben Subnetz zu erkennen, indem Sie die broadcast-client
Anweisung auf Hierarchieebene [edit system ntp]
angeben:
[edit system ntp] broadcast-client;
Wenn der Router oder Switch zum ersten Mal eine Broadcast-Nachricht erkennt, misst er die nominale Netzwerkverzögerung mithilfe eines kurzen Client-Server-Austauschs mit dem Remote-Server. Anschließend tritt es in den Broadcast-Client-Modus , in dem es auf und synchronisiert sich mit folgenden Broadcast-Nachrichten.
Um versehentliche oder böswillige Unterbrechungen in diesem Modus zu vermeiden, müssen sowohl lokale als auch Remote-Systeme Authentifizierung und dieselbe vertrauenswürdige Schlüssel- und Schlüsselkennung verwenden.
Konfigurieren von Geräten für das Abhören von Multicast-Nachrichten mit NTP
Wenn Sie NTP verwenden, können Sie den lokalen Router oder Switch so konfigurieren, dass er Multicast-Nachrichten im lokalen Netzwerk abhört, um andere Server im selben Subnetz zu erkennen, indem Sie die multicast-client
Anweisung auf [edit system ntp]
Hierarchieebene angeben:
[edit system ntp] user@host# set multicast-client address
Wenn der Router oder Switch zum ersten Mal eine Multicast-Nachricht empfängt, misst er die nominale Netzwerkverzögerung mithilfe eines kurzen Client-Server-Austauschs mit dem Remote-Server. Anschließend tritt es in den Multicast-Client-Modus , in dem es abhört und sich mit folgenden Multicast-Nachrichten synchronisiert.
Sie können eine oder mehrere IP-Adressen angeben. (Sie müssen eine Adresse und keinen Hostnamen angeben.) Wenn Sie dies tun, tritt der Router oder Switch diesen Multicast-Gruppen bei. Wenn Sie keine Adressen angeben, verwendet 224.0.1.1
die Software .
Um versehentliche oder böswillige Unterbrechungen in diesem Modus zu vermeiden, müssen sowohl lokale als auch Remote-Systeme Authentifizierung und dieselbe vertrauenswürdige Schlüssel- und Schlüsselkennung verwenden.