Beispiel: Konfigurieren einer Routing-Richtlinie für vorangestellte AS-Pfade
In diesem Beispiel wird gezeigt, wie eine Routing-Richtlinie so konfiguriert wird, dass der AS-Pfad auf bestimmten Routen, die von BGP angekündigt werden, vorangestellt wird.
Anforderungen
Bevor Sie beginnen, stellen Sie sicher, dass Ihre Routerschnittstellen und -protokolle korrekt konfiguriert sind. Wir stellen die in diesem Dokument verwendete Schnittstellen- und BGP-Protokollkonfiguration bereit.
Dieses Beispiel wurde in Junos Version 2 2 aktualisiert und erneut validiert.1 R1.
Überblick
In diesem Beispiel erstellen Sie eine Routingrichtlinie mit dem Namen und einen Begriff mit dem Namen .prependpolicy1prependterm1 Die Routingrichtlinie stellt Routen, die den Präfixen 172.16.0.0/12, 192.168.0.0/16 und 10.0.0.0/8 entsprechen, dreimal die AS-Nummer 65001 voran, wenn die Maskenlänge gleich oder länger als die angegebene Maske ist. Das Ergebnis ist, dass eine Übereinstimmung auftritt, wenn die Maskenlänge der Route gleich oder länger als die angegebene Netzwerkmaske ist. Die Richtlinie wird als Exportrichtlinie auf die BGP-Routen angewendet, die von R1 in AS 65001 bis R2 in AS 65000 angekündigt werden.prependpolicy1 Routen, die nicht mit den angegebenen Präfixbereichen übereinstimmen, wird dem AS-Pfad nicht vorangestellt.
Topologie
In der Topologie wird EBGP-Peering zwischen R1 und R2 konfiguriert. Es wird direktes Schnittstellen-Peering zu den Subnetzadressen 10.1.23.0/24 verwendet. R1 gehört zur AS-Nummer 65001 und ist so konfiguriert, dass seine AS-Nummer einem bestimmten Satz übereinstimmender Routen vorangestellt wird, wenn sie R2 angekündigt wird.
Durch das Hinzufügen von AS-Nummern zum AS-Pfad verringert sich die Wahrscheinlichkeit, dass die Route für die Weiterleitung ausgewählt wird. Dies kann der Besitzer von AS 65001 tun, um die Menge an eingehendem Datenverkehr zu reduzieren, die er vom Betreiber von AS 65000 erhält.
In diesem Beispiel wird der AS-Pfad veranschaulicht, der durch eine Exportrichtlinie vorangestellt wird. Sie können auch eine Importrichtlinie verwenden, um Routen für die Attributmanipulation abzugleichen. Im Allgemeinen empfiehlt es sich, Routen nur Ihre lokale AS-Nummer voranzustellen. Das Voranstellen von AS-Nummern, die zu Remote-Netzwerken gehören, kann zu unerwarteten Ergebnissen führen.
Weitere Informationen zur Auswahl von BGP-Pfaden finden Sie unter .Understanding BGP Path Selection
Konfiguration
Verfahren
CLI-Schnellkonfiguration
In diesem Abschnitt konzentrieren wir uns auf die Konfiguration des R1-Geräts. Im Anhang finden Sie die vollständigen Konfigurationen aller in diesem Beispiel verwendeten Geräte.
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 Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein.[edit]
In diesem Beispiel weisen wir einer ungenutzten Schnittstelle auf R1 drei Testpräfixe zu. Ein viertes Testpräfix wird der Loopback-Adresse von R1 zugewiesen. Dadurch stehen vier direkte Routen zur Verfügung, die in BGP angekündigt werden können. Unsere Richtlinie verwendet eine Kombination von and-Anweisungen , um zu steuern, welche Präfixe dem AS-Pfad vorangestellt werden.protocol direct
route-filter
set system host-name R1 set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.255.1.1/30 set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.0.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.200.1.1/24 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set policy-options policy-statement prependpolicy1 term prependterm1 from protocol direct set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 10.255.1.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 then as-path-prepend "65001 65001 65001" set policy-options policy-statement prependpolicy1 term prependterm1 then accept set policy-options policy-statement prependpolicy1 term else from protocol direct set policy-options policy-statement prependpolicy1 term else from route-filter 10.200.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term else then accept set routing-options autonomous-system 65001 set routing-options router-id 192.168.0.1 set protocols bgp group ebgp type external set protocols bgp group ebgp export prependpolicy1 set protocols bgp group ebgp peer-as 65000 set protocols bgp group ebgp neighbor 10.1.23.2
Schritt-für-Schritt-Anleitung
Für die folgenden Schritte müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie im Junos OS CLI-Benutzerhandbuch.Verwenden des CLI-Editors im Konfigurationsmodushttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html
So erstellen Sie eine Routing-Richtlinie, die bestimmten Routen AS-Nummern voranstellt:
-
Konfigurieren Sie die Peering- und Loopback-Schnittstellen.
user@R1# [edit] set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 set interfaces lo0 unit 0 family inet address 192.168.0.1/32
-
Konfigurieren Sie die AS-Nummer, die RID und die externe BGP-Peergruppe. Im nächsten Schritt definieren Sie die Richtlinie.prependpolicy1 Die Richtlinie wird als Exportrichtlinie angewendet, um sich auf die von R1 angekündigten Routen auszuwirken.
user@R1# [edit] set routing-options autonomous-system 65001 set routing-options router-id 192.168.0.1 set protocols bgp group ebgp type external set protocols bgp group ebgp export prependpolicy1 set protocols bgp group ebgp peer-as 65000 set protocols bgp group ebgp neighbor 10.1.23.2
-
Konfigurieren Sie die Richtlinie.prependpolicy1 Die Verwendung von switch für die Routenfilteranweisungen ermöglicht eine Übereinstimmung, wenn die Maskenlänge gleich oder länger als die angegebene Maske ist.
or-longer
Andere Optionen wie Übereinstimmung nur bei gleicher Präfix- und Maskenlänge.exact
Der Begriff veranschaulicht, wie eine Route, die nicht mit dem Begriff übereinstimmt, angekündigt wird, ohne dass dem AS-Pfad die Übereinstimmung mit dem Begriff vorangestellt wird.elseprependterm1elseuser@R1# [edit] set policy-options policy-statement prependpolicy1 term prependterm1 from protocol direct set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 10.255.1.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 then as-path-prepend "65001 65001 65001" set policy-options policy-statement prependpolicy1 term prependterm1 then accept set policy-options policy-statement prependpolicy1 term else from protocol direct set policy-options policy-statement prependpolicy1 term else from route-filter 10.200.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term else then accept
HINWEIS:Wenn Sie mehrere AS-Nummern eingeben, müssen Sie jede Zahl durch ein Leerzeichen trennen. Schließen Sie die Zeichenfolge der AS-Nummern in doppelte Anführungszeichen ein.
-
Definieren Sie Testrouten. In unserer Beispieltopologie weisen wir einer nicht verwendeten Schnittstelle, die betriebsbereit ist, Präfixe zu. Dadurch werden direkte Wege für BGP bereitgestellt, um Werbung für das Testen der Funktionsweise der Exportrichtlinie zu schalten.
user@R1# [edit] set interfaces xe-0/0/0:0 unit 0 family inet address 10.255.1.1/30 set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.0.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.200.1.1/24
Ergebnisse
Bestätigen Sie Ihre Konfiguration, indem Sie die Befehle , , und aus dem Konfigurationsmodus eingeben.show policy-optionsshow protocols bgpshow routing-optionsshow interfaces Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
user@R1#[edit] user@R1# show policy-options policy-statement prependpolicy1 { term prependterm1 { from { protocol direct; route-filter 172.16.0.0/16 orlonger; route-filter 192.168.0.0/24 orlonger; route-filter 10.255.1.0/24 orlonger; } then { as-path-prepend "65001 65001 65001"; accept; } } term else { from { protocol direct; route-filter 10.200.0.0/16 orlonger; } then accept; } } [edit] user@R1# show protocols bgp group ebgp { type external; export direct; peer-as 65000; neighbor 10.1.23.2; } [edit] user@R1# show routing-options autonomous-system 65001; router-id 192.168.0.1 user@R1# show interfaces xe-0/0/0:0 unit 0 { family inet { address 10.255.1.1/30; address 172.16.0.1/24; address 10.200.1.1/24; } } [edit] user@R1# show interfaces xe-0/0/0:1 unit 0 { family inet { address 10.1.23.1/24; } } [edit] user@R1# show interfaces lo0 unit 0 { family inet { address 192.168.0.1/32; } }
Wenn Sie mit der Konfiguration des R1-Geräts fertig sind, rufen Sie den Konfigurationsmodus auf.commit
Überprüfung
Um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert, führen Sie die folgenden Schritte aus:
- Überprüfen der AS-Präpensationsrichtlinie
- Überprüfen von Routingrichtlinien- , Anwendungs- und BGP-Peering
- Überprüfen Sie den vorangestellten AS-Pfad
Überprüfen der AS-Präpensationsrichtlinie
Zweck
Stellen Sie sicher, dass die Richtlinie auf dem Gerät konfiguriert ist und dass die entsprechenden Routen für die vorangestellten AS-Nummern angegeben sind.
Was
Geben Sie im Betriebsmodus den Befehl ein.show policy prependpolicy1
user@R1> show policy prependpolicy1 Policy prependpolicy1: [CHANGED/RESOLVED/] Term prependterm1: from proto Direct route filter: 172.16.0.0/16 orlonger 192.168.0.0/24 orlonger 10.255.1.0/24 orlonger then aspathprepend 65001 65001 65001 accept Term else: from proto Direct route filter: 10.200.0.0/16 orlonger then accept
Die Richtlinie zeigt die richtigen Übereinstimmungsbedingungen und -aktionen an.
Überprüfen von Routingrichtlinien- , Anwendungs- und BGP-Peering
Zweck
Vergewissern Sie sich, dass die Routing-Richtlinie als Exportrichtlinie auf die EBGP-Peergruppe angewendet wird. In diesem Schritt wird auch bestätigt, dass die BGP-Sitzung zu R2 korrekt eingerichtet wurde.
Was
Geben Sie im Betriebsmodus den Befehl ein.show bgp neighbor 10.1.23.2
user@R1> show bgp neighbor 10.1.23.2 Peer: 10.1.23.2+49642 AS 65000 Local: 10.1.23.1+179 AS 65001 Group: ebgp Routing-Instance: master Forwarding routing-instance: master Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ prependpolicy1 ] Options: <PeerAS Refresh> Options: <GracefulShutdownRcv> Holdtime: 90 Preference: 170 Graceful Shutdown Receiver local-preference: 0 Number of flaps: 1 Last flap event: RecvNotify Error: 'Cease' Sent: 0 Recv: 1 Peer ID: 192.168.0.2 Local ID: 192.168.0.1 Active Holdtime: 90 . . . Input messages: Total 2498 Updates 1 Refreshes 0 Octets 47510 Output messages: Total 2500 Updates 3 Refreshes 0 Octets 47620 Output Queue[1]: 0 (inet.0, inet-unicast)
Die Befehlsausgabe bestätigt, dass die BGP-Sitzung eingerichtet wurde und dass R1 die Richtlinie als Export angewendet hat.prependpolicy1
Überprüfen Sie den vorangestellten AS-Pfad
Zweck
Vergewissern Sie sich, dass die Exportrichtlinie so funktioniert, dass übereinstimmende Routen AS-Nummern vorangestellt werden.
Was
Geben Sie im Betriebsmodus den Befehl auf R2 ein.show route protocol bgp Verwenden Sie alternativ die at R1, um Details zu den Routen anzuzeigen, die R2 angekündigt werden.show route advertising-protocol bgp 10.1.23.2
user@R2> show route protocol bgp
inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.200.1.0/24 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
10.255.1.0/30 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 65001 65001 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
172.16.0.0/24 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 65001 65001 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
192.168.0.1/32 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 65001 65001 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
Die Routen zeigen den erwarteten AS-Pfad an. Beachten Sie, dass die Route 10.200.1.0/24 nur eine Instanz der AS-Nummer 65001 enthält. Diese Route stimmt nicht mit den Routenfilteranweisungen in der Richtlinie überein und unterliegt daher keiner vorangestellten Route.prependterm1prependpolicy1
Die Ansicht von R1 der BGP-Routen, die für R2 angekündigt werden, wird der Vollständigkeit halber bereitgestellt:
user@R1> show route advertising-protocol bgp 10.1.23.2
inet.0: 16 destinations, 16 routes (16 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* 10.200.1.0/24 Self I
* 10.255.1.0/30 Self 65001 65001 65001 [65001] I
* 172.16.0.0/24 Self 65001 65001 65001 [65001] I
* 192.168.0.1/32 Self 65001 65001 65001 [65001] I
Anhang Vollständige Konfigurationen
Die vollständige Konfiguration für R1.
set system host-name R1 set interfaces xe-0/0/0:0 unit 0 family inet address 10.255.1.1/30 set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.0.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.200.1.1/24 set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set policy-options policy-statement prependpolicy1 term prependterm1 from protocol direct set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 10.255.1.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 then as-path-prepend "65001 65001 65001" set policy-options policy-statement prependpolicy1 term prependterm1 then accept set policy-options policy-statement prependpolicy1 term else from protocol direct set policy-options policy-statement prependpolicy1 term else from route-filter 10.200.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term else then accept set routing-options router-id 192.168.0.1 set routing-options autonomous-system 65001 set protocols bgp group ebgp type external set protocols bgp group ebgp export prependpolicy1 set protocols bgp group ebgp peer-as 65000 set protocols bgp group ebgp neighbor 10.1.23.2
Die vollständige Konfiguration für R2.
set system host-name R2 set interfaces xe-0/0/0:0 unit 0 family inet address 10.1.23.2/24 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set routing-options router-id 192.168.0.2 set routing-options autonomous-system 65000 set protocols bgp group ebgp type external set protocols bgp group ebgp peer-as 65001 set protocols bgp group ebgp neighbor 10.1.23.1