Auf dieser Seite
Beispiel: Konfigurieren von Routingrichtlinien-Präfixlisten
In Junos OS bieten Präfixlisten eine Methode zum Definieren eines Satzes von Routen. Junos OS bietet andere Methoden zum Ausführen derselben Aufgabe, z. B. Routenfilter. Eine Präfixliste ist eine Liste von IP-Präfixen, die eine Reihe von Routen darstellen, die als Übereinstimmungskriterien in einer angewendeten Richtlinie verwendet werden. Eine solche Liste kann nützlich sein, um eine Liste von Kundenrouten in Ihrem autonomen System (AS) darzustellen. Eine Präfixliste erhält einen Namen und wird innerhalb der [edit policy-options]
Konfigurationshierarchie konfiguriert.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Aktualisiert und erneut validiert mit Junos OS Version 22.1R1.
Überblick
Präfixlisten ähneln einer Liste von Routenfiltern. Der funktionale Unterschied zwischen Routenfiltern und Präfixlisten besteht darin, dass Sie keinen Bereich mithilfe einer Präfixliste angeben können. Sie können einen Bereich mithilfe einer Präfixliste simulieren, indem Sie zusätzliche Präfixe in die Liste aufnehmen, oder indem Sie zwei Präfixlisten verwenden, eine kürzere und eine längere, wobei Sie eine auf "Akzeptieren" und die andere auf "Ablehnen" festlegen. Sie können eine Präfixliste auch mithilfe der prefix-list-filter
Übereinstimmungsbedingung filtern. Zur Auswahl stehen exact
, longer
, und orlonger
.
Der Vorteil einer Präfixliste gegenüber einer Liste von Routenfiltern zeigt sich, wenn auf die Präfixe an mehreren verschiedenen Stellen verwiesen wird. Beispielsweise kann in einer BGP-Importrichtlinie, einer Exportrichtlinie, einer RPF-Richtlinie, in Firewallfiltern, in Loopback-Filtern, beim Festlegen eines Multicastbereichs usw. auf eine Präfixliste verwiesen werden.
Wenn sich Ihre Präfixliste ändert, können Sie stattdessen die Präfixliste aktualisieren und das Präfix einmal statt mehrmals ändern, anstatt sich daran zu erinnern, dass viele verschiedene Speicherortpräfixe konfiguriert sind. Dies trägt dazu bei, die Wahrscheinlichkeit von Konfigurationsfehlern zu verringern, z. B. die falsche Eingabe der Adresse an einem Standort oder das Vergessen, einen oder mehrere Standorte zu aktualisieren.
Präfixlisten helfen auch bei der Verwaltung einer großen Anzahl von Geräten. Sie können die verschiedenen Filter und Richtlinien so generisch wie möglich schreiben und auf Präfixlisten anstelle bestimmter IP-Adressen verweisen. Die komplexere Logik in den Filtern und Richtlinien muss nur einmal geschrieben werden, mit minimalen Anpassungen pro Gerät und pro Standort.
Wie in Abbildung 1dargestellt, hat jeder Arbeitsplaner in AS 65000 Kundenrouten. Gerät R1 weist Kundenrouten innerhalb des Subnetzes 172.16.1.0/24 zu. Gerät R2 und Gerät R3 weisen Kundenrouten innerhalb der Subnetze 172.16.2.0/24 bzw. 172.16.3.0/24 zu. Das Gerät R1 wurde in AS 650 00 zumzentralen Punkt bestimmt, um eine vollständige Liste der Kundenrouten zu führen. Gerät R1 verfügt über eine Präfixliste mit dem Namen customers
, wie folgt:
user@R1# show policy-options prefix-list customers { 172.16.1.16/28; 172.16.1.32/28; 172.16.1.48/28; 172.16.1.64/28; 172.16.2.16/28; 172.16.2.32/28; 172.16.2.48/28; 172.16.2.64/28; 172.16.3.16/28; 172.16.3.32/28; 172.16.3.48/28; 172.16.3.64/28; }
Wie Sie sehen können, enthält die Präfixliste nicht für jede Route einen Übereinstimmungstyp (wie Sie es bei einem Routenfilter sehen würden). Dies ist ein wichtiger Punkt bei der Verwendung einer Präfixliste in einer Richtlinie. Routen stimmen nur überein, wenn sie genau mit einem der Präfixe in der Liste übereinstimmen. Mit anderen Worten, jede Route in der Liste muss in der Routing-Tabelle genau so angezeigt werden, wie sie in der Präfixliste konfiguriert ist.
Sie verweisen auf die Präfixliste als Übereinstimmungskriterium innerhalb einer Richtlinie wie folgt:
user@R1# show policy-options policy-statement customer-routes { term get-routes { from { prefix-list customers; } then accept; } term others { then reject; } }
In diesem Beispiel werden alle Routen in der customers
Präfixliste in der Routing-Tabelle auf Gerät R1 angezeigt. Gerät R2 und Gerät R3 exportieren in statische Routen von Gerät R1 an ihre Kunden.
Wie bereits erwähnt, können Sie die prefix-list-filter
Übereinstimmungsbedingung mit dem Übereinstimmungstyp exact
, longer
oder orlonger
verwenden. Dies bietet eine Möglichkeit, die Beschränkung der Präfixliste auf exakte Übereinstimmungen von Präfixlisten zu umgehen. Beispiele:
user@R1# show policy-options policy-statement customer-routes { term get-routes { from { prefix-list-filter customers orlonger; } then accept; } term others { then reject; } }
Das Beispiel veranschaulicht die Auswirkungen sowohl der prefix-list
Übereinstimmungsbedingung als auch der prefix-list-filter
Übereinstimmungsbedingung.
Topologie
Abbildung 1 zeigt das Beispielnetzwerk an.

CLI-Schnellkonfiguration Zeigt die Konfiguration für alle Geräte in Abbildung 1an.
In diesem Abschnitt #configuration449__policy-prefix-list-st werden die Schritte auf Gerät R1 beschrieben.
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 Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit]
ein.
Gerät R1
set interfaces ge-0/0/0 unit 0 description to_R2 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30 set interfaces ge-0/0/1 unit 0 description to_R3 set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.5/30 set interfaces ge-0/0/2 unit 0 description to_R4 set interfaces ge-0/0/2 unit 0 family inet address 10.1.0.5/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set policy-options prefix-list customers 172.16.1.16/28 set policy-options prefix-list customers 172.16.1.32/28 set policy-options prefix-list customers 172.16.1.48/28 set policy-options prefix-list customers 172.16.1.64/28 set policy-options prefix-list customers 172.16.2.16/28 set policy-options prefix-list customers 172.16.2.32/28 set policy-options prefix-list customers 172.16.2.48/28 set policy-options prefix-list customers 172.16.2.64/28 set policy-options prefix-list customers 172.16.3.16/28 set policy-options prefix-list customers 172.16.3.32/28 set policy-options prefix-list customers 172.16.3.48/28 set policy-options prefix-list customers 172.16.3.64/28 set policy-options policy-statement customer-routes term get-routes from prefix-list customers set policy-options policy-statement customer-routes term get-routes then accept set policy-options policy-statement customer-routes term others then reject set routing-options router-id 192.168.0.1 set routing-options autonomous-system 65000 set routing-options static route 172.16.1.16/28 discard set routing-options static route 172.16.1.32/28 discard set routing-options static route 172.16.1.48/28 discard set routing-options static route 172.16.1.64/28 discard set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.1 set protocols bgp group int neighbor 192.168.0.2 set protocols bgp group int neighbor 192.168.0.3 set protocols bgp group to_65001 type external set protocols bgp group to_65001 export customer-routes set protocols bgp group to_65001 neighbor 10.1.0.6 peer-as 65001 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 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 passive
Gerät R2
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.2/30 set interfaces ge-0/0/1 unit 0 description to_R3 set interfaces ge-0/0/1 unit 0 family inet address 10.1.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options router-id 192.168.0.2 set routing-options autonomous-system 65000 set routing-options static route 172.16.2.16/28 discard set routing-options static route 172.16.2.32/28 discard set routing-options static route 172.16.2.48/28 discard set routing-options static route 172.16.2.64/28 discard set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.2 set protocols bgp group int neighbor 192.168.0.1 export send-static set protocols bgp group int neighbor 192.168.0.3 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 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 passive
Gerät R3
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.6/30 set interfaces ge-0/0/1 unit 0 description to_R2 set interfaces ge-0/0/1 unit 0 family inet address 10.1.0.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options router-id 192.168.0.3 set routing-options autonomous-system 65000 set routing-options static route 172.16.3.16/28 discard set routing-options static route 172.16.3.32/28 discard set routing-options static route 172.16.3.48/28 discard set routing-options static route 172.16.3.64/28 discard set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.3 set protocols bgp group int neighbor 192.168.0.1 export send-static set protocols bgp group int neighbor 192.168.0.2 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 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 passive
Gerät R4
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.0.6/30 set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set routing-options autonomous-system 65001 set protocols bgp group ext type external set protocols bgp group ext peer-as 65000 set protocols bgp group ext neighbor 10.1.0.5
Verfahren
Schritt-für-Schritt-Anleitung
Wir zeigen die Schritt-für-Schritt-Anleitung zur Konfiguration von R1. Die anderen Router haben einen ähnlichen Schritt-für-Schritt-Prozess. Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie R1:
-
Konfigurieren Sie die Schnittstellen.
[edit] user@R1# set interfaces ge-0/0/0 unit 0 description to_R2 user@R1# set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30 user@R1# set interfaces ge-0/0/1 unit 0 description to_R3 user@R1# set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.5/30 user@R1# set interfaces ge-0/0/2 unit 0 description to_R4 user@R1# set interfaces ge-0/0/2 unit 0 family inet address 10.1.0.5/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.1/32
-
Konfigurieren Sie die internen BGP (IBGP)- Peerings für R2 und R3.
[edit] user@R1# set protocols bgp group int type internal user@R1# set protocols bgp group int local-address 192.168.0.1 user@R1# set protocols bgp group int neighbor 192.168.0.2 user@R1# set protocols bgp group int neighbor 192.168.0.3
-
Konfigurieren Sie das externe BGP (EBGP)- Peering zu R4. Die Konfiguration der Exportrichtlinie wird in einem späteren Schritt angezeigt.
[edit] user@R1# set protocols bgp group to_65001 type external user@R1# set protocols bgp group to_65001 export customer-routes user@R1# set protocols bgp group to_65001 neighbor 10.1.0.6 peer-as 65001
-
Konfigurieren Sie die OSPF-Peeringsauf R2 und R3. Das OSPF-Protokoll ermöglicht das Erlernen der Loopback-Adresse für jedes Gerät, wodurch die IBGP-Peerings eingerichtet werden können.
[edit] user@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 user@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 user@R1# set protocols ospf area 0.0.0.0 interface lo0.0 passive
-
Konfigurieren Sie die Präfixliste.
[edit] user@R1# set policy-options prefix-list customers 172.16.1.16/28 user@R1# set policy-options prefix-list customers 172.16.1.32/28 user@R1# set policy-options prefix-list customers 172.16.1.48/28 user@R1# set policy-options prefix-list customers 172.16.1.64/28 user@R1# set policy-options prefix-list customers 172.16.2.16/28 user@R1# set policy-options prefix-list customers 172.16.2.32/28 user@R1# set policy-options prefix-list customers 172.16.2.48/28 user@R1# set policy-options prefix-list customers 172.16.2.64/28 user@R1# set policy-options prefix-list customers 172.16.3.16/28 user@R1# set policy-options prefix-list customers 172.16.3.32/28 user@R1# set policy-options prefix-list customers 172.16.3.48/28 user@R1# set policy-options prefix-list customers 172.16.3.64/28
-
Konfigurieren Sie die Routingrichtlinie, die als Übereinstimmungskriterium auf die Präfixliste verweist.
[edit] user@R1# set policy-options policy-statement customer-routes term get-routes from prefix-list customers user@R1# set policy-options policy-statement customer-routes term get-routes then accept user@R1# set policy-options policy-statement customer-routes term others then reject
-
Konfigurieren Sie die statische Routes für 172.16.1.0/24 Netzwerk. Wir verwenden statische Routen, um die Kundenrouten zu emulieren.
[edit] user@R1# set routing-options static route 172.16.1.16/28 discard user@R1# set routing-options static route 172.16.1.32/28 discard user@R1# set routing-options static route 172.16.1.48/28 discard user@R1# set routing-options static route 172.16.1.64/28 discard
-
Konfigurieren Sie die AS-Nummer (Autonomous System) und die Router-ID.
[edit] user@R1# set routing-options router-id 192.168.0.1 user@R1# set routing-options autonomous-system 65000
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show interfaces
Befehle , show protocols
, show policy-options
und show routing-options
eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@R1# show interfaces ge-0/0/0 { unit 0 { description to_R2; family inet { address 10.0.0.1/30; } } } ge-0/0/1 { unit 0 { description to_R3; family inet { address 10.0.0.5/30; } } } ge-0/0/2 { unit 0 { description to_R4; family inet { address 10.1.0.5/30; } } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } }
user@R1# show protocols bgp { group int { type internal; local-address 192.168.0.1; neighbor 192.168.0.2; neighbor 192.168.0.3; } group to_65001 { type external; export customer-routes; neighbor 10.1.0.6 { peer-as 65001; } } } ospf { area 0.0.0.0 { interface ge-0/0/0.0; interface ge-0/0/1.0; interface lo0.0 { passive; } } }
user@R1# show policy-options prefix-list customers { 172.16.1.16/28; 172.16.1.32/28; 172.16.1.48/28; 172.16.1.64/28; 172.16.2.16/28; 172.16.2.32/28; 172.16.2.48/28; 172.16.2.64/28; 172.16.3.16/28; 172.16.3.32/28; 172.16.3.48/28; 172.16.3.64/28; } policy-statement customer-routes { term get-routes { from { prefix-list customers; } then accept; } term others { then reject; } }
user@R1# show routing-options static { route 172.16.1.16/28 discard; route 172.16.1.32/28 discard; route 172.16.1.48/28 discard; route 172.16.1.64/28 discard; } router-id 192.168.0.1; autonomous-system 65000;
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
.
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
- Verifizieren der Routen auf der R1
- Verifizieren der Routenankündigung zu R4
- Experimentieren mit der prefix-list-filter-Anweisung
Verifizieren der Routen auf der R1
Zweck
Überprüfen Sie auf R1 die Routen in der Routing-Tabelle.
Action!
user@R1> show route terse 172.16/16 inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both A V Destination P Prf Metric 1 Metric 2 Next hop AS path * ? 172.16.1.16/28 S 5 Discard * ? 172.16.1.32/28 S 5 Discard * ? 172.16.1.48/28 S 5 Discard * ? 172.16.1.64/28 S 5 Discard * ? 172.16.2.16/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.32/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.48/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.64/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.3.16/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.32/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.48/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.64/28 B 170 100 I unverified >10.0.0.6
Bedeutung
Gerät R1 hat seine eigenen statischen Routen (S) und die BGP-Routen von den Geräten R2 und R3 (B) gelernt.
Verifizieren der Routenankündigung zu R4
Zweck
Stellen Sie sicher , dass die Kundenrouten auf R1 für R4 angekündigt werden.
Action!
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
Bedeutung
Erwartungsgemäß werden R4 nur die Routen aus der Kundenpräfixliste angekündigt .
Experimentieren mit der prefix-list-filter-Anweisung
Zweck
Sehen Sie, was passieren kann, wenn Sie prefix-list-filter
anstelle von prefix-list
.
Action!
-
Fügen Sie auf R3eine statische Route hinzu, die länger ist als eine der vorhandenen statischen Routen.
[edit routing-options static] user@R3# set route 172.16.3.65/32 discard user@R3# commit
-
Deaktivieren Sie auf R1 die Präfixliste und konfigurieren Sie einen Präfixlistenfilter mit dem Übereinstimmungstyp
orlonger
.[edit policy-options policy-statement customer-routes term get-routes] user@R1# deactivate from prefix-list customers user@R1# set from prefix-list-filter customers orlonger user@R1# commit
-
Überprüfen Sie auf R1, welche Routen für R4 angekündigt sind.
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 31 destinations, 31 routes (31 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I * 172.16.3.65/32 Self I
Bedeutung
Wie erwartet wirbt R1 nun für die 172.16.3.65/32 Route zu R4, obwohl 172.16.3.65/32 ist nicht in der Präfixliste enthalten.