Grundlegendes zu Routenfiltern für die Verwendung in Übereinstimmungsbedingungen für Routingrichtlinien
Ein Routenfilter ist eine Sammlung von Übereinstimmungspräfixen. Wenn Sie ein Übereinstimmungspräfix angeben, können Sie eine exakte Übereinstimmung mit einer bestimmten Route oder eine weniger genaue Übereinstimmung angeben. Sie können entweder eine allgemeine Aktion konfigurieren, die für die gesamte Liste gilt, oder eine Aktion, die jedem Präfix zugeordnet ist.
Da die Konfiguration von Routenfiltern das Einrichten von Präfixen und Präfixlängen umfasst, sollten Sie sich vor der Konfiguration mit der IP-Adressierung, einschließlich Supernetting, und der Auswertung von Routenfiltern vertraut machen (wird hier erläutert: Auswertung von Routenfiltern in Übereinstimmungsbedingungen für Routingrichtlinien).
In diesem Abschnitt werden die folgenden Themen behandelt:
Radix-Bäume
Um die Funktionsweise eines Routenfilters zu verstehen, müssen Sie mit einem Gerät vertraut sein, das für den Abgleich von Binärzahlen verwendet wird und als Radix-Baum (manchmal auch als Patricia Trie oder Radix-Trie bezeichnet) bekannt ist. Ein Radix-Baum verwendet binäre Suchvorgänge, um IP-Adressen (Routen) zu identifizieren. Denken Sie daran, dass eine IP-Adresse eine 32-Bit-Zahl ist, die in einem gepunkteten Dezimalformat dargestellt wird, damit sie von Menschen leicht verstanden werden kann. Diese 8-Bit-Gruppierungen können jeweils einen Wert zwischen 0 und 255 haben. Ein Radixbaum kann eine grafische Darstellung dieser Binärzahlen sein.
In beginnt der Radixbaum ohne konfigurierten Wert (beginnt bei 0) und befindet sich an der äußersten linken Position der binären IP-Adresse.Abbildung 1 Dies wird als 0/0 angezeigt, was oft als Standardroute bezeichnet wird.
Da es sich um ein binäres Bit handelt, kann jedes Bit nur einen von zwei möglichen Werten haben: 0 oder 1. Wenn Sie sich in der linken Verzweigung nach unten bewegen, wird der Wert 0 angezeigt, während das Verschieben nach rechts den Wert 1 darstellt. Der erste Schritt wird in gezeigt.Abbildung 2 An der ersten Position hat das erste Oktett der IP-Adresse den Wert 00000000 oder 10000000 – 0 bzw. 128. Dies wird durch die Werte 0/1 und 128/1 dargestellt .Abbildung 2
Der zweite Schritt wird in gezeigt.Abbildung 3 Diese zweite Ebene der Struktur hat vier mögliche Binärwerte für das erste Oktett: 00000000, 01000000, 10000000 und 11000000. Diese Dezimalwerte von 0, 64, 128 und 192 werden durch die IP-Adressen 0/2, 64/2, 128/2 und 192/2 in der Radixstruktur dargestellt.
Dieser Schritt-für-Schritt-Prozess wird für insgesamt 33 Ebenen fortgesetzt, um jede mögliche IP-Adresse darzustellen.
Die Radix-Baumstruktur ist hilfreich, wenn Sie eine Gruppe von Routen suchen, die alle die gleichen höchstwertigen Bits verwenden. Zeigt den Punkt in der Radix-Struktur an, der das Netzwerk 192.168.0.0/16 darstellt.Abbildung 4 Alle Routen, die spezifischer als 192.168.0.0/16 sind, werden im hervorgehobenen Abschnitt angezeigt.
Konfigurieren von Routenfiltern
Im Thema Konfigurieren von Routenfiltern wird das Standardverhalten von Junos OS beschrieben. Die Walkupfunktion, die in diesem Thema nicht behandelt wird, ändert die in diesem Thema erläuterten Auswertungsergebnisse, indem sie es dem Router ermöglicht, kürzere Übereinstimmungsbedingungen zu berücksichtigen, die innerhalb desselben Zeitraums konfiguriert wurden. Weitere Informationen finden Sie hier .Walkup für Routenfilter – Übersicht
Um einen Routenfilter zu konfigurieren, fügen Sie eine oder mehrere oder-Anweisungen ein:route-filter
source-address-filter
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { actions; }
Die Option wird in der Regel verwendet, um eine eingehende Routenadresse mit Zielübereinstimmungspräfixen eines beliebigen Typs mit Ausnahme von Unicast-Quelladressen abzugleichen.route-filter
Bei der Adresse handelt es sich um das Adresspräfix der IP-Version 4 (IPv4) oder der IP-Version 6 (IPv6), das als angegeben ist .destination-prefix
prefix/prefix-length
Wenn Sie ein IPv4-Präfix weglassen , ist der Standardwert /32.prefix-length
Wenn Sie ein IPv6-Präfix weglassen , ist der Standardwert /128.prefix-length
Präfixe, die in einer Anweisung angegeben werden, müssen entweder alle IPv4-Adressen oder alle IPv6-Adressen sein.from
Die Option wird in der Regel verwendet, um eine eingehende Routing-Adresse mit Unicast-Quelladressen in Multiprotokoll-BGP- (MBGP) und Multicast Source Discovery Protocol (MSDP)-Umgebungen abzugleichen.source-address-filter
source-address-filter source-prefix match-type { actions; }
address ist das IPv4- oder IPv6-Adresspräfix, das als angegeben wird .source-prefix
prefix/prefix-length
Wenn Sie ein IPv4-Präfix weglassen , ist der Standardwert /32.prefix-length
prefix-length
Wenn Sie ein IPv6-Präfix weglassen , ist der Standardwert /128.prefix-length
Präfixe, die in einer Anweisung angegeben werden, müssen entweder alle IPv4-Adressen oder alle IPv6-Adressen sein.from
match-type
ist der Typ der Übereinstimmung, der auf das Quell- oder Zielpräfix angewendet werden soll. Es kann sich um eine der Übereinstimmungsarten handeln, die in aufgeführt sind .Tabelle 1 Beispiele für Übereinstimmungstypen und die Ergebnisse bei der Darstellung verschiedener Routen finden Sie unter .Tabelle 2
sind die Aktionen, die ausgeführt werden sollen, wenn eine Routenadresse den Kriterien entspricht, die für ein Zielübereinstimmungspräfix (als Teil einer Option angegeben) oder für ein Quellübereinstimmungspräfix (als Teil einer Option angegeben) angegeben sind.actions
route-filter
destination-address-filter
Die Aktionen können aus einer oder mehreren der in beschrieben beschriebenen Aktionen bestehen.Aktionen in Routingrichtlinienbegriffen
In einem Routenfilter können Sie Aktionen auf zwei Arten angeben:
In der Option oder : Diese Aktionen werden unmittelbar nach dem Auftreten einer Übereinstimmung ausgeführt, und die Anweisung wird nicht ausgewertet.
route-filter
source-address-filter
then
In der Anweisung: Diese Aktionen werden ausgeführt, nachdem eine Übereinstimmung aufgetreten ist, aber für die Option "oder" sind keine Aktionen angegeben.
then
route-filter
source-address-filter
Die Übereinstimmungstypen und ähneln sich insofern, als sie beide die höchstwertigen Bits angeben und einen Bereich von Präfixlängen bereitstellen, die übereinstimmen können.upto
prefix-length-range
Der Unterschied besteht darin, dass Sie eine Obergrenze nur für den Präfixlängenbereich angeben können, während Sie sowohl eine Unter- als auch eine Obergrenze angeben können.upto
prefix-length-range
Weitere Beispiele für diese Routenfilter-Übereinstimmungstypen finden Sie unter .Beispiele für Routenfilter
Übereinstimmungstyp |
Übereinstimmungskriterien |
---|---|
|
Alle folgenden Aussagen treffen zu:
HINWEIS:
Der Übereinstimmungstyp der Routingrichtlinie ist nur gültig, um eine eingehende IPv4 () oder IPv6 () Routenadresse mit einer Liste von Zielübereinstimmungspräfixen abzugleichen, die in einer Anweisung angegeben sind. Mit dem Übereinstimmungstyp der Routingrichtlinie können Sie zusätzlich zur Länge eines konfigurierten Zielübereinstimmungspräfixes eine eingehende IPv4- oder IPv6-Routenadresse mit einer konfigurierten Netzmaskenadresse abgleichen. Wenn die Suche mit der längsten Übereinstimmung für einen Routenfilter ausgeführt wird, wertet die Suche einen Übereinstimmungstyp anders aus als andere Übereinstimmungstypen für Routingrichtlinien. Weitere Informationen zu diesem Übereinstimmungstyp für Routenfilter finden Sie unter .Wie ein Übereinstimmungstyp für eine Adressmaske ausgewertet wird Beispielkonfigurationen mit Routenfiltern, die den Übereinstimmungstyp enthalten, finden Sie in den folgenden Themen: |
|
Alle folgenden Aussagen treffen zu:
|
|
Alle folgenden Aussagen treffen zu:
|
|
Alle folgenden Aussagen treffen zu:
|
|
Alle folgenden Aussagen treffen zu:
|
|
Alle folgenden Aussagen treffen zu:
Der Übereinstimmungstyp wird in den meisten Routingrichtlinienkonfigurationen nicht verwendet . |
|
Alle folgenden Aussagen treffen zu:
|
Abbildung 5 Zeigt den detaillierten Radixbaum für die Route 192.168.0.0/16.
und demonstrieren Sie die Funktionsweise der verschiedenen Übereinstimmungstypen für Routenfilter.Abbildung 6Tabelle 2
Präfix |
192.168/16 exakt |
192.168/16 länger |
192.168/16 oder länger |
192.168/16 bis /24 |
192.168/16 prefix-length-range/18 – /20 |
192.168/16 through192.168.16/20 |
192.168/19 Adressmaske255.255.0.0 |
---|---|---|---|---|---|---|---|
10.0.0.0/8 |
– |
– |
– |
– |
– |
– |
– |
192.168.0.0/16 |
Match |
– |
Match |
Match |
– |
Match |
– |
192.168.0.0/17 |
– |
Match |
Match |
Match |
– |
Match |
– |
192.168.0.0/18 |
– |
Match |
Match |
Match |
Match |
Match |
– |
192.168.0.0/19 |
– |
Match |
Match |
Match |
Match |
Match |
Match |
192.168.4.0/24 |
– |
Match |
Match |
Match |
– |
– |
– |
192.168.5.4/30 |
– |
Match |
Match |
– |
– |
– |
– |
192.168.12.4/30 |
– |
Match |
Match |
– |
– |
– |
– |
192.168.12.128/32 |
– |
Match |
Match |
– |
– |
– |
– |
192.168.16.0/20 |
– |
Match |
Match |
Match |
Match |
Match |
– |
192.168.192.0/18 |
– |
Match |
Match |
Match |
Match |
– |
– |
192.168.224.0/19 |
– |
Match |
Match |
Match |
Match |
– |
Match |
10.169.1.0/24 |
– |
– |
– |
– |
– |
– |
– |
10.170.0.0/16 |
– |
– |
– |
– |
– |
– |
– |
Auswertung von Routenfiltern in Übereinstimmungsbedingungen für Routingrichtlinien
Bei der Auswertung von Routenfiltern vergleicht die Richtlinien-Framework-Software die Quelladresse jeder Route mit den Zielpräfixen im Routenfilter. Die Auswertung erfolgt in zwei Schritten:
Die Richtlinienframework-Software führt eine Suche nach der längsten Übereinstimmung durch, was bedeutet, dass die Software in der Liste mit der längsten Länge nach dem Präfix sucht.
Bei der Suche nach der längsten Übereinstimmung werden nur die und Komponenten des konfigurierten Übereinstimmungspräfixes und nicht die Komponente berücksichtigt.
prefix
prefix-length
match-type
Der folgende Beispielroutenfilter veranschaulicht diesen Punkt:from { route-filter 192.168.0.0/14 upto /24 reject; route-filter 192.168.0.0/15 exact; } then accept;
Die längste Übereinstimmung für die Kandidatenroute 192.168.1.0/24 ist der zweite Routenfilter, 192.168.0.0/15, der nur auf Präfix und Präfixlänge basiert.
Wenn eine eingehende Route mit einem Präfix übereinstimmt (längste zuerst), werden die folgenden Aktionen ausgeführt:
Der Routenfilter wertet keine anderen Präfixe mehr aus, auch wenn der Übereinstimmungstyp fehlschlägt.
Die Software untersucht den Übereinstimmungstyp und die Aktion, die mit diesem Präfix verknüpft sind.
Wenn eine Routenquelladresse anhand eines Übereinstimmungskriteriums ausgewertet wird, das den Übereinstimmungstyp verwendet, enthalten beide Schritte der Auswertung den konfigurierten Netzmaskenwert.address-mask
Weitere Informationen finden Sie unter .Wie ein Übereinstimmungstyp für eine Adressmaske ausgewertet wird
Wenn in Schritt 1 Route 192.168.1.0/24 ausgewertet würde, würde sie nicht übereinstimmen. Es stimmt mit dem längsten Präfix von 192.168.0.0/15 überein, aber nicht mit .exact
Der Routenfilter ist beendet, weil er mit einem Präfix übereinstimmt, aber das Ergebnis ist eine fehlgeschlagene Übereinstimmung, da der Übereinstimmungstyp fehlgeschlagen ist.
Wenn eine Übereinstimmung auftritt, wird die mit dem Präfix angegebene Aktion ausgeführt. Wenn eine Aktion nicht mit dem Präfix angegeben ist, wird die Aktion in der Anweisung ausgeführt.then
Wenn keine der beiden Aktionen angegeben ist, wertet die Software den nächsten Begriff oder die nächste Routing-Richtlinie aus, sofern vorhanden, oder führt die in der Standardrichtlinie angegebene oder-Aktion aus.accept
reject
Weitere Informationen zu den Standard-Routingrichtlinien finden Sie unter .Standard-Routing-Richtlinien
Wenn Sie mehrere Präfixe im Routenfilter angeben, muss nur ein Präfix übereinstimmen, damit eine Übereinstimmung auftritt. Der Routenfilterabgleich ist im Grunde eine logische ODER-Operation.
Wenn keine Übereinstimmung auftritt, wertet die Software den nächsten Begriff oder die nächste Routing-Richtlinie aus, sofern vorhanden, oder führt die in der Standardrichtlinie angegebene oder-Aktion aus.accept
reject
Vergleichen Sie z. B. das Präfix 192.168.254.0/24 mit dem folgenden Routenfilter:
route-filter 192.168.0.0/16 orlonger; route-filter 192.168.254.0/23 exact;
Das Präfix 192.168.254.0/23 wird als das längste Präfix bestimmt. Wenn die Software 192.168.254.0/24 mit dem längsten Präfix vergleicht, tritt eine Übereinstimmung auf (192.168.254.0/24 ist eine Teilmenge von 192.168.254.0/23). Aufgrund der Übereinstimmung zwischen 192.168.254.0/24 und dem längsten Präfix wird die Auswertung fortgesetzt. Wenn die Software jedoch den Übereinstimmungstyp auswertet, tritt eine Übereinstimmung zwischen 192.168.254.0/24 und 192.168.254.0/23 nicht genau auf. Die Software kommt zu dem Schluss, dass der Begriff nicht übereinstimmt, und fährt mit dem nächsten Begriff oder der nächsten Routing-Richtlinie fort, falls vorhanden, oder führt die in der Standardrichtlinie angegebene oder-Aktion aus.accept
reject
Die Walkup-Funktion ermöglicht es Begriffen mit mehreren Routenfiltern, den Bewertungsprozess so zu "walken", dass sie sowohl weniger spezifische Routen als auch die längste Übereinstimmung enthält. Mit anderen Worten, die Aktivierung der Walkup ändert das Standardverhalten von "Wenn einer fehlschlägt, schlägt der Begriff fehl" in "Wenn einer übereinstimmt, stimmt der Begriff überein". Weitere Informationen zu diesem Feature finden Sie unter .walkupWalkup für Routenfilter – Übersicht
- Auswirkungen der Präfixreihenfolge auf die Auswertung von Routenfiltern
- Wie ein Übereinstimmungstyp für eine Adressmaske ausgewertet wird
- Häufiges Konfigurationsproblem bei der Suche nach längsten Übereinstimmungen
Auswirkungen der Präfixreihenfolge auf die Auswertung von Routenfiltern
Die Reihenfolge, in der die Präfixe angegeben werden (von oben nach unten), spielt in der Regel keine Rolle, da die Richtlinienframeworksoftware den Routenfilter während der Auswertung nach dem längsten Präfix durchsucht. Eine Ausnahme von dieser Regel ist, wenn Sie dasselbe Zielpräfix mehrmals in einer Liste verwenden. In diesem Fall ist die Reihenfolge der Präfixe wichtig, da die Liste der identischen Präfixe von oben nach unten durchsucht wird und der erste Übereinstimmungstyp gilt, der der Route entspricht.
Die Walkup-Funktion ermöglicht es Begriffen mit mehreren Routenfiltern, den Bewertungsprozess so zu "walken", dass sie sowohl weniger spezifische Routen als auch die längste Übereinstimmung enthält. Mit anderen Worten, die Aktivierung der Walkup ändert das Standardverhalten von "Wenn einer fehlschlägt, schlägt der Begriff fehl" in "Wenn einer übereinstimmt, stimmt der Begriff überein". Weitere Informationen zu diesem Feature finden Sie unter .walkupWalkup für Routenfilter – Übersicht
Im folgenden Beispiel werden für dasselbe Präfix unterschiedliche Übereinstimmungstypen angegeben. Die Route 0.0.0.0/0 wird abgelehnt, die Route 0.0.0.0/8 mit und die Route 0.0.0.0/25 wird abgelehnt.next-hop self
route-filter 0.0.0.0/0 upto /7 reject; route-filter 0.0.0.0/0 upto /24 next-hop self; route-filter 0.0.0.0/0 orlonger reject;
Wie ein Übereinstimmungstyp für eine Adressmaske ausgewertet wird
Mit dem Übereinstimmungstyp der Routingrichtlinie können Sie eingehende IPv4- oder IPv6-Routenadressen zusätzlich zur Länge eines konfigurierten Zielübereinstimmungspräfixes mit einem konfigurierten Netzmaskenwert abgleichen.address-mask
Bei der Auswertung von Routenfiltern wird ein Übereinstimmungstyp unter Berücksichtigung des konfigurierten Netzmaskenwerts anders verarbeitet als andere Übereinstimmungstypen für Routingrichtlinien:address-mask
Wenn bei einer Suche mit der längsten Übereinstimmung ein Übereinstimmungstyp für Routingrichtlinien ausgewertet wird, wird die Komponente des konfigurierten Übereinstimmungspräfixes nicht berücksichtigt.
address-mask
prefix-length
Stattdessen wird bei der Suche die Anzahl der zusammenhängenden Bits höherer Ordnung berücksichtigt, die im konfigurierten Netzmaskenwert festgelegt sind.Wenn eine eingehende IPv4- oder IPv6-Routenadresse anhand eines Routenfilter-Übereinstimmungskriteriums ausgewertet wird, das den Übereinstimmungstyp Routingrichtlinie verwendet, ist die Übereinstimmung erfolgreich, wenn die folgenden Werte identisch sind:
address-mask
Das bitweise logische UND des konfigurierten Netzmaskenwerts und der eingehenden IPv4- oder IPv6-Routenadresse
Das bitweise logische AND des konfigurierten Netzmaskenwerts und des konfigurierten Zielübereinstimmungspräfixes
Eine Beispielkonfiguration eines Routenfilters, der zwei Übereinstimmungstypen enthält, finden Sie unter .address-mask
Auswertung eines Übereinstimmungstyps für Adressmasken mit Suche nach längster Übereinstimmung
Häufiges Konfigurationsproblem bei der Suche nach längsten Übereinstimmungen
Ein häufiges Problem beim Definieren eines Routenfilters ist das Einfügen eines kürzeren Präfixes, das Sie mit einem längeren, ähnlichen Präfix in derselben Liste abgleichen möchten. Stellen Sie sich beispielsweise vor, dass das Präfix 192.168.254.0/24 mit dem folgenden Routenfilter verglichen wird:
route-filter 192.168.0.0/16 orlonger; route-filter 192.168.254.0/23 exact;
Da die Richtlinienframeworksoftware die Suche nach der längsten Übereinstimmung durchführt, wird das Präfix 192.168.254.0/23 als das längste Präfix bestimmt. Eine exakte Übereinstimmung findet zwischen 192.168.254.0/24 und 192.168.254.0/23 nicht genau statt. Die Software stellt fest, dass der Begriff nicht übereinstimmt, und fährt mit dem nächsten Begriff oder der nächsten Routing-Richtlinie fort, falls vorhanden, oder führt die in der Standardrichtlinie angegebene oder-Aktion aus.accept
reject
(Weitere Informationen zu den standardmäßigen Routingrichtlinien finden Sie unter .) Das kürzere Präfix 192.168.0.0/16 oder länger, das Sie abgleichen wollten, wird versehentlich ignoriert.Standard-Routing-Richtlinien
Eine Lösung für dieses Problem besteht darin, das Präfix 192.168.0.0/16 oder länger aus dem Routenfilter in diesem Begriff zu entfernen und in einen anderen Begriff zu verschieben, in dem es das einzige Präfix oder das längste Präfix in der Liste ist.
Eine andere Lösung besteht darin, die Funktion zu aktivieren.walkup Weitere Informationen finden Sie hier .Walkup für Routenfilter – Übersicht
Beispiele für Routenfilter
Die Beispiele in diesem Abschnitt zeigen nur Fragmente von Routing-Richtlinien. Normalerweise würden Sie diese Fragmente mit anderen Begriffen oder Routing-Richtlinien kombinieren.
Beachten Sie in allen Beispielen, dass die folgenden Aktionen für nicht übereinstimmende Routen gelten:
Bewerten Sie das nächste Semester, falls vorhanden.
Bewerten Sie die nächste Richtlinie, falls vorhanden.
Führen Sie die in der Standardrichtlinie angegebene Aktion "oder" aus.
accept
reject
Weitere Informationen zu den Standard-Routingrichtlinien finden Sie unter .Standard-Routing-Richtlinien
Die folgenden Beispiele zeigen, wie Routenfilter für verschiedene Zwecke konfiguriert werden:
- Ablehnen von Routen mit bestimmten Zielpräfixen und Maskenlängen
- Ablehnen von Routen mit einer Maskenlänge von mehr als acht
- Ablehnen von Routen mit einer Maskenlänge zwischen 26 und 29
- Ablehnen von Routen von bestimmten Hosts
- Akzeptieren von Routen mit einem definierten Satz von Präfixen
- Ablehnen von Routen mit einem definierten Satz von Präfixen
- Ablehnen von Routen mit Präfixen, die länger als 24 Bit sind
- Ablehnen von PIM-Multicast-Datenverkehrsverknüpfungen
- Ablehnen von PIM-Datenverkehr
- Akzeptieren eingehender IPv4-Routen durch Anwenden einer Adressmaske auf die Routenadresse und das Zielübereinstimmungspräfix
- Eingehende IPv4-Routen mit ähnlichen Mustern, aber unterschiedlichen Präfixlängen akzeptieren
- Auswertung eines Übereinstimmungstyps für Adressmasken mit Suche nach längster Übereinstimmung
Ablehnen von Routen mit bestimmten Zielpräfixen und Maskenlängen
Lehnen Sie Routen mit dem Zielpräfix 0.0.0.0 und einer Maskenlänge von 0 bis 8 ab und akzeptieren Sie alle anderen Routen:
[edit] policy-options { policy-statement policy-statement from-hall2 { term 1 { from { route-filter 0.0.0.0/0 upto /8 reject; } } then accept; } }
Ablehnen von Routen mit einer Maskenlänge von mehr als acht
Lehnen Sie Routen mit einer Maske von /8 und höher (d. h. /8, /9, /10 usw.) ab, bei denen die ersten 8 Bits auf 0 gesetzt sind, und akzeptieren Sie Routen mit einer Länge von weniger als 8 Bit:
[edit] policy-options { policy-statement from-hall3 { term term1 { from { route-filter 0/0 upto /7 accept; route-filter 0/8 orlonger; } then reject; } } }
Ablehnen von Routen mit einer Maskenlänge zwischen 26 und 29
Lehnen Sie Routen mit dem Zielpräfix 192.168.10/24 und einer Maske zwischen /26 und /29 ab und akzeptieren Sie alle anderen Routen:
[edit] policy-options { policy-statement from-customer-a { term term1 { from { route-filter 192.168.10/24 prefix-length-range /26–/29 reject; } then accept; } } }
Ablehnen von Routen von bestimmten Hosts
Lehnen Sie eine Reihe von Routen von bestimmten Hosts ab und akzeptieren Sie alle anderen Routen:
[edit] policy-options { policy-statement hosts-only { from { route-filter 10.125.0.0/16 upto /31 reject; route-filter 0/0; } then accept; } }
Der Übereinstimmungstyp wird in den meisten Routingrichtlinienkonfigurationen nicht verwendet .through
Sie sollten sich dies als ein Tool vorstellen, um einen zusammenhängenden Satz exakter Übereinstimmungen zu gruppieren.through
Anstatt beispielsweise vier exakte Übereinstimmungen anzugeben, gilt Folgendes:
from route-filter 0.0.0.0/1 exact from route-filter 0.0.0.0/2 exact from route-filter 0.0.0.0/3 exact from route-filter 0.0.0.0/4 exact
Sie können sie mit dem folgenden Einzelspiel darstellen:
from route-filter 0.0.0.0/1 through 0.0.0.0/4
Akzeptieren von Routen mit einem definierten Satz von Präfixen
Akzeptieren Sie explizit eine begrenzte Anzahl von Präfixen (im ersten Begriff) und lehnen Sie alle anderen ab (im zweiten Begriff):
policy-options { policy-statement internet-in { term 1 { from { route-filter 192.168.231.0/24 exact accept; route-filter 192.168.244.0/24 exact accept; route-filter 192.168.198.0/24 exact accept; route-filter 192.168.160.0/24 exact accept; route-filter 192.168.59.0/24 exact accept; } } term 2 { then { reject; } } }
Ablehnen von Routen mit einem definierten Satz von Präfixen
Lehnen Sie einige Gruppen von Präfixen ab und akzeptieren Sie die verbleibenden Präfixe:
[edit policy-options] policy-statement drop-routes { term 1{ from { # first, reject a number of prefixes: route-filter default exact reject; # reject 0.0.0.0/0 exact route-filter 0.0.0.0/8 orlonger reject; # reject prefix 0, mask /8 or longer route-filter 10.0.0.0/8 orlonger reject; # reject loopback addresses } route-filter 10.105.0.0/16 exact { # accept 10.105.0.0/16 as-path-prepend “1 2 3”; accept; } route-filter 192.0.2.0/24 orlonger reject; # reject test network packets route-filter 172.16.233.0/3 orlonger reject; # reject multicast and higher route-filter 0.0.0.0/0 upto /24 accept; # accept everything up to /24 route-filter 0.0.0.0/0 orlonger accept; # accept everything else } } } }
Ablehnen von Routen mit Präfixen, die länger als 24 Bit sind
Lehnen Sie alle Präfixe ab, die länger als 24 Bit sind. Sie würden diese Routingrichtlinie in einer Sequenz von Routingrichtlinien in einer Anweisung installieren.export
Der erste Term in diesem Filter übergibt alle Routen mit einer Präfixlänge von bis zu 24 Bit. Der zweite, unbenannte Begriff lehnt alles andere ab.
[edit policy-options] policy-statement 24bit-filter { term acl20 { from { route-filter 0.0.0.0/0 upto /24; } then next policy; } then reject; }
Wenn Sie in diesem Beispiel angeben würden, würden übereinstimmende Präfixe sofort akzeptiert, und die nächste Routingrichtlinie in der Anweisung würde nie ausgewertet werden.route-filter 0.0.0.0/0 upto /24 accept
export
Wenn Sie die Anweisung in den Begriff aufnehmen würden, würden Präfixe, die größer als 24 Bit sind, niemals zurückgewiesen werden, da die Richtlinienrahmensoftware bei der Auswertung des Begriffs mit der Auswertung der nächsten Anweisung fortfahren würde, bevor die Anweisung erreicht wird.then reject
acl20
then reject
Ablehnen von PIM-Multicast-Datenverkehrsverknüpfungen
Konfigurieren Sie eine Routing-Richtlinie zum Ablehnen von PIM-Multicast-Datenverkehrsjoins (Protocol Independent Multicast) für ein Quellzielpräfix von einem Nachbarn:
[edit] policy-options { policy-statement join-filter { from { neighbor 10.14.12.20; source-address-filter 10.83.0.0/16 orlonger; } then reject; } }
Ablehnen von PIM-Datenverkehr
Konfigurieren Sie eine Routing-Richtlinie zum Ablehnen von PIM-Datenverkehr für ein Quellzielpräfix von einer Schnittstelle:
[edit] policy-options { policy-statement join-filter { from { interface so-1/0/0.0; source-address-filter 10.83.0.0/16 orlonger; } then reject; } }
Die folgenden Routingrichtlinienqualifizierer gelten für PIM:
interface
—Schnittstelle, über die eine Verknüpfung empfangen wirdneighbor
– Quelle, aus der eine Verknüpfung stammtroute-filter
—Adresse der Gruppesource-address-filter
– Quelladresse, für die ein Join abgelehnt werden soll
Weitere Informationen zum Importieren eines PIM-Join-Filters in eine PIM-Protokolldefinition finden Sie im Junos OS Multicast Protocols-Benutzerhandbuch.https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/config-guide-multicast/config-guide-multicast.html
Akzeptieren eingehender IPv4-Routen durch Anwenden einer Adressmaske auf die Routenadresse und das Zielübereinstimmungspräfix
Akzeptieren Sie eingehende IPv4-Routen mit dem Zielpräfix 10.1.0/24 und dem dritten Byte einer geraden Zahl von 0 bis einschließlich 14:
[edit] policy-options { policy-statement from_customer_a { term term_1 { from { route-filter 10.1.0.0/24 address-mask 255.255.241.0; } then { ... reject; } } } }
Der Routenfilter im Routingrichtlinienbegriff stimmt mit den folgenden eingehenden IPv4-Routenadressen überein:term_1
10.1.0.0/24
10.1.2.0/24
10.1.4.0/24
10.1.6.0/24
10.1.8.0/24
10.1.10.0/24
10.1.12.0/24
10.1.14.0/24
Das bitweise logische AND des Netzmaskenwerts und der potenziellen Routenadresse muss mit dem bitweisen logischen AND des Netzmaskenwerts und der Übereinstimmungspräfixadresse übereinstimmen. Das heißt, wenn das Netzmaskenbitmuster 255.255.241.0 ein festgelegtes Bit enthält, muss die eingehende IPv4-Routenadresse, die ausgewertet wird, mit dem Wert des entsprechenden Bits in der Zielpräfixadresse 10.1.0.0/24 übereinstimmen.
Die ersten beiden Bytes des Netzmaskenwerts sind binär 1111 1111 1111 1111, was bedeutet, dass eine mögliche Routenadresse die Übereinstimmung nicht erfüllt, wenn die ersten beiden Bytes nicht 10,1 sind.
Das dritte Byte des Netzmaskenwerts ist binär 1111 0001, was bedeutet, dass eine mögliche Routenadresse die Übereinstimmung nicht erfüllt, wenn das dritte Byte größer als 15 (dezimal), eine ungerade Zahl oder beides ist.
Die Präfixlänge der Übereinstimmungspräfixadresse beträgt 24 (dezimal), was bedeutet, dass eine potenzielle Routenadresse die Übereinstimmung nicht besteht, wenn ihre Präfixlänge nicht genau 24 beträgt.
Nehmen wir als Beispiel an, dass die Kandidatenroutenadresse, die in der Richtlinie getestet wird, 10.1.8.0/24 (binär 0000 1010 0000 0001 0000 1000) ist.
Wenn der Netzmaskenwert auf diese potenzielle Routenadresse angewendet wird, ist das Ergebnis binär 0000 1010 0000 0001 0000 0000.
Wenn der Netzmaskenwert auf die konfigurierte Zielpräfixadresse angewendet wird, ist das Ergebnis ebenfalls binär 0000 1010 0000 0001 0000 0000.
Da die Ergebnisse beider UND-Vorgänge identisch sind, wird der Abgleich mit dem zweiten Übereinstimmungskriterium fortgesetzt.
Da die Präfixlängen der Kandidatenadresse und der konfigurierten Zielpräfixadresse identisch sind (24 Bit), ist die Übereinstimmung erfolgreich.
Nehmen wir als weiteres Beispiel an, dass die Kandidatenroutenadresse, die in der Richtlinie getestet wird, 10.1.3.0/24 (binär 0000 1010 0000 0001 0000 0011) ist.
Wenn der Netzmaskenwert auf diese Kandidaten-Routenadresse angewendet wird, ist das Ergebnis binär 0000 1010 0000 0001 0000 0001.
Wenn der Netzmaskenwert jedoch auf die konfigurierte Zielpräfixadresse angewendet wird, ist das Ergebnis binär 0000 1010 0000 0001 0000 0000.
Da die Ergebnisse der beiden AND-Operationen unterschiedlich sind (im dritten Byte), schlägt die Übereinstimmung fehl.
Eingehende IPv4-Routen mit ähnlichen Mustern, aber unterschiedlichen Präfixlängen akzeptieren
Akzeptieren Sie eingehende IPv4-Routenadressen der Form 10.*.1/24 oder 10.*.1.*/32:
[edit] policy-options { policy-statement from_customer_b { term term_2 { from { route-filter 10.0.1.0/24 address-mask 255.0.255.0; route-filter 10.0.1.0/32 address-mask 255.0.255.0; } then { ... reject; } } } }
Die Übereinstimmungskriterien für den Routenfilter stimmen mit einer eingehenden IPv4-Routenadresse der Form 10.*.1/24 überein.10.0.1.0/24 address-mask 255.0.255.0
Die Präfixlänge der Route muss genau 24 Bit lang sein, und jeder Wert im zweiten Byte ist akzeptabel.
Die Übereinstimmungskriterien für den Routenfilter stimmen mit einer eingehenden IPv4-Routenadresse der Form 10.*.1.*/32 überein.10.0.1.0/32 address-mask 255.0.255.0
Die Präfixlänge der Route muss genau 32 Bit lang sein, und jeder Wert im zweiten Byte und im vierten Byte ist akzeptabel.
Auswertung eines Übereinstimmungstyps für Adressmasken mit Suche nach längster Übereinstimmung
In diesem Beispiel wird veranschaulicht, wie eine Suche mit der längsten Übereinstimmung einen Routenfilter auswertet, der zwei Übereinstimmungstypen enthält.address-mask
Betrachten Sie den Routingfilter, der im folgenden Routingrichtlinienbegriff konfiguriert ist:term_3
[edit] policy-options { policy-statement from_customer_c { term term_3 { from { route-filter 10.0.1.0/24 address-mask 255.0.255.0; route-filter 10.0.2.0/24 address-mask 255.240.255.0; } then { ... } } } }
Angenommen, die eingehende IPv4-Routenquelladresse 10.1.1.0/24 wird anhand des im Richtlinienbegriff konfigurierten Routenfilters getestet:term_3
Die Suchstruktur mit der längsten Übereinstimmung für den Routingrichtlinienbegriff enthält zwei Übereinstimmungspräfixe:
term_3
ein Präfix für und ein Präfix für .10.0.1.0/24 address-mask 255.0.255.0
10.0.2.0/24 address-mask 255.240.255.0
Bei der Suche in der Struktur nach der längsten Präfixübereinstimmung für einen Kandidaten wird bei der Suche mit der längsten Übereinstimmung die Anzahl der zusammenhängenden Bits höherer Ordnung in der konfigurierten anstelle der Länge der konfigurierten :netmask-value
destination-prefix
Für das erste Übereinstimmungskriterium für den Routenfilter ist der Sucheintrag mit der längsten Übereinstimmung 10.0.0.0/8, da der Netzmaskenwert 8 zusammenhängende höherwertige Bits enthält.
Für das Übereinstimmungskriterium für den zweiten Routenfilter ist der Sucheintrag mit der längsten Übereinstimmung 10.0.0.0/12, da der Netzmaskenwert 12 zusammenhängende höherwertige Bits enthält.
Für die Kandidaten-Routenadresse 10.1.1.0/24 gibt die Suche mit der längsten Übereinstimmung den Baumeintrag 10.0.0.0/12 zurück, der den Übereinstimmungskriterien für den Routenfilter entspricht.
10.0.2.0/24 address-mask 255.240.255.0
Nachdem nun das Präfix mit der längsten Übereinstimmung für die Adresse der Kandidatenroute identifiziert wurde, wird die Adresse der Kandidatenroute anhand der Übereinstimmungskriterien des Routenfilters ausgewertet:
term_3
10.0.2.0/24 address-mask 255.240.255.0
Um die eingehende IPv4-Routenadresse 10.1.1.0/24 zu testen, wird der Netzmaskenwert 255.240.255.0 auf 10.1.1.0/24 angewendet. Das Ergebnis ist 10.0.1.0.
Um die konfigurierte Zielpräfixadresse 10.0.2.0/24 zu testen, wird der Netzmaskenwert 255.240.255.0 auf 10.0.2.0/24 angewendet. Das Ergebnis ist 10.0.2.0.
Da die Ergebnisse unterschiedlich sind, schlägt die Übereinstimmung mit dem Routenfilter fehl. Es werden keine Aktionen ausgeführt, unabhängig davon, ob sie mit den Übereinstimmungskriterien oder mit der Anweisung angegeben wurden.
then
Die eingehende IPv4-Routenadresse wird nicht anhand anderer Übereinstimmungskriterien ausgewertet.