BFD für BGP-Sitzungen
BfD für BGP verstehen
Das Bidirectional Forwarding Detection (BFD)-Protokoll ist ein einfacher Hello-Mechanismus, der Fehler in einem Netzwerk erkennt. Hallo Pakete werden in einem festgelegten, regelmäßigen Intervall gesendet. Ein Nachbarfehler wird erkannt, wenn das Routinggerät den Empfang einer Antwort nach einem festgelegten Intervall stoppt. Das BFD arbeitet mit einer Vielzahl von Netzwerkumgebungen und Topologien. Die Fehlererkennungs-Timer für BFD haben kürzere Zeitlimits als Standardfehlererkennungsmechanismen für BGP, sodass sie eine schnellere Erkennung bieten.
Die Konfiguration von BFD und graceful Restart für BGP auf demselben Gerät ist kontraproduktiv. Wenn eine Schnittstelle ausfällt, erkennt BFD dies sofort, stoppt die Weiterleitung des Datenverkehrs und die BGP-Sitzung läuft aus, während ein unterbrechungsfreier Neustart den Datenverkehr trotz des Schnittstellenfehlers weiterleitet, kann dieses Verhalten Netzwerkprobleme verursachen. Daher empfehlen wir nicht, sowohl BFD als auch einen Unterbrechungsneustart auf demselben Gerät zu konfigurieren.
Switches der QFX5000-Serie und EX4600-Switches unterstützen keine Mindestintervallwerte von weniger als 1 Sekunde.
QFX5110-, QFX5120-, QFX5200- und QFX5210-Switches unterstützen Multihop Bidirectional Forwarding Detection (BFD) Inline-Keep Alive-Unterstützung, die die Konfiguration von Sitzungen in weniger als 1 Sekunde ermöglicht. Die Leistung kann je nach Systemlast variieren. 10 Inline-BFD-Sitzungen werden unterstützt und können mit einem Timer von 150 x 3 Millisekunden konfiguriert werden.
Die Zeitgeber für die Fehlererkennung des BFD können so eingestellt werden, dass sie schneller oder langsamer sind. Je niedriger der Zeitwert der BFD-Fehlererkennung, desto schneller wird die Fehlererkennung und umgekehrt. Die Timer können sich beispielsweise an einen höheren Wert anpassen, wenn die Nachbarschaft ausfällt (das heißt, der Timer erkennt Fehler langsamer). Oder ein Nachbar kann einen höheren Wert für einen Timer aushandeln als den konfigurierten Wert. Die Timer passen sich an einen höheren Wert an, wenn eine BFD-Sitzungs-Flap in einer Zeitspanne von 15 Sekunden (15000 Millisekunden) mehr als das Dreifache erfolgt. Ein Back-off-Algorithmus erhöht das Empfangsintervall (Rx) um zwei, wenn die lokale BFD-Instanz der Grund für die Sitzungs-Flap ist. Das Übertragungsintervall (Tx) wird um zwei erhöht, wenn die BfD-Remoteinstanz der Grund für die Sitzungs-Flap ist. Sie können den clear bfd adaptation
Befehl verwenden, um BFD-Intervall-Timer an die konfigurierten Werte zurückzugeben. Der clear bfd adaptation
Befehl ist hitless, was bedeutet, dass der Befehl keinen Einfluss auf den Datenverkehrsfluss auf dem Routinggerät hat.
Auf allen Geräten der SRX-Serie verursacht eine hohe CPU-Auslastung, die aus Gründen wie cpuintensiven Befehlen und SNMP-Spaziergängen ausgelöst wird, das BFD-Protokoll beim Verarbeiten großer BGP-Aktualisierungen lasch. (Die Plattformunterstützung hängt von der Junos OS-Version in Ihrer Installation ab.)
Ab Junos OS-Version 15.1X49-D100 unterstützen SRX340-, SRX345- und SRX1500-Geräte dedizierte BFD.
Ab Junos OS-Version 15.1X49-D100 unterstützen SRX300- und SRX320-Geräte BFD in Echtzeit.
Ab Junos OS-Version 15.1X49-D110 unterstützen SRX550M-Geräte dedizierte BFD.
In Junos OS Version 8.3 und höher wird BFD sowohl auf internen BGP- (IBGP)- und Multihop External BGP (EBGP)-Sitzungen als auch auf Single-Hop EBGP-Sitzungen unterstützt. In Junos OS Version 9.1 bis Junos OS Version 11.1 unterstützt BFD IPv6-Schnittstellen nur in statischen Routen. In Junos OS Version 11.2 und höher unterstützt BFD IPv6-Schnittstellen mit BGP.
Siehe auch
Beispiel: BfD-Konfiguration für interne BGP-Peer-Sitzungen
Dieses Beispiel zeigt, wie interne BGP-Peersitzungen (IBGP) mit dem Bidirectional Forwarding Detection (BFD)-Protokoll konfiguriert werden, um Fehler in einem Netzwerk zu erkennen.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration über die Geräte initialisierung hinaus erforderlich.
Überblick
Die mindeste Konfiguration, um BFD für IBGP-Sitzungen zu aktivieren, besteht darin, die bfd-liveness-detection minimum-interval
Anweisung in die BGP-Konfiguration aller Nachbarn einzuschließen, die an der BFD-Sitzung teilnehmen. Die minimum-interval
Anweisung gibt die mindesten Übertragungs- und Empfangsintervalle für die Fehlererkennung an. Konkret steht dieser Wert für das Mindestintervall, nach dem das lokale Routing-Gerät Hello-Pakete überträgt, sowie das Mindestintervall, das das Routing-Gerät erwartet, eine Antwort von einem Nachbarn zu erhalten, mit dem es eine BFD-Sitzung eingerichtet hat. Sie können einen Wert von 1 bis 255.000 Millisekunden konfigurieren.
Optional können Sie mithilfe transmit-interval minimum-interval
der Anweisungen und der Anweisungen die mindesten Sende- und minimum-receive-interval
Empfangsintervalle separat angeben. Informationen zu diesen und anderen optionalen BFD-Konfigurationsanweisungen finden Sie unter bfd-liveness-detection
.
BFD ist ein intensives Protokoll, das Systemressourcen verbraucht. Die Angabe eines Mindestintervalls für BFD unter 100 Millisekunden für Routing-Engine-basierte Sitzungen und weniger als 10 Millisekunden für verteilte BFD-Sitzungen kann unerwünschtes BFD-Flapping verursachen.
Je nach Netzwerkumgebung können diese zusätzlichen Empfehlungen gelten:
Um das BFD-Flapping während des allgemeinen Switching-Ereignisses der Routing-Engine zu verhindern, geben Sie ein Mindestintervall von 5000 Millisekunden für Routing-Engine-basierte Sitzungen an. Dieser Mindestwert ist erforderlich, da während des allgemeinen Switchover-Ereignisses der Routing-Engine Prozesse wie RPD, MIBD und SNMPD CPU-Ressourcen für mehr als den angegebenen Schwellwert nutzen. Daher ist die Verarbeitung und Planung des BFD aufgrund des Fehlens von CPU-Ressourcen betroffen.
Damit BFD-Sitzungen während des Dual chassis Cluster Control Link-Szenarios aktiv bleiben, geben Sie beim Ausfall der ersten Steuerverbindung das Mindestintervall von 6000 Millisekunden an, um zu verhindern, dass der LACP für Routing-Engine-basierte Sitzungen auf dem sekundären Knoten flappingt.
Für umfangreiche Netzwerkbereitstellungen mit einer großen Anzahl von BFD-Sitzungen geben Sie ein Mindestintervall von 300 Millisekunden für Routing-Engine-basierte Sitzungen und 100 Millisekunden für verteilte BFD-Sitzungen an.
Für sehr große Netzwerkbereitstellungen mit einer großen Anzahl von BFD-Sitzungen wenden Sie sich an den Kundensupport von Juniper Networks, um weitere Informationen zu erhalten.
Damit BFD-Sitzungen während eines Routing Engine Switchover-Ereignisses aktiv bleiben, wenn Nonstop Active Routing (NSR) konfiguriert wird, geben Sie ein Mindestintervall von 2500 Millisekunden für Routing-Engine-basierte Sitzungen an. Bei verteilten BFD-Sitzungen mit NSR-Konfiguration bleiben die Mindestintervallempfehlungen unverändert und hängen nur von Ihrer Netzwerkbereitstellung ab.
BFD wird auf der Standardroutinginstanz (dem Hauptrouter), Routing-Instanzen und logischen Systemen unterstützt. Dieses Beispiel zeigt BFD auf logischen Systemen.
Abbildung 1 zeigt ein typisches Netzwerk mit internen Peer-Sitzungen.

Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für die Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie auf Hierarchieebene in die [edit]
CLI ein.
Gerät A
set logical-systems A interfaces lt-1/2/0 unit 1 description to-B set logical-systems A interfaces lt-1/2/0 unit 1 encapsulation ethernet set logical-systems A interfaces lt-1/2/0 unit 1 peer-unit 2 set logical-systems A interfaces lt-1/2/0 unit 1 family inet address 10.10.10.1/30 set logical-systems A interfaces lo0 unit 1 family inet address 192.168.6.5/32 set logical-systems A protocols bgp group internal-peers type internal set logical-systems A protocols bgp group internal-peers traceoptions file bgp-bfd set logical-systems A protocols bgp group internal-peers traceoptions flag bfd detail set logical-systems A protocols bgp group internal-peers local-address 192.168.6.5 set logical-systems A protocols bgp group internal-peers export send-direct set logical-systems A protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems A protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems A protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems A protocols ospf area 0.0.0.0 interface lo0.1 passive set logical-systems A protocols ospf area 0.0.0.0 interface lt-1/2/0.1 set logical-systems A policy-options policy-statement send-direct term 2 from protocol direct set logical-systems A policy-options policy-statement send-direct term 2 then accept set logical-systems A routing-options router-id 192.168.6.5 set logical-systems A routing-options autonomous-system 17
Gerät B
set logical-systems B interfaces lt-1/2/0 unit 2 description to-A set logical-systems B interfaces lt-1/2/0 unit 2 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 2 peer-unit 1 set logical-systems B interfaces lt-1/2/0 unit 2 family inet address 10.10.10.2/30 set logical-systems B interfaces lt-1/2/0 unit 5 description to-C set logical-systems B interfaces lt-1/2/0 unit 5 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 5 peer-unit 6 set logical-systems B interfaces lt-1/2/0 unit 5 family inet address 10.10.10.5/30 set logical-systems B interfaces lo0 unit 2 family inet address 192.163.6.4/32 set logical-systems B protocols bgp group internal-peers type internal set logical-systems B protocols bgp group internal-peers local-address 192.163.6.4 set logical-systems B protocols bgp group internal-peers export send-direct set logical-systems B protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems B protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems B protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems B protocols ospf area 0.0.0.0 interface lo0.2 passive set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.2 set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.5 set logical-systems B policy-options policy-statement send-direct term 2 from protocol direct set logical-systems B policy-options policy-statement send-direct term 2 then accept set logical-systems B routing-options router-id 192.163.6.4 set logical-systems B routing-options autonomous-system 17
Gerät C
set logical-systems C interfaces lt-1/2/0 unit 6 description to-B set logical-systems C interfaces lt-1/2/0 unit 6 encapsulation ethernet set logical-systems C interfaces lt-1/2/0 unit 6 peer-unit 5 set logical-systems C interfaces lt-1/2/0 unit 6 family inet address 10.10.10.6/30 set logical-systems C interfaces lo0 unit 3 family inet address 192.168.40.4/32 set logical-systems C protocols bgp group internal-peers type internal set logical-systems C protocols bgp group internal-peers local-address 192.168.40.4 set logical-systems C protocols bgp group internal-peers export send-direct set logical-systems C protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems C protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems C protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems C protocols ospf area 0.0.0.0 interface lo0.3 passive set logical-systems C protocols ospf area 0.0.0.0 interface lt-1/2/0.6 set logical-systems C policy-options policy-statement send-direct term 2 from protocol direct set logical-systems C policy-options policy-statement send-direct term 2 then accept set logical-systems C routing-options router-id 192.168.40.4 set logical-systems C routing-options autonomous-system 17
Konfigurieren von Gerät A
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie in verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.
So konfigurieren Sie Gerät A:
Setzen Sie die CLI auf logisches System A.
user@host> set cli logical-system A
Konfigurieren Sie die Schnittstellen.
[edit interfaces lt-1/2/0 unit 1] user@host:A# set description to-B user@host:A# set encapsulation ethernet user@host:A# set peer-unit 2 user@host:A# set family inet address 10.10.10.1/30 [edit interfaces lo0 unit 1] user@host:A# set family inet address 192.168.6.5/32
Konfigurieren Sie BGP.
Die
neighbor
Anweisungen sind sowohl für Gerät B als auch für Gerät C enthalten, obwohl Gerät A nicht direkt mit Gerät C verbunden ist.[edit protocols bgp group internal-peers] user@host:A# set type internal user@host:A# set local-address 192.168.6.5 user@host:A# set export send-direct user@host:A# set neighbor 192.163.6.4 user@host:A# set neighbor 192.168.40.4
BfD konfigurieren.
[edit protocols bgp group internal-peers] user@host:A# set bfd-liveness-detection minimum-interval 1000
Sie müssen das gleiche Mindestintervall auf dem verbindenden Peer konfigurieren.
(Optional) BfD-Tracing konfigurieren.
[edit protocols bgp group internal-peers] user@host:A# set traceoptions file bgp-bfd user@host:A# set traceoptions flag bfd detail
OSPF konfigurieren.
[edit protocols ospf area 0.0.0.0] user@host:A# set interface lo0.1 passive user@host:A# set interface lt-1/2/0.1
Konfigurieren Sie eine Richtlinie, die direkte Routen akzeptiert.
Andere nützliche Optionen für dieses Szenario könnten darin sein, über OSPF oder lokale Routen erlernte Routen zu akzeptieren.
[edit policy-options policy-statement send-direct term 2] user@host:A# set from protocol direct user@host:A# set then accept
Konfigurieren Sie die Router-ID und die autonome Systemnummer (AS).
[edit routing-options] user@host:A# set router-id 192.168.6.5 user@host:A# set autonomous-system 17
Wenn Sie die Konfiguration des Geräts durchgeführt haben, geben Sie aus dem Konfigurationsmodus ein
commit
. Wiederholen Sie diese Schritte, um Gerät B und Gerät C zu konfigurieren.
Ergebnisse
Bestätigen Sie Im Konfigurationsmodus Ihre Konfiguration durch Eingabe der show interfaces
Befehle , , show policy-options
show protocols
undshow routing-options
. Wenn die Ausgabe die beabsichtigte Konfiguration nicht anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@host:A# show interfaces lt-1/2/0 { unit 1 { description to-B; encapsulation ethernet; peer-unit 2; family inet { address 10.10.10.1/30; } } } lo0 { unit 1 { family inet { address 192.168.6.5/32; } } }
user@host:A# show policy-options policy-statement send-direct { term 2 { from protocol direct; then accept; } }
user@host:A# show protocols bgp { group internal-peers { type internal; traceoptions { file bgp-bfd; flag bfd detail; } local-address 192.168.6.5; export send-direct; bfd-liveness-detection { minimum-interval 1000; } neighbor 192.163.6.4; neighbor 192.168.40.4; } } ospf { area 0.0.0.0 { interface lo0.1 { passive; } interface lt-1/2/0.1; } }
user@host:A# show routing-options router-id 192.168.6.5; autonomous-system 17;
Überprüfung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.
- Überprüfen der Aktivierung des BFD
- Überprüfen der Einrichtung von BFD-Sitzungen
- Detaillierte BFD-Veranstaltungen anzeigen
- Anzeigen detaillierter BFD-Ereignisse nach Deaktivierung und Reaktivierung einer Loopback-Schnittstelle
Überprüfen der Aktivierung des BFD
Zweck
Überprüfen Sie, ob BFD zwischen den IBGP-Peers aktiviert ist.
Aktion
Geben Sie im Betriebsmodus den show bgp neighbor
Befehl ein. Sie können den | match bfd
Filter verwenden, um die Ausgabe einzugrenzen.
user@host:A> show bgp neighbor | match bfd Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10 Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10
Bedeutung
Die Ausgabe zeigt an, dass das logische System A zwei Nachbarn mit aktiviertem BFD hat. Wenn BFD nicht aktiviert ist, wird die Ausgabe angezeigt BFD: disabled, down
und die <BfdEnabled>
Option fehlt. Wenn BFD aktiviert ist und die Sitzung ausfällt, wird die Ausgabe angezeigt BFD: enabled, down
. Die Ausgabe zeigt auch, dass BFD-bezogene Ereignisse in eine Protokolldatei geschrieben werden, weil Trace-Vorgänge konfiguriert sind.
Überprüfen der Einrichtung von BFD-Sitzungen
Zweck
Vergewissern Sie sich, dass die BFD-Sitzungen verfügbar sind, und zeigen Sie Details zu den BFD-Sitzungen an.
Aktion
Geben Sie im Betriebsmodus den show bfd session extensive
Befehl ein.
user@host:A> show bfd session extensive Detect Transmit Address State Interface Time Interval Multiplier 192.163.6.4 Up 3.000 1.000 3 Client BGP, TX interval 1.000, RX interval 1.000 Session up time 00:54:40 Local diagnostic None, remote diagnostic None Remote state Up, version 1 Logical system 12, routing table index 25 Min async interval 1.000, min slow interval 1.000 Adaptive async TX interval 1.000, RX interval 1.000 Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3 Remote min TX interval 1.000, min RX interval 1.000, multiplier 3 Local discriminator 10, remote discriminator 9 Echo mode disabled/inactive Multi-hop route table 25, local-address 192.168.6.5 Detect Transmit Address State Interface Time Interval Multiplier 192.168.40.4 Up 3.000 1.000 3 Client BGP, TX interval 1.000, RX interval 1.000 Session up time 00:48:03 Local diagnostic None, remote diagnostic None Remote state Up, version 1 Logical system 12, routing table index 25 Min async interval 1.000, min slow interval 1.000 Adaptive async TX interval 1.000, RX interval 1.000 Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3 Remote min TX interval 1.000, min RX interval 1.000, multiplier 3 Local discriminator 14, remote discriminator 13 Echo mode disabled/inactive Multi-hop route table 25, local-address 192.168.6.5 2 sessions, 2 clients Cumulative transmit rate 2.0 pps, cumulative receive rate 2.0 pps
Bedeutung
Die TX interval 1.000, RX interval 1.000
Ausgabe stellt die mit der minimum-interval
Anweisung konfigurierte Einstellung dar. Alle anderen Ausgaben stellen die Standardeinstellungen für BFD dar. Um die Standardeinstellungen zu ändern, fügen Sie die optionalen Anweisungen unter die bfd-liveness-detection
Anweisung ein.
Detaillierte BFD-Veranstaltungen anzeigen
Zweck
Sehen Sie sich den Inhalt der BFD-Trace-Datei an, um bei Bedarf bei der Fehlerbehebung behilflich zu sein.
Aktion
Geben Sie im Betriebsmodus den file show /var/log/A/bgp-bfd
Befehl ein.
user@host:A> file show /var/log/A/bgp-bfd Aug 15 17:07:25 trace_on: Tracing to "/var/log/A/bgp-bfd" started Aug 15 17:07:26.492190 bgp_peer_init: BGP peer 192.163.6.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:26.493176 bgp_peer_init: BGP peer 192.168.40.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:32.597979 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:07:32.599623 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:07:36.869394 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:07:36.870624 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:04.599220 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:08:04.601135 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:08:08.869717 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:08:08.869934 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:36.603544 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:08:36.606726 bgp_read_message: 192.163.6.4 (Internal AS 17): 0 bytes buffered Aug 15 17:08:36.609119 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:36.734033 advertising receiving-speaker only capabilty to neighbor 192.168.40.4 (Internal AS 17) Aug 15 17:08:36.738436 Initiated BFD session to peer 192.168.40.4 (Internal AS 17): address=192.168.40.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:40.537552 BFD session to peer 192.163.6.4 (Internal AS 17) up Aug 15 17:08:40.694410 BFD session to peer 192.168.40.4 (Internal AS 17) up
Bedeutung
Bevor die Routen eingerichtet werden, wird die No route to host
Nachricht in der Ausgabe angezeigt. Nach der Routenerkundung zeigen die letzten beiden Zeilen, dass beide BFD-Sitzungen auftauchen.
Anzeigen detaillierter BFD-Ereignisse nach Deaktivierung und Reaktivierung einer Loopback-Schnittstelle
Zweck
Überprüfen Sie, was passiert, nachdem ein Router oder Switch heruntergebracht und dann wieder eingerichtet wurde. Um das Herunterschalten eines Routers oder Switches zu simulieren, deaktivieren Sie die Loopback-Schnittstelle des logischen Systems B.
Aktion
Geben Sie im Konfigurationsmodus den
deactivate logical-systems B interfaces lo0 unit 2 family inet
Befehl ein.user@host:A# deactivate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
Geben Sie im Betriebsmodus den
file show /var/log/A/bgp-bfd
Befehl ein.user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:20:55.995648 bgp_read_v4_message:9747: NOTIFICATION received from 192.163.6.4 (Internal AS 17): code 6 (Cease) subcode 6 (Other Configuration Change) Aug 15 17:20:56.004508 Terminated BFD session to peer 192.163.6.4 (Internal AS 17) Aug 15 17:21:28.007755 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:21:28.008597 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host
Geben Sie im Konfigurationsmodus den
activate logical-systems B interfaces lo0 unit 2 family inet
Befehl ein.user@host:A# activate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
Geben Sie im Betriebsmodus den
file show /var/log/A/bgp-bfd
Befehl ein.user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:25:53.623743 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:25:53.631314 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:25:57.570932 BFD session to peer 192.163.6.4 (Internal AS 17) up
Verstehen der BFD-Authentifizierung für BGP
Das Bidirectional Forwarding Detection Protocol (BFD) ermöglicht die schnelle Erkennung von Kommunikationsfehlern zwischen benachbarten Systemen. Standardmäßig ist die Authentifizierung für BFD-Sitzungen deaktiviert. Wenn Sie BFD jedoch über Protokolle auf Netzwerkebene ausführen, kann das Risiko von Serviceangriffen erheblich sein. Wir empfehlen dringend die Authentifizierung, wenn Sie BFD über mehrere Hops oder unsichere Tunnel ausführen. Junos OS beginnt mit Junos OS Version 9.6 und unterstützt die Authentifizierung für BFD-Sitzungen, die über BGP laufen. Die BFD-Authentifizierung wird in MPLS-OAM-Sitzungen nicht unterstützt. Die BFD-Authentifizierung wird nur in der Version von Junos OS in Kanada und den USA unterstützt und ist in der Exportversion nicht verfügbar.
Sie authentifizieren BFD-Sitzungen, indem Sie einen Authentifizierungsalgorithmus und eine Schlüsselkette angeben und dann diese Konfigurationsinformationen mit einer Sicherheitsauthentifizierungsschlüsselkette unter Verwendung des Schlüsselkettenamens zuordnen.
In den folgenden Abschnitten werden die unterstützten Authentifizierungsalgorithmen, Sicherheitsschlüsselketten und die konfigurierbare Authentifizierungsebene beschrieben:
- BFD-Authentifizierungsalgorithmen
- Sicherheitsauthentifizierungs-Schlüsselketten
- Strikte und lose Authentifizierung
BFD-Authentifizierungsalgorithmen
Junos OS unterstützt die folgenden Algorithmen für die BFD-Authentifizierung:
simple-password— Klartextkennwort. Zur Authentifizierung der BFD-Sitzung werden ein bis 16 Bytes Klartext verwendet. Es können mindestens ein Kennwörter konfiguriert werden. Diese Methode ist am wenigsten sicher und sollte nur verwendet werden, wenn BFD-Sitzungen nicht abgefangen werden.
keyed-md5— Keyed Message Digest 5 Hash-Algorithmus für Sitzungen mit Übertragungs- und Empfangsintervallen über 100 ms. Zur Authentifizierung der BFD-Sitzung verwendet keyed MD5 einen oder mehrere geheime Schlüssel (die vom Algorithmus generiert werden) und eine Sequenznummer, die regelmäßig aktualisiert wird. Bei dieser Methode werden Pakete am empfangenden Ende der Sitzung akzeptiert, wenn einer der Schlüssel übereinstimmt und die Sequenznummer größer oder gleich der letzten empfangenen Sequenznummer ist. Obwohl sie sicherer als ein einfaches Kennwort ist, ist diese Methode anfällig für Replay-Angriffe. Eine Erhöhung der Geschwindigkeit, mit der die Sequenznummer aktualisiert wird, kann dieses Risiko reduzieren.
meticulous-keyed-md5— Akribischer Keyed Message Digest 5-Hash-Algorithmus. Diese Methode funktioniert auf die gleiche Weise wie der schlüsselte MD5, aber die Sequenznummer wird mit jedem Paket aktualisiert. Obwohl diese Methode sicherer ist als der Schlüssel für MD5 und einfache Passwörter, kann diese Methode zusätzliche Zeit in Anspruch nehmen, um die Sitzung zu authentifizieren.
keyed-sha-1— Keyed Secure Hash Algorithm I für Sitzungen mit Übertragungs- und Empfangsintervallen von mehr als 100 ms. Zur Authentifizierung der BFD-Sitzung verwendet keyed SHA einen oder mehrere geheime Schlüssel (die vom Algorithmus generiert werden) und eine Sequenznummer, die regelmäßig aktualisiert wird. Der Schlüssel wird nicht in den Paketen übertragen. Mit dieser Methode werden Pakete am empfangenden Ende der Sitzung akzeptiert, wenn einer der Schlüssel übereinstimmt und die Sequenznummer größer als die zuletzt empfangene Sequenznummer ist.
meticulous-keyed-sha-1— Akribisch schlüsselsicherer Hash-Algorithmus I. Diese Methode funktioniert auf die gleiche Weise wie keyed SHA, aber die Sequenznummer wird mit jedem Paket aktualisiert. Obwohl diese Methode sicherer ist als die schlüsselgebundene SHA und einfache Kennwörter, kann diese Methode zusätzliche Zeit in Anspruch nehmen, um die Sitzung zu authentifizieren.
Nonstop Active Routing (NSR) wird nicht mit Authentifizierungsalgorithmen mit akribischem Keyed-MD5 und akribischer Keyed-Sha-1-Authentifizierung unterstützt. BFD-Sitzungen mit diesen Algorithmen können nach einem Switchover ausfallen.
Switches der QFX5000-Serie und EX4600-Switches unterstützen keine Mindestintervallwerte von weniger als 1 Sekunde.
Sicherheitsauthentifizierungs-Schlüsselketten
Die Sicherheitsauthentifizierungsschlüsselkette definiert die Authentifizierungsattribute, die für Authentifizierungsschlüsselaktualisierungen verwendet werden. Wenn die Sicherheitsauthentifizierungs-Schlüsselkette konfiguriert und über den Keychain-Namen mit einem Protokoll verknüpft wird, können Authentifizierungsschlüsselaktualisierungen ohne Unterbrechung von Routing- und Signalprotokollen durchgeführt werden.
Die Authentifizierungs-Schlüsselkette enthält mindestens eine Schlüsselkette. Jede Schlüsselkette enthält einen oder mehrere Schlüssel. Jeder Schlüssel enthält die geheimen Daten und den Zeitpunkt, zu dem der Schlüssel gültig wird. Der Algorithmus und die Schlüsselkette müssen an beiden Enden der BFD-Sitzung konfiguriert werden, und sie müssen übereinstimmen. Jede Mismatch-Konfiguration verhindert, dass die BFD-Sitzung erstellt wird.
BFD ermöglicht mehrere Clients pro Sitzung, und jeder Client kann eine eigene Schlüsselkette und einen eigenen Algorithmus definieren lassen. Um Verwirrungen zu vermeiden, empfehlen wir, nur eine Sicherheitsauthentifizierungs-Schlüsselkette anzugeben.
Strikte und lose Authentifizierung
Standardmäßig ist eine strikte Authentifizierung aktiviert, und die Authentifizierung wird an beiden Enden jeder BFD-Sitzung geprüft. Optional können Sie lose Überprüfungen konfigurieren, um die Migration von nicht authentifizierten Sitzungen zu authentifizierten Sitzungen zu reibungslos zu gestalten. Wenn lose Prüfungen konfiguriert werden, werden Pakete ohne Authentifizierung an jedem Ende der Sitzung akzeptiert. Diese Funktion ist nur für Übergangszeiten vorgesehen.
Siehe auch
Beispiel: Konfigurieren der BFD-Authentifizierung für BGP
Beginnend mit Junos OS Version 9.6 können Sie die Authentifizierung für BFD-Sitzungen konfigurieren, die über BGP laufen. Für die Konfiguration der Authentifizierung auf einer BFD-Sitzung sind nur drei Schritte erforderlich:
Geben Sie den BFD-Authentifizierungsalgorithmus für das BGP-Protokoll an.
Verknüpfen Sie die Authentifizierungsschlüsselkette mit dem BGP-Protokoll.
Konfigurieren Sie die entsprechende Sicherheitsauthentifizierungs-Schlüsselkette.
Die folgenden Abschnitte enthalten Anweisungen zur Konfiguration und Anzeige der BFD-Authentifizierung in BGP:
- Konfigurieren von BFD-Authentifizierungsparametern
- Anzeigen von Authentifizierungsinformationen für BFD-Sitzungen
Konfigurieren von BFD-Authentifizierungsparametern
Die BFD-Authentifizierung kann für das gesamte BGP-Protokoll oder eine bestimmte BGP-Gruppe, einen Nachbarn oder eine Routing-Instanz konfiguriert werden.
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Cli-Benutzerhandbuch von Junos OS.
So konfigurieren Sie die BFD-Authentifizierung:
Die BFD-Authentifizierung wird nur in der Version von Junos OS in Kanada und den USA unterstützt und ist in der Exportversion nicht verfügbar.
Anzeigen von Authentifizierungsinformationen für BFD-Sitzungen
Sie können die vorhandene BFD-Authentifizierungskonfiguration mithilfe von und show bfd session detail
show bfd session extensive
Befehlen anzeigen.
Das folgende Beispiel zeigt die für die bgp-gr1
BGP-Gruppe konfigurierte BFD-Authentifizierung. Er gibt den schlüsselbeschlüsselten SHA-1-Authentifizierungsalgorithmus und einen Schlüsselkettennamen von an bfd-bgp
. Die Authentifizierungs-Schlüsselkette ist mit zwei Schlüsseln konfiguriert. Key 1 enthält die geheimen Daten "$ABC123$ABC123" und eine Startzeit vom 1. Juni 2009 um 9:46:02 Uhr PST. Key 2 enthält die geheimen Daten "$ABC123$ABC123" und eine Startzeit vom 1. Juni 2009 um 15:29:20 PST.
[edit protocols bgp] group bgp-gr1 { bfd-liveness-detection { authentication { algorithm keyed-sha-1; key-chain bfd-bgp; } } } [edit security] authentication key-chains { key-chain bfd-bgp { key 1 { secret “$ABC123$ABC123”; start-time “2009-6-1.09:46:02 -0700”; } key 2 { secret “$ABC123$ABC123”; start-time “2009-6-1.15:29:20 -0700”; } } }
Wenn Sie diese Updates in Ihrer Konfiguration bestätigen, sehen Sie die Ausgabe ähnlich wie die folgenden. In der Ausgabe für den show bfd session detail
Befehl wird angezeigt, um anzuzeigen, Authenticate dass die BFD-Authentifizierung konfiguriert ist. Weitere Informationen zur Konfiguration erhalten Sie über den show bfd session extensive
Befehl. Die Ausgabe für diesen Befehl enthält den Namen der Schlüsselkette, den Authentifizierungsalgorithmus und -modus für jeden Client in der Sitzung sowie den allgemeinen Konfigurationsstatus der BFD-Authentifizierung, den Namen der Schlüsselkette sowie den Authentifizierungsalgorithmus und -modus.
BfD-Sitzungsdetails anzeigen
user@host# show bfd session detail Detect Transmit Address State Interface Time Interval Multiplier 192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3 Client BGP, TX interval 0.300, RX interval 0.300, Authenticate Session up time 3d 00:34 Local diagnostic None, remote diagnostic NbrSignal Remote state Up, version 1 Replicated
BfD-Sitzung umfassend anzeigen
user@host# show bfd session extensive Detect Transmit Address State Interface Time Interval Multiplier 192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3 Client BGP, TX interval 0.300, RX interval 0.300, Authenticate keychain bfd-bgp, algo keyed-sha-1, mode strict Session up time 00:04:42 Local diagnostic None, remote diagnostic NbrSignal Remote state Up, version 1 Replicated Min async interval 0.300, min slow interval 1.000 Adaptive async TX interval 0.300, RX interval 0.300 Local min TX interval 0.300, minimum RX interval 0.300, multiplier 3 Remote min TX interval 0.300, min RX interval 0.300, multiplier 3 Local discriminator 2, remote discriminator 2 Echo mode disabled/inactive Authentication enabled/active, keychain bfd-bgp, algo keyed-sha-1, mode strict