BFD für BGP-Sitzungen
Grundlegendes zu BFD für BGP
Das Bidirectional Forwarding Detection (BFD)-Protokoll ist ein einfacher Hallo-Mechanismus, der Fehler in einem Netzwerk erkennt. Hallo Pakete werden in einem bestimmten, regelmäßigen Intervall gesendet. Ein Neighbor-Fehler wird erkannt, wenn das Routinggerät nach einem angegebenen Intervall keine Antwort mehr empfängt. BFD funktioniert mit einer Vielzahl von Netzwerkumgebungen und Topologien. Die Timer zur Fehlererkennung für BFD haben kürzere Zeitgrenzen als Standardfehlererkennungsmechanismen für BGP, sodass sie eine schnellere Erkennung ermöglichen.
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 fällt aus, während der graceful Restart den Datenverkehr trotz des Schnittstellenfehlers weiterleite, kann dieses Verhalten zu Netzwerkproblemen führen. Daher empfehlen wir nicht, sowohl BFD als auch Graceful Restart auf demselben Gerät zu konfigurieren.
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-Unterstützung für Die Konfiguration von Sitzungen in weniger als einer Sekunde. 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. Single-Hop-Sitzungen werden ebenfalls unterstützt.
Die BfD-Timer zur Fehlererkennung können so eingestellt werden, dass sie schneller oder langsamer sind. Je niedriger der Wert des BFD-Timers für die Fehlererkennung ist, desto schneller ist die Fehlererkennung und umgekehrt. So können sich die Timer beispielsweise an einen höheren Wert anpassen, wenn die Adjacency fehlschlägt (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-Sitzungsklappe mehr als dreimal in einer Zeitspanne von 15 Sekunden auftritt (1.5000 Millisekunden). Ein Back-off-Algorithmus erhöht das Empfangsintervall (Rx) um zwei, wenn die lokale BFD-Instanz der Grund für den Sitzungs-Flap ist. Das Übertragungsintervall (Tx) wird um zwei erhöht, wenn die Remote-BFD-Instanz der Grund für den Sitzungs-Flap ist. Sie können den clear bfd adaptation
Befehl verwenden, um BFD-Intervall-Timer auf ihre konfigurierten Werte zurückzugeben. Der clear bfd adaptation
Befehl ist hitless, was bedeutet, dass der Befehl keinen Einfluss auf den Datenverkehr auf dem Routinggerät hat.
Auf allen Firewalls der SRX-Serie wird das BFD-Protokoll aufgrund einer hohen CPU-Auslastung aus Gründen wie CPU-intensiven Befehlen und SNMP-Spaziergängen ausgelöst, während große BGP-Updates verarbeitet werden. (Die Plattformunterstützung hängt von der Version des Junos OS in Ihrer Installation ab.)
Beginnend mit 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 Echtzeit-BFD.
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 auf internen BGP -Sitzungen (IBGP) und externen Multihop-BGP -Sitzungen (EBGP) sowie 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: Konfigurieren von BFD für interne BGP-Peer-Sitzungen
In diesem Beispiel wird gezeigt, wie interne BGP-Peer-Sitzungen (IBGP) mit dem BFD-Protokoll (Bidirectional Forwarding Detection) konfiguriert werden, um Fehler in einem Netzwerk zu erkennen.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Überblick
Die Mindestkonfiguration zum Aktivieren von BFD auf IBGP-Sitzungen besteht darin, die bfd-liveness-detection minimum-interval
Anweisung in die BGP-Konfiguration aller Nachbarn, die an der BFD-Sitzung teilnehmen, aufzunehmen. Die minimum-interval
Anweisung gibt die mindesten Sende- und Empfangsintervalle für die Fehlererkennung an. Insbesondere steht dieser Wert für das Mindestintervall, nach dem das lokale Routinggerät Hallo-Pakete überträgt, sowie das Mindestintervall, das das Routinggerät erwartet, um 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 die mindesten Sende- und Empfangsintervalle separat mit den transmit-interval minimum-interval
Anweisungen angeben minimum-receive-interval
. Informationen zu diesen und anderen optionalen BFD-Konfigurationsanweisungen finden Sie unter bfd-liveness-detection
.
BFD ist ein intensives Protokoll, das Systemressourcen verbraucht. Die Festlegung 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 zu unerwünschtem BFD-Flapping führen.
Je nach Ihrer Netzwerkumgebung können diese zusätzlichen Empfehlungen gelten:
Geben Sie ein Mindestintervall von 5.000 Millisekunden für Routing-Engine-basierte Sitzungen an, um ein Flappen des BFD während des allgemeinen Routing-Engine-Switchover-Ereignisses zu verhindern. Dieser Mindestwert ist erforderlich, da während des allgemeinen Routing-Engine-Switchover-Ereignisses Prozesse wie RPD, MIBD und SNMPD CPU-Ressourcen für mehr als den angegebenen Schwellenwert verwenden. Daher ist die Verarbeitung und Planung von BFD aufgrund dieses Mangels an CPU-Ressourcen beeinträchtigt.
Damit BFD-Sitzungen während des Dual-Chassis-Cluster-Control-Link-Szenarios weiterhin aktiv bleiben, geben Sie das Mindestintervall von 6000 Millisekunden an, um zu verhindern, dass der LACP auf dem sekundären Knoten für Routing-Engine-basierte Sitzungen flackert.
Geben Sie für groß angelegte Netzwerkbereitstellungen mit einer großen Anzahl von BFD-Sitzungen 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 Switchover-Ereignisses der Routing-Engine bei der Konfiguration von Nonstop Active Routing (NSR) aktiv bleiben, geben Sie ein Mindestintervall von 2500 Millisekunden für Routing-Engine-basierte Sitzungen an. Für verteilte BFD-Sitzungen mit konfigurierter NSR sind die Mindestintervallempfehlungen unverändert und hängen nur von Ihrer Netzwerkbereitstellung ab.
BFD wird auf der Standard-Routing-Instanz (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 in eine Textdatei ein, entfernen alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen 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 auf 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:
Legen Sie die CLI auf Logisches System A fest.
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
Aussagen sind sowohl für Gerät B als auch für Gerät C enthalten, auch wenn 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
Konfigurieren Sie BFD.
[edit protocols bgp group internal-peers] user@host:A# set bfd-liveness-detection minimum-interval 1000
Sie müssen dasselbe Mindestintervall für den verbindenden Peer konfigurieren.
(Optional) Konfigurieren Sie die BFD-Ablaufverfolgung.
[edit protocols bgp group internal-peers] user@host:A# set traceoptions file bgp-bfd user@host:A# set traceoptions flag bfd detail
Konfigurieren Sie OSPF.
[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 sein, Routen zu akzeptieren, die über OSPF oder lokale Routen gelernt wurden.
[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 mit der Konfiguration des Geräts fertig sind, geben Sie im Konfigurationsmodus ein
commit
. Wiederholen Sie diese Schritte, um Geräte B und Gerät C zu konfigurieren.
Ergebnisse
Bestätigen Sie Ihre Konfiguration im Konfigurationsmodus, indem Sie die show interfaces
Befehle , show policy-options
, show protocols
und show routing-options
eingeben. Wenn die gewünschte Konfiguration in der Ausgabe nicht angezeigt wird, 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, ob BFD aktiviert ist
- Überprüfen, ob BFD-Sitzungen aktiviert sind
- Anzeigen detaillierter BFD-Ereignisse
- Anzeigen detaillierter BFD-Ereignisse nach der Deaktivierung und Reaktivierung einer Loopback-Schnittstelle
Überprüfen, ob BFD aktiviert ist
Zweck
Stellen Sie sicher, dass 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 einzuschränken.
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, dass das logische System A zwei Nachbarn mit BFD-aktiviert 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 Ablaufverfolgungsvorgänge konfiguriert sind.
Überprüfen, ob BFD-Sitzungen aktiviert sind
Zweck
Stellen Sie sicher, dass die BFD-Sitzungen aktiviert 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 der bfd-liveness-detection
Anweisung ein.
Anzeigen detaillierter BFD-Ereignisse
Zweck
Zeigen Sie den Inhalt der BFD-Trace-Datei an, um bei Bedarf bei der Fehlerbehebung zu helfen.
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
Meldung in der Ausgabe angezeigt. Nach dem Einrichten der Routen zeigen die letzten beiden Zeilen, dass beide BFD-Sitzungen angezeigt werden.
Anzeigen detaillierter BFD-Ereignisse nach der Deaktivierung und Reaktivierung einer Loopback-Schnittstelle
Zweck
Prüfen Sie, was passiert, nachdem Sie einen Router oder Switch heruntergefahren und dann wieder hochgefahren haben. Um das Herunterkommen eines Routers oder Switches zu simulieren, deaktivieren Sie die Loopback-Schnittstelle im logischen System 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
Grundlegendes zur 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 jedoch BFD ü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 über unsichere Tunnel ausführen. Ab Junos OS Version 9.6 unterstützt Junos OS die Authentifizierung für BFD-Sitzungen, die über BGP ausgeführt werden. DIE BFD-Authentifizierung wird in MPLS-OAM-Sitzungen nicht unterstützt. Die BFD-Authentifizierung wird nur in der Kanada- und US-Version des Junos OS-Images unterstützt und ist in der Exportversion nicht verfügbar.
Sie authentifizieren BFD-Sitzungen, indem Sie einen Authentifizierungsalgorithmus und einen Schlüsselbund angeben und diese Konfigurationsinformationen dann mithilfe des Schlüsselbundnamens einer Sicherheitsauthentifizierung zuordnen.
In den folgenden Abschnitten werden die unterstützten Authentifizierungsalgorithmen, Sicherheitsschlüsselketten und Authentifizierungsebenen beschrieben, die konfiguriert werden können:
- BFD-Authentifizierungsalgorithmen
- Sicherheitsauthentifizierungs-Keychains
- Strikte versus 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 1 bis 16 Byte Klartext verwendet. Ein oder mehrere Passwörter können konfiguriert werden. Diese Methode ist die geringste Sicherheit und sollte nur verwendet werden, wenn BFD-Sitzungen nicht dem Abfangen von Paketen unterliegen.
keyed-md5— Keyed Message Digest 5 Hash-Algorithmus für Sitzungen mit Sende- und Empfangsintervallen von mehr als 100 ms. Zur Authentifizierung der BFD-Sitzung verwendet keyed MD5 einen oder mehrere geheime Schlüssel (vom Algorithmus generiert) und eine Sequenznummer, die in regelmäßigen Abständen aktualisiert wird. Mit 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 erhaltenen Sequenznummer ist. Obwohl diese Methode sicherer ist als ein einfaches Passwort, ist sie anfällig für Wiederholungsangriffe. Wenn die Sequenznummer aktualisiert wird, kann dieses Risiko verringert werden.
meticulous-keyed-md5— Akribisch keyed Message Digest 5 Hash-Algorithmus. Diese Methode funktioniert auf dieselbe Weise wie keyed MD5, aber die Sequenznummer wird mit jedem Paket aktualisiert. Diese Methode ist zwar sicherer als der schlüsselgebundene MD5 und einfache Passwörter, kann jedoch zusätzliche Zeit in Anspruch nehmen, um die Sitzung zu authentifizieren.
keyed-sha-1— Keyed Secure Hash Algorithm I für Sitzungen mit Sende- und Empfangsintervallen von mehr als 100 ms. Zur Authentifizierung der BFD-Sitzung verwendet keyed SHA einen oder mehrere geheime Schlüssel (vom Algorithmus generiert) und eine Sequenznummer, die in regelmäßigen Abständen 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 ist als die zuletzt empfangene Sequenznummer.
meticulous-keyed-sha-1— Akribisch verschlüsselter Sicherer Hash-Algorithmus I. Diese Methode funktioniert auf dieselbe Weise wie keyed SHA, aber die Sequenznummer wird mit jedem Paket aktualisiert. Obwohl diese Methode sicherer ist als schlüsselgebundene SHA und einfache Passwörter, kann die Authentifizierung der Sitzung zusätzliche Zeit in Anspruch nehmen.
Nonstop Active Routing (NSR) wird mit Authentifizierungsalgorithmen akribisch-keyed-md5 und akribisch-keyed-sha-1 nicht unterstützt. BFD-Sitzungen, die diese Algorithmen verwenden, können nach einem Switchover ausfallen.
Switches der QFX5000-Serie und EX4600-Switches unterstützen keine Mindestintervallwerte von weniger als 1 Sekunde.
Sicherheitsauthentifizierungs-Keychains
Der Schlüsselbund für die Sicherheitsauthentifizierung definiert die Authentifizierungsattribute, die für Authentifizierungsschlüsselaktualisierungen verwendet werden. Wenn der Schlüsselbund für die Sicherheitsauthentifizierung konfiguriert und über den Namen des Schlüsselbundes einem Protokoll zugeordnet ist, können Authentifizierungsschlüsselaktualisierungen erfolgen, ohne dass Routing- und Signalprotokolle unterbrochen werden.
Der Authentifizierungsschlüsselbund enthält einen oder mehrere Schlüsselketten. Jeder Schlüsselbund 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 der Schlüsselbund müssen an beiden Enden der BFD-Sitzung konfiguriert werden, und sie müssen übereinstimmen. Jede Inkonsensierung in der Konfiguration verhindert, dass die BFD-Sitzung erstellt wird.
BFD erlaubt mehrere Clients pro Sitzung, und für jeden Client kann ein eigener Schlüsselbund und ein eigener Algorithmus definiert werden. Um Verwechslungen zu vermeiden, empfehlen wir, nur einen Schlüsselbund für die Sicherheitsauthentifizierung anzugeben.
Strikte versus lose Authentifizierung
Standardmäßig ist die strikte Authentifizierung aktiviert und die Authentifizierung wird an beiden Enden jeder BFD-Sitzung überprüft. Optional können Sie eine lose Prüfung konfigurieren, um eine reibungslose Migration von nicht authentifizierten Sitzungen zu authentifizierten Sitzungen zu ermöglichen. Wenn eine lose Prüfung konfiguriert ist, werden Pakete akzeptiert, ohne dass die Authentifizierung an jedem Ende der Sitzung geprüft wird. Diese Funktion ist nur für Übergangszeiten vorgesehen.
Siehe auch
Beispiel: Konfigurieren der BFD-Authentifizierung für BGP
Ab Junos OS Version 9.6 können Sie die Authentifizierung für BFD-Sitzungen konfigurieren, die über BGP ausgeführt werden. Es sind nur drei Schritte erforderlich, um die Authentifizierung in einer BFD-Sitzung zu konfigurieren:
Geben Sie den BFD-Authentifizierungsalgorithmus für das BGP-Protokoll an.
Zuordnen der Authentifizierungsschlüsselkette mit dem BGP-Protokoll.
Konfigurieren Sie den zugehörigen Schlüsselbund für die Sicherheitsauthentifizierung.
In den folgenden Abschnitten finden Sie 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 auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie die BFD-Authentifizierung:
Die BFD-Authentifizierung wird nur in der Kanada- und US-Version des Junos OS-Images unterstützt und ist in der Exportversion nicht verfügbar.
Anzeigen von Authentifizierungsinformationen für BFD-Sitzungen
Sie können die vorhandene BFD-Authentifizierungskonfiguration mit den show bfd session detail
befehlen und show bfd session extensive
anzeigen.
Das folgende Beispiel zeigt die für die BGP-Gruppe konfigurierte bgp-gr1
BFD-Authentifizierung. Es gibt den schlüsselgebundenen SHA-1-Authentifizierungsalgorithmus und den Schlüsselbundnamen von bfd-bgp
. Der Authentifizierungsschlüsselbund ist mit zwei Schlüsseln konfiguriert. Der Schlüssel 1 enthält die geheimen Daten "$ABC123$ABC123" und eine Startzeit am 1. Juni 2009 um 9:46:02 Uhr PST. Der Schlüssel 2 enthält die geheimen Daten "$ABC123$ABC123" und eine Startzeit vom 1. Juni 2009 um 15:29:20 Uhr 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 für Ihre Konfiguration festlegen, wird die Ausgabe ähnlich wie folgt angezeigt. In der Ausgabe für den show bfd session detail
Befehl wird angezeigt, um anzugeben, Authenticate dass die BFD-Authentifizierung konfiguriert ist. Verwenden Sie den show bfd session extensive
Befehl, um weitere Informationen zur Konfiguration zu erhalten. Die Ausgabe für diesen Befehl enthält den Schlüsselbundnamen, den Authentifizierungsalgorithmus und -modus für jeden Client in der Sitzung sowie den allgemeinen Konfigurationsstatus der BFD-Authentifizierung, den Schlüsselbundnamen 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