TCP-Authentifizierungsoption (TCP-AO)
ZUSAMMENFASSUNG Erfahren Sie mehr über TCP-Authentifizierungsoption (TCP-AO) für BGP- und LDP-Sitzungen.
TCP-AO für BGP- und LDP-Sitzungen
Die BGP- und LDP-Protokolle verwenden TCP für den Transport. TCP-AO ist eine neue Authentifizierungsmethode, die durch RFC5925, die TCP-Authentifizierungsoption, vorgeschlagen wird, um die Sicherheit und Authentizität von TCP-Segmenten zu verbessern, die während BGP- und LDP-Sitzungen ausgetauscht werden. Außerdem unterstützt es sowohl IPv4- als auch IPv6-Datenverkehr.
Vorteile von TCP-AO
TCP-AO bietet gegenüber TCP MD5 die folgenden Vorteile:
-
Stärkere Algorithmen: Unterstützt mehrere stärkere Authentifizierungsalgorithmen wie HMAC-SHA-1-96 und AES-128-CMAC-96 (vorgeschrieben durch RFC5925, Die TCP-Authentifizierungsoption). HMAC-SHA-1-96 ist ein Hash-basiertes MAC und AES-128-CMAC-96 ist ein chiffrenbasierter MAC, wodurch die Nachrichten-Digest komplexer und sicherer wird als der Digest, der mit dem MD5-Algorithmus erstellt wird.
-
Zweifache Sicherheit: Bei der TCP-AO-Methode wird der konfigurierte Authentifizierungsalgorithmus in zwei Schritten verwendet: Einmal wird ein interner Datenverkehrsschlüssel aus einem vom Benutzer konfigurierten Schlüssel generiert und anschließend ein Nachrichten-Digest mithilfe des generierten Datenverkehrsschlüssels generiert, während bei der TCP MD5-Methode der MD5-Algorithmus mithilfe des vom Benutzer konfigurierten Schlüssels einen Nachrichten-Digest generiert.
-
Bessere Schlüsselverwaltung und Agilität: Sie können bis zu 64 Schlüssel für eine Sitzung konfigurieren und während der Lebensdauer einer Sitzung jederzeit hinzufügen. Es bietet einen einfachen Schlüsselkoordinationsmechanismus, indem es die Möglichkeit gibt, Schlüssel innerhalb derselben Verbindung zu ändern (von einem Schlüssel zu einem anderen zu bewegen), ohne dass die TCP-Verbindung geschlossen wird. Das Ändern der TCP MD5-Schlüssel während einer eingerichteten Verbindung kann zu einem Flaps oder einem Neustart der Verbindung führen.
-
Geeignet für langlebige Verbindungen – Besser geeignet für langlebige Verbindungen für Routing-Protokolle wie BGP und LDP und über wiederholte Instanzen einer einzigen Verbindung.
Was ist TCP-AO?
TCP-AO bietet ein Framework für:
-
Unterstützen Sie mehrere stärkere Algorithmen wie HMAC-SHA1 und AES-128, um einen internen Datenverkehrsschlüssel und einen Message Digest zu erstellen.
-
Fügen Sie einen neuen vom Benutzer konfigurierten Schlüssel hinzu, um interne Datenverkehrsschlüssel für eine bestehende Verbindung erneut zu generieren, und einen Mechanismus zur Synchronisierung von Schlüsseländerungen zwischen BGP- oder LDP-Peers.
In früheren Versionen unterstützten Junos-Geräte nur die TCP MD5-Authentifizierungsmethode für BGP- und LDP-Sitzungen. Die MD5-Methode unterstützt nur den MD5-Algorithmus, der weniger sicher ist als TCP-AO. Darüber hinaus unterbrochen das Ändern eines MD5-Schlüssels normalerweise die TCP-Sitzung, im Gegensatz zu TCP-AO. TCP MD5 ist in RFC2385, Schutz von BGP-Sitzungen über die TCP MD5-Signaturoption definiert. Weitere Informationen zu TCP MD5 finden Sie unter TCP.
-
Obwohl Junos-Geräte sowohl die Authentifizierungsmethoden TCP-AO als auch TCP MD5 unterstützen, können Sie nicht beide gleichzeitig für eine bestimmte Verbindung verwenden.
-
TCP-AO unterstützt Nonstop Active Routing.
Im folgenden Diagramm wird der Unterschied zwischen TCP-AO- und TCP MD5-Authentifizierung erläutert. Der erste Datenstrom zeigt den Konfigurations- und Verarbeitungsfluss für TCP-AO und der zweite Datenstrom den Konfigurations- und Verarbeitungsfluss für TCP-MD5.
Nachfolgend finden Sie eine Erklärung der in Abbildung 1 dargestellten Verarbeitungsströme:
-
TCP-AO: Der Benutzer hat zwei Schlüssel im Schlüsselbund (Schlüssel 0 und Schlüssel 1) mit allen erforderlichen Parametern konfiguriert. Der Schlüsselbund unterstützt zwei Algorithmen: HMAC SHA1 und AES-128 (vorgeschrieben pro RFC5925). TCP ruft Schlüssel 0 ab, der Schlüssel, der derzeit aktiv ist, wie der Zeitstempel in der Abbildung zeigt. In diesem Beispiel wird Schlüssel 0 mit HMAC-SHA1 konfiguriert.
SHA1 nimmt den "geheimen" (aus der Schlüssel-0-Konfiguration) und die verbindungsspezifischen Parameter für die Verschlüsselung und generiert einen internen Datenverkehrsschlüssel.
SHA1 verschlüsselt erneut den internen Datenverkehrsschlüssel und das TCP-Segment, um den Message Digest zu generieren. Der Digest wird in das TCP-AO MAC-Feld der TCP-AO-Option im TCP-Segment kopiert. Das Segment wird dann an das Empfangsgerät gesendet.
-
TCP-MD5: Der Benutzer hat einen einzigen Schlüssel konfiguriert, da die TCP MD5-Option nur einen Schlüssel für eine Verbindung unterstützt. Darüber hinaus unterstützt es nur den MD5-Algorithmus. Der MD5-Algorithmus nimmt den "geheimen" Schlüssel und das TCP-Segment für die Verschlüsselung und generiert einen Message Digest. Dieser Nachrichten-Digest wird dann in das MD5-Digest-Feld im TCP-Segment kopiert und an das Empfangsgerät gesendet.
Konfiguration
Konfigurieren Sie zunächst einen Schlüsselbund. Wenden Sie dann TCP-AO auf die BGP- oder LDP-Sitzung an.
Um einen Schlüsselbund für TCP-AO (mit einem Schlüssel) zu konfigurieren, konfigurieren Sie die folgende Anweisung auf Hierarchieebene [edit security] .
[edit security] user@router# set authentication-key-chains key-chain key-chain key id secret secretpassword start-time YYYY-MM-DD.HH:MM algorithm ao ao-attribute send-id send-id recv-id recv-id cryptographic-algorithm cryptographic-algorithm tcp-ao-option enabled
Um TCP-AO auf eine BGP-Sitzung anzuwenden (mit der konfigurierten Schlüsselkette), konfigurieren Sie die folgende Anweisung auf Hierarchieebene [edit protocols] .
[edit protocols] user@router# set bgp group group neighbor neighbor authentication-algorithm ao user@router# set bgp group group neighbor neighbor authentication-key-chain key-chain
Um TCP-AO auf eine LDP-Sitzung anzuwenden (mit dem konfigurierten Schlüsselbund), konfigurieren Sie die folgende Anweisung auf Hierarchieebene [edit protocols] .
[edit protocols] user@router# set ldp session session authentication-algorithm ao user@router# set ldp session session authentication-key-chain key-chain
Beispiel: Konfigurieren eines Schlüsselbundes (TCP-AO)
ZUSAMMENFASSUNG In diesem Beispiel erfahren Sie, wie Sie einen TCP-AO-Schlüsselbund erstellen, um eine BGP- oder LDP-Sitzung zu authentifizieren.
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Router der MX- oder PTX-Serie.
Junos OS Version 20.3R1 oder höher.
In diesem Beispiel erfahren Sie, wie Sie einen TCP-AO-Schlüsselbund erstellen, um eine BGP- oder LDP-Sitzung zu authentifizieren.
In diesem Beispiel können Sie einen Schlüsselbund mit zwei Schlüsseln new_auth_key key 0 und key 1 auf den Geräten R1 und R2 erstellen.
Sie haben erfolgreich einen Schlüsselbund erstellt!
Verwenden Sie den Befehl aus dem delete security authentication-key-chains key-chain key-chain-name Konfigurationsmodus, um einen Schlüsselbund zu löschen.
-
Sie können während ihrer Lebensdauer nur einen TCP-AO-Schlüsselbund mit einer BGP- oder LDP-Sitzung verknüpfen. Sie können nicht in ihrer Lebensdauer einen anderen Schlüsselbund auf die Sitzung verweisen.
-
Wir empfehlen ein Mindestintervall von 30 Minuten zwischen der Startzeit von zwei weiteren Schlüsseln in einem Schlüsselbund.
-
Sobald ein Schlüsselbund konfiguriert ist und von einer TCP-Verbindung verwendet wird, können Sie die
send-idWerte desrecv-idaktiven Schlüssels nicht mehr ändern. Sie können jedoch die anderen Parameter im Schlüssel ändern, und jede neue Verbindung, die dem aktualisierten Schlüsselbund zugeordnet ist, nimmt die aktualisierten Parameter für ihre Verbindungseinrichtung an. -
Ab Junos OS Version 21.2R1 können Sie den
tcpao-auth-mismatch allow-without-tcpaoVerbindungsaufbau ohne TCP-AO zulassen, wenn auf einem TCP-Endgerät kein TCP-AO konfiguriert ist.
Verwenden Sie den show security keychain Befehl, um Informationen über vorhandene Schlüsselketten (falls vorhanden) aus dem Betriebsmodus anzuzeigen. Hier ist eine Beispielausgabe:
user@R1> show security keychain
Keychain Active-ID Next-ID Transition Tolerance
Send Receive Send Receive
new_auth_key 1 1 None None None 3600 (secs)
Beispiel: Verwenden Sie TCP-AO zum Authentifizieren einer BGP-Sitzung
ZUSAMMENFASSUNG In diesem Beispiel erfahren Sie, wie Sie eine BGP-Sitzung mithilfe eines TCP-AO-Schlüsselbundes (TCP-AO) authentifizieren.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
-
Router der MX- oder PTX-Serie.
-
Junos OS Version 20.3R1 oder höher.
-
Konfigurieren Sie einen Schlüsselbund
new_auth_key. Weitere Informationen finden Sie unter Konfigurieren eines Schlüsselbundes (TCP-AO).
Übersicht
BGP verwendet TCP als Transportprotokoll. TCP-AO ist eine Methode, mit der Sie BGP-Sitzungen authentifizieren können. Sie können einen TCP-AO-Schlüsselbund auf dem BGP-Nachbarn oder auf BGP-Gruppenebene der Konfigurationshierarchie anwenden.
Topologie
Konfiguration
In diesem Beispiel weisen Sie den TCP-AO-Authentifizierungs-Schlüsselbund new_auth_key und den Authentifizierungsalgorithmus ao auf beiden Geräten zu, um eine BGP-Sitzung zu authentifizieren.
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie in die CLI ein.
R1
[edit] set interfaces ge-0/0/1 description R1-to-R2-Link set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.11/32 set routing-options router-id 192.168.0.11 set routing-options autonomous-system 65500 set protocols bgp group ebgp_grp type external set protocols bgp group ebgp_grp peer-as 65501 set protocols bgp group ebgp_grp neighbor 192.0.2.2 set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-key-chain new_auth_key set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-algorithm ao
R2
[edit] set interfaces ge-0/0/1 description R2-to-R1-Link set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.12/32 set routing-options router-id 192.168.0.12 set routing-options autonomous-system 65501 set protocols bgp group ebgp_grp type external set protocols bgp group ebgp_grp peer-as 65500 set protocols bgp group ebgp_grp neighbor 192.0.2.1 set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-key-chain new_auth_key set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-algorithm ao
Schritt-für-Schritt-Verfahren
-
Gehen Sie in den Konfigurationsmodus.
-
Konfigurieren Sie grundlegende Einstellungen wie die IP-Adresse der Schnittstelle, Schnittstellenbeschreibung, eine Loopback-Adresse, Router-ID und AS-Nummer auf beiden Geräten.
R1
[edit]user@R1# set interfaces ge-0/0/1 description R1-to-R2-Link user@R1# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.11/32 user@R1# set routing-options router-id 192.168.0.11 user@R1# set routing-options autonomous-system 65500R2
[edit]user@R2# set interfaces ge-0/0/1 description R2-to-R1-Link user@R2# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30 user@R2# set interfaces lo0 unit 0 family inet address 192.168.0.12/32 user@R2# set routing-options router-id 192.168.0.12 user@R2# set routing-options autonomous-system 65501 -
Konfigurieren Sie eine EBGP zwischen R1 und R2.
R1
[edit]user@R1# set protocols bgp group ebgp_grp type external user@R1# set protocols bgp group ebgp_grp peer-as 65501 user@R1# set protocols bgp group ebgp_grp neighbor 192.0.2.2R2
[edit]user@R2# set protocols bgp group ebgp_grp type external user@R2# set protocols bgp group ebgp_grp peer-as 65500 user@R2# set protocols bgp group ebgp_grp neighbor 192.0.2.1 -
Weisen Sie den Authentifizierungsschlüsselbund
new_auth_keyund den Authentifizierungsalgorithmusaoder BGP-Sitzung auf beiden Geräten zu.R1
[edit]user@R1# set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-key-chain new_auth_key user@R1# set protocols bgp group ebgp_grp neighbor 192.0.2.2 authentication-algorithm aoR2
[edit]user@R2# set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-key-chain new_auth_key user@R2# set protocols bgp group ebgp_grp neighbor 192.0.2.1 authentication-algorithm ao -
Geben Sie
commitauf beiden Geräten über den Konfigurationsmodus ein.Sobald Sie die Konfigurationsanweisungen auf beiden Geräten festlegen, sollte die BGP-Sitzung mit der TCP-AO-AO-Authentifizierungsmethode hergestellt werden.
Ergebnisse
Bestätigen Sie Ihre Konfigurationen mithilfe von show interfaces, show routing-optionsund show protocols Befehlen aus dem Konfigurationsmodus.
user@R1# show interfaces
ge-0/0/1 {
description R1-to-R2-Link;
unit 0 {
family inet {
address 192.0.2.1/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.11/32;
}
}
}
user@R1# show routing-options
autonomous-system 65500;
user@R1# show protocols
bgp {
group ebgp_grp {
type external;
peer-as 65500;
neighbor 192.0.2.1 {
authentication-algorithm ao;
authentication-key-chain new_auth_key;
{
{
{
bgp {
group ebgp_grp {
type external;
peer-as 65551;
neighbor 192.0.2.2 {
authentication-algorithm ao;
authentication-key-chain new_auth_key;
}
}
}
Überprüfung
Einrichtung einer BGP-Sitzung überprüfen
Zweck
Bestätigen Sie die Ausgabe der BGP-Sitzungseinrichtung nach aktivierung von TCP-AO.
Aktion
Zeigen Sie eine BGP-Zusammenfassung des BGP-Sitzungsstatus mit dem show bgp summary Betriebsmodus-Befehl an.
user@R1> show bgp summary
Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 1 Peers: 1 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0
0 0 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
192.0.2.2 65501 6 4 0 0 1:19 Establ
inet.0: 0/0/0/0
Bedeutung
Die hervorgehobenen Ausgabewerte zeigen an, dass BGP vor 1:19 Minute erfolgreich eine Sitzung mit der TCP-AO-Authentifizierungsmethode eingerichtet hat.
Überprüfen, ob die BGP-Sitzung TCP-AO verwendet
Zweck
Überprüfen Sie, ob ein BGP-Nachbarn mit dem TCP-AO-Schlüsselbund authentifiziert wurde.
Aktion
Verwenden Sie den show bgp neighbor neighbor Befehl, um Konfigurationsdetails für BGP-Peers anzuzeigen. Um nur authentifizierungsspezifische Details in der Ausgabe zu filtern, verwenden Sie die Pipe-Funktion (|) und passen Sie an authentication, wie dargestellt:
user@R1> show bgp neighbor 192.0.2.2 | match authentication Authentication key chain: new_auth_key Authentication algorithm: ao
Bedeutung
Die Ausgabe zeigt an, dass der Authentifizierungsschlüsselbund new_auth_key und der Authentifizierungsalgorithmus ao auf den BGP-Nachbarn 192.0.2.2angewendet werden.
Beispiel: Verwenden Sie TCP-AO zum Authentifizieren einer LDP-Sitzung
ZUSAMMENFASSUNG In diesem Beispiel wird gezeigt, wie Sie eine LDP-Sitzung mithilfe eines TCP-AO-Schlüsselbundes (TCP-AO) authentifizieren.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
-
Router der MX- oder PTX-Serie.
-
Junos OS Version 20.3R1 oder höher.
-
Konfigurieren Sie einen Schlüsselbund
new_auth_key. Weitere Informationen finden Sie unter Konfigurieren eines Schlüsselbundes (TCP-AO).
Übersicht
Label Distribution Protocol (LDP) ist ein MPLS-Signalübertragungsprotokoll. Es ermöglicht Routern, Label-Switched Paths (LSPs) über ein Netzwerk einzurichten. TCP-AO verbessert die Sicherheit von Sitzungen, die zwischen LDP-Peers erstellt werden.
Konfiguration
In diesem Beispiel weisen Sie die TCP-AO-Authentifizierungs-Schlüsselkette new_auth_key und den Authentifizierungsalgorithmus ao beiden Geräten zu, um ihre LDP-Sitzung zu authentifizieren.
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie in die CLI ein.
R1
[edit]
set interfaces ge-0/0/1 description R1-to-R2-Link
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 192.168.0.11/32
set routing-options router-id 192.168.0.11
set protocols ldp interface ge-0/0/1.0
set protocols ldp interface lo0.0
set protocols ldp session 192.168.0.12 authentication-algorithm ao
set protocols ldp session 192.168.0.12 authentication-key-chain new_auth_key
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
set protocols ospf area 0.0.0.0 interface lo0.0
R2
[edit]
set interfaces ge-0/0/1 description R2-to-R1-Link
set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 192.168.0.12/32
set routing-options router-id 192.168.0.12
set protocols ldp interface ge-0/0/1.0
set protocols ldp interface lo0.0
set protocols ldp session 192.168.0.11 authentication-algorithm ao
set protocols ldp session 192.168.0.11 authentication-key-chain new_auth_key
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
set protocols ospf area 0.0.0.0 interface lo0.0
Schritt-für-Schritt-Verfahren
-
Gehen Sie in den Konfigurationsmodus.
-
Konfigurieren Sie die grundlegende Einrichtung wie Geräteschnittstelle, Loopback, Schnittstellenbeschreibung, Router-ID, AS-Nummer auf R1 und R2.
R1
[edit]user@R1# set interfaces ge-0/0/1 description R1-to-R2-Link user@R1# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.11/32 user@R1# set routing-options router-id 192.168.0.11R2
[edit]user@R2# set interfaces ge-0/0/1 description R2-to-R1-Link user@R2# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.2/30 user@R2# set interfaces lo0 unit 0 family inet address 192.168.0.12/32 user@R2# set routing-options router-id 192.168.0.12 -
Konfigurieren Sie MPLS und LDP auf beiden Geräten.
R1
[edit]user@R1# set interfaces ge-0/0/1 unit 0 family mpls user@R1# set protocols ldp interface ge-0/0/1.0 user@R1# set protocols ldp interface lo0.0R2
[edit]user@R2# set interfaces ge-0/0/1 unit 0 family mpls user@R2# set protocols ldp interface ge-0/0/1.0 user@R2# set protocols ldp interface lo0.0 -
Konfigurieren Sie ein Interior Gateway Protocol (IGP), um die Erreichbarkeit von Loopback-Adressen anzukündigen. In diesem Beispiel konfigurieren wir OSPF.
R1
[edit protocols]user@R1# set ospf area 0.0.0.0 interface ge-0/0/1.0 user@R1# set ospf area 0.0.0.0 interface lo0.0 passiveR2
[edit protocols]user@R2# set ospf area 0.0.0.0 interface ge-0/0/1.0 user@R2# set ospf area 0.0.0.0 interface lo0.0 passive -
Zuordnen
authentication-key-chain new_auth_keyundauthentication-algorithm aomit der Label-Space-ID von R1 und R2.R1
[edit protocols]user@R1# set ldp session 192.168.0.12 authentication-algorithm ao user@R1# set ldp session 192.168.0.12 authentication-key-chain new_auth_keyR2
[edit protocols]user@R2# set ldp session 192.168.0.11 authentication-algorithm ao user@R2# set ldp session 192.168.0.11 authentication-key-chain new_auth_key -
Geben Sie die Eingabe
commitüber den Konfigurationsmodus auf beiden Geräten ein.
Ergebnisse
Bestätigen Sie Ihre Konfiguration mithilfe von show interfaces" und show protocols show routing-options "Befehlen".
user@R1# show interfaces
ge-0/0/1 {
description R1-to-R2-Link;
unit 0 {
family inet {
address 192.0.2.1/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.11/32;
}
}
}
user@R1# show routing-options
router-id 192.168.0.11;
user@R1# show protocols
ldp {
interface ge-0/0/1.0;
interface lo0.0 passive;
authentication-algorithm ao;
authentication-key-chain new_auth_key;
{
{
ospf {
area 0.0.0.0 {
interface ge-0/0/1.0;
interface lo0.0;
{
{
Überprüfung
LDP-Sitzung überprüfen
Zweck
LDP-Sitzungseinrichtung mit TCP-AO überprüfen.
Aktion
Verwenden Sie den show ldp session detail Betriebsmodus-Befehl, um zu überprüfen, ob die LDP-Sitzung korrekt eingerichtet wurde.
user@R1> show ldp session detail
Address: 192.168.0.12, State: Operational, Connection: Open, Hold time: 22
Session ID: 192.168.0.11:0--192.168.0.12:0
Next keepalive in 2 seconds
Passive, Maximum PDU: 4096, Hold time: 30, Neighbor count: 1
Neighbor types: discovered
Keepalive interval: 10, Connect retry interval: 1
Local address: 192.168.0.11, Remote address: 192.168.0.12
Up for 01:11:59
Last down 01:13:12 ago; Reason: authentication key was changed
Number of session flaps: 2
Capabilities advertised: none
Capabilities received: none
Protection: disabled
Session flags: none
Authentication type: new_auth_key(ao key-chain, 192.168.0.12/32)
Local - Restart: disabled, Helper mode: enabled
Remote - Restart: disabled, Helper mode: enabled
Local maximum neighbor reconnect time: 120000 msec
Local maximum neighbor recovery time: 240000 msec
Local Label Advertisement mode: Downstream unsolicited
Remote Label Advertisement mode: Downstream unsolicited
Negotiated Label Advertisement mode: Downstream unsolicited
MTU discovery: disabled
Nonstop routing state: Not in sync
Next-hop addresses received:
192.0.2.2
192.168.0.12
128.49.110.110
Bedeutung
Die Ausgabe zeigt an, dass die LDP-Sitzung eingerichtet ist.
Beispiel: Verwenden Sie TCP-AO zur Authentifizierung von RPKI-Validierungssitzungen
Übersicht
Resource Public Key Infrastructure (RPKI) ist ein Infrastruktur-Framework für öffentlichen Schlüssel, das zur Sicherung der Routing-Infrastruktur des Internets, insbesondere des BGP, entwickelt wurde. RPKI bietet eine Möglichkeit, Internetnummernressourceninformationen wie IP-Adressen mit einem Vertrauensanker zu verbinden. Durch die Verwendung von RPKI können legitime Inhaber von Nummernressourcen den Betrieb von Internet-Routing-Protokollen kontrollieren, um Routen-Hijacking und andere Angriffe zu verhindern.
Ab Junos OS Version 22.2R1 können Sie RPKI-Sitzungen mithilfe von TCP-AO -Option (TCP-AO) und Schlüsselbund authentifizieren.
In diesem Beispiel wird gezeigt, wie Sie eine RPKI-Validierungssitzung mithilfe eines TCP-AO-Schlüsselbundes authentifizieren. Wir erstellen eine authentifizierte RPKI-Sitzung zwischen einem Client-Gerät (R1) und einem Server (R2).
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
- 2 Router der MX-Serie
- Junos OS Version 22.2R1 oder höher.
Topologie
Konfiguration
In diesem Beispiel müssen Sie den TCP-AO-Authentifizierungs-Schlüsselbund new_auth_key und den Authentifizierungsalgorithmus ao auf beiden Geräten zuordnen, um eine RPKI-Verbindung zu authentifizieren.
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie in die CLI ein.
R1
[edit] set system host-name R1 set interfaces ge-0/0/0 description R1-to-R2-Link set interfaces ge-0/0/0 unit 0 family inet address 192.168.12.1/24 set interfaces lo0 unit 0 family inet address 172.16.255.1/32 set routing-options router-id 172.16.255.1 set routing-options autonomous-system 65500 set security authentication-key-chains key-chain new_auth_key key 0 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 0 start-time "2022-5-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 0 algorithm ao set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute send-id 3 set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute recv-id 8 set security authentication-key-chains key-chain new_auth_key key 1 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 1 start-time "2022-6-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 1 algorithm ao set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute send-id 1 set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute recv-id 2 set routing-options validation group to_servers session 192.168.12.2 port 8282 set routing-options validation group to_servers session 192.168.12.2 authentication-algorithm ao set routing-options validation group to_servers session 192.168.12.2 authentication-key-chain new_auth_key
R2
[edit] set system host-name R2 set logical-systems rv_server_1 interfaces ge-0/0/0 unit 0 family inet address 192.168.12.2/24 set interfaces lo0 unit 0 family inet address 172.16.255.2/32 set routing-options router-id 172.16.255.2 set routing-options autonomous-system 65501 set logical-systems rv_server_1 routing-options validation local-cache listen-port 8282 set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-cache set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-address 192.168.12.2 set security authentication-key-chains key-chain new_auth_key key 0 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 0 start-time "2022-5-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 0 algorithm ao set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute send-id 8 set security authentication-key-chains key-chain new_auth_key key 0 ao-attribute recv-id 3 set security authentication-key-chains key-chain new_auth_key key 1 secret "$ABC123" set security authentication-key-chains key-chain new_auth_key key 1 start-time "2022-6-18.04:00:00 -0700" set security authentication-key-chains key-chain new_auth_key key 1 algorithm ao set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute send-id 2 set security authentication-key-chains key-chain new_auth_key key 1 ao-attribute recv-id 1 set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-algorithm ao set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-key-chain new_auth_key
Schritt-für-Schritt-Verfahren
-
Konfigurieren Sie grundlegende Einstellungen wie Schnittstellen, eine Loopback-Adresse, Router-ID und AS-Nummer auf beiden Geräten. Auf R2 konfigurieren wir die logische Systemschnittstelle für den Server.
R1
[edit] user@R1# set system host-name R1 user@R1# set interfaces ge-0/0/0 description R1-to-R2-Link user@R1# set interfaces ge-0/0/0 unit 0 family inet address 192.168.12.1/24 user@R1# set interfaces lo0 unit 0 family inet address 172.16.255.1/32 user@R1# set routing-options router-id 172.16.255.1 user@R1# set routing-options autonomous-system 65500
R2
[edit] user@R2# set system host-name R2 user@R2# set logical-systems rv_server_1 interfaces ge-0/0/0 unit 0 family inet address 192.168.12.2/24 user@R2# set interfaces lo0 unit 0 family inet address 172.16.255.2/32 user@R2# set routing-options router-id 172.16.255.2 user@R2# set routing-options autonomous-system 65501
-
Konfigurieren Sie eine TCP-Sitzung auf dem Clientgerät (R1) mit dem RPKI-Server (R2) mit einer alternativen TCP-Portnummer.
R1
[edit] user@R1# set routing-options validation group to_servers session 192.168.12.2 port 8282
-
Konfigurieren Sie auf dem Server R2 eine RPKI-Sitzung mit dem Client R1 für die Ursprungsvalidierung.
[edit] user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-cache user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 local-address 192.168.12.2
-
Erstellen Sie einen Schlüsselbund
new_auth_keymit dem ersten Schlüssel (Schlüssel 0):R1
[edit security] user@R1# set authentication-key-chains key-chain new_auth_key key 0 secret secretpassword start-time 2022-5-18.04:00 algorithm ao ao-attribute send-id 3 recv-id 8
R2 (mit umgekehrten Send-ID- und Recv-ID-Werten)
[edit security] user@R2# set authentication-key-chains key-chain new_auth_key key 0 secret secretpassword start-time 2022-5-18.04:00 algorithm ao ao-attribute send-id 8 recv-id 3
-
So fügen Sie nach dem Erstellen von Schlüssel 0 einen weiteren Schlüssel (Schlüssel 1) hinzu:
R1
[edit security authentication-key-chains key-chain new_auth_key] user@R1# set key 1 secret secretpassword start-time 2022-6-18.04:00 algorithm ao ao-attribute send-id 1 recv-id 2
R2 (mit umgekehrten Send-ID- und Recv-ID-Werten)
[edit security authentication-key-chains key-chain new_auth_key] user@R2# set key 1 secret secretpassword start-time 2022-6-18.04:00 algorithm ao ao-attribute send-id 2 recv-id 1
-
Wenden Sie den konfigurierten Schlüsselbund
new_auth_keyund den Authentifizierungsalgorithmusaosowohl auf R1 als auch auf R2 an.R1
[edit] user@R1# set routing-options validation group to_servers session 192.168.12.2 authentication-algorithm ao user@R1# set routing-options validation group to_servers session 192.168.12.2 authentication-key-chain new_auth_key
R2
[edit] user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-algorithm ao user@R2# set logical-systems rv_server_1 routing-options validation group to_dut session 192.168.12.1 authentication-key-chain new_auth_key
-
Geben Sie
commitauf beiden Geräten über den Konfigurationsmodus ein, um Ihre Änderungen zu aktivieren. -
Verwenden Sie den Befehl aus dem Konfigurationsmodus, um den Schlüsselbund mit den
show security authentication-key-chainsbeiden konfigurierten Schlüsselnnew_auth_keyzu überprüfen.
Ergebnisse
Überprüfen Sie die Ergebnisse der Keychain-Konfiguration auf R1:
user@R1# show security authentication-key-chains
key-chain new_auth_key {
key 0 {
secret "$ABC123"; ## SECRET-DATA
start-time "2022-5-18.04:00:00 -0700";
algorithm ao;
ao-attribute {
send-id 3;
recv-id 8;
}
}
key 1 {
secret "$ABC123"; ## SECRET-DATA
start-time "2022-6-18.04:00:00 -0700";
algorithm ao;
ao-attribute {
send-id 1;
recv-id 2;
}
}
}
Bestätigen Sie die verbleibenden auf R1 angewendeten Konfigurationen mit den folgenden Befehlen:
user@R1# show interfaces
ge-0/0/0 {
description R1-to-R2-Link;
unit 0 {
family inet {
address 192.168.12.1/24;
}
}
}
lo0 {
unit 0 {
family inet {
address 172.16.255.1/32;
}
}
}
user@R1# show routing-options
router-id 172.16.255.1;
autonomous-system 65500;
validation {
group to_servers {
session 192.168.12.2 {
authentication-algorithm ao;
authentication-key-chain new_auth_key;
port 8282;
}
}
}
Überprüfung
Zweck
Stellen Sie sicher, dass die Sitzung mit TCP-AO-Schlüsselbund und Algorithmus eingerichtet wurde, die auf beiden Peers konfiguriert sind.
Aktion
Zeigen Sie eine validierte Sitzung mithilfe des Befehls " show validation session 192.168.12.2 detail Betriebsmodus" an.
user@R1> show validation session 192.168.12.2 detail
Session 192.168.12.2, State: up, Session index: 2
Group: to_servers, Preference: 100
Port: 8282
Refresh time: 300s
Hold time: 600s
Record Life time: 3600s
Serial (Full Update): 6
Serial (Incremental Update): 6
Authentication key-chain: new_auth_key
Session flaps: 1
Session uptime: 2d 01:40:05
Last PDU received: 00:04:59
IPv4 prefix count: 0
IPv6 prefix count: 0
Bedeutung
Die Ausgabe zeigt an, dass die Sitzung mit dem konfigurierten Schlüsselbund new_auth_keyaktiv ist.