Auf dieser Seite
Beispiel: Filterbasierte Weiterleitung für die Quelladresse konfigurieren
In diesem Beispiel wird gezeigt, wie Sie die filterbasierte Weiterleitung (FBF) konfigurieren, die manchmal auch als richtlinienbasiertes Routing (Policy Based Routing, PBR) bezeichnet wird. Der Filter klassifiziert Pakete, um ihren Weiterleitungspfad innerhalb des Eingangs-Routing-Geräts zu bestimmen.
Filterbasierte Weiterleitung wird für IP Version 4 (IPv4) und IP Version 6 (IPv6) unterstützt.
QFX5110, QFX5120, QFX5130, QFX5200, QFX5210, QFX5220, QFX5230, QFX5240 und QFX5700 unterstützen instance-type forwarding
nicht; only wird unterstützt instance-type virtual-router
.
Anforderungen
Für dieses Beispiel ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Überblick
In diesem Beispiel verwenden wir FBF für die Auswahl von Service Providern, wenn Kunden über eine Internetverbindung verfügen, die von verschiedenen ISPs bereitgestellt wird, aber eine gemeinsame Zugriffsschicht verwendet. Wenn ein gemeinsam genutztes Medium (z. B. ein Kabelmodem) verwendet wird, prüft ein Mechanismus auf der gemeinsamen Zugriffsebene Layer-2- oder Layer-3-Adressen und unterscheidet zwischen Kunden. Sie können die filterbasierte Weiterleitung verwenden, wenn die gemeinsame Zugriffsebene mit einer Kombination aus Layer-2-Switches und einem einzelnen Router implementiert wird.
Bei FBF werden alle Pakete berücksichtigt, die auf einer Schnittstelle empfangen werden. Jedes Paket durchläuft einen Filter mit Übereinstimmungsbedingungen. Wenn die Übereinstimmungsbedingungen für einen Filter erfüllt sind und Sie eine Routing-Instanz erstellt haben, wird FBF auf das Paket angewendet. Das Paket wird basierend auf dem nächsten Hop weitergeleitet, der in der Routinginstanz angegeben ist. Bei statischen Routen kann der nächste Hop ein bestimmter LSP sein.
Der Abgleich von Quellklassenverwendungsfiltern und Unicast-Reverse-Path-Weiterleitungsprüfungen werden auf einer für FBF konfigurierten Schnittstelle nicht unterstützt.
Führen Sie die folgenden Aufgaben aus, um FBF zu konfigurieren:
Erstellen Sie einen Übereinstimmungsfilter auf dem Eingangsgerät. Um einen Übereinstimmungsfilter anzugeben, schließen Sie die
filter filter-name
Anweisung auf Hierarchieebene[edit firewall]
ein. Ein Paket, das den Filter passiert, wird mit einem Satz von Regeln verglichen, um es zu klassifizieren und seine Zugehörigkeit zu einem Satz zu bestimmen. Nach der Klassifizierung wird das Paket an eine Routing-Tabelle weitergeleitet, die in der Accept-Aktion in der Filterbeschreibungssprache angegeben ist. Die Routing-Tabelle leitet das Paket dann an den nächsten Hop weiter, der dem Zieladresseintrag in der Tabelle entspricht.Erstellen Sie Routing-Instanzen, die die Routing-Tabelle(n) angeben, an die ein Paket weitergeleitet wird, und das Ziel, an das das Paket auf Hierarchieebene
[edit routing-instances]
weitergeleitet wird. Beispiele:[edit] routing-instances { routing-table-name1 { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.14; } } } routing-table-name2 { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.18; } } } }
Erstellen Sie eine RIB-Gruppe, um Schnittstellenrouten für die Weiterleitungs-Routing-Instanzen freizugeben, die in der filterbasierten Weiterleitung (FBF) verwendet werden. In diesem Teil der Konfiguration werden die in den Routing-Instanzen installierten Routen in direkt verbundene Next Hops auf dieser Schnittstelle aufgelöst. Erstellen Sie die Routing-Tabellengruppe auf Hierarchieebene
[edit routing-options]
.[edit] routing-options { interface-routes { rib-group; inet { int-routes; } } } } routing-options { rib-groups { int-routes { import-rib { inet.0; webtraffic.inet.0; } } } }
Dieses Beispiel zeigt einen Paketfilter, der den Kundendatenverkehr basierend auf der Quelladresse des Pakets an einen Next-Hop-Router in den Domänen SP1 oder SP2 weiterleitet.
Wenn dem Paket eine Quelladresse zugewiesen ist, die einem SP1-Kunden zugewiesen ist, erfolgt die zielbasierte Weiterleitung mithilfe der Routing-Tabelle sp1-route-table.inet.0. Wenn dem Paket eine Quelladresse zugewiesen ist, die einem SP2-Kunden zugewiesen ist, erfolgt die zielbasierte Weiterleitung mithilfe der Routing-Tabelle sp2-route-table.inet.0. Wenn ein Paket keine dieser Bedingungen erfüllt, akzeptiert der Filter das Paket, und die zielbasierte Weiterleitung erfolgt unter Verwendung der standardmäßigen inet.0-Routingtabelle.
Topologie
Abbildung 1 Zeigt die in diesem Beispiel verwendete Topologie.
Auf Gerät P1 klassifiziert ein Eingangsfilter Pakete, die von Gerät PE3 und Gerät PE4 empfangen werden. Die Pakete werden basierend auf den Quelladressen geroutet. Pakete mit Quelladressen in den Netzwerken 10.1.1.0/24 und 10.1.2.0/24 werden an Gerät PE1 weitergeleitet. Pakete mit Quelladressen in den Netzwerken 10.2.1.0/24 und 10.2.2.0/24 werden an Gerät PE2 weitergeleitet.

Um die Konnektivität herzustellen, wird OSPF auf allen Schnittstellen konfiguriert. Zu Demonstrationszwecken werden Loopback-Schnittstellenadressen auf den Routing-Geräten so konfiguriert, dass sie Netzwerke in den Clouds darstellen.
In diesem CLI-Schnellkonfiguration Abschnitt wird die gesamte Konfiguration für alle Geräte in der Topologie angezeigt. In diesem Filterbasierte Weiterleitung auf Gerät P1 konfigurieren Abschnitt wird die Schritt-für-Schritt-Konfiguration des Eingangsroutinggeräts (Gerät P1) beschrieben.
Konfiguration
- CLI-Schnellkonfiguration
- Konfigurieren des Firewall-Filters auf P1
- Filterbasierte Weiterleitung auf Gerät P1 konfigurieren
- Ergebnisse
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 P1
set firewall filter classify-customers term sp1-customers from source-address 10.1.1.0/24 set firewall filter classify-customers term sp1-customers from source-address 10.1.2.0/24 set firewall filter classify-customers term sp1-customers then log set firewall filter classify-customers term sp1-customers then routing-instance sp1-route-table set firewall filter classify-customers term sp2-customers from source-address 10.2.1.0/24 set firewall filter classify-customers term sp2-customers from source-address 10.2.2.0/24 set firewall filter classify-customers term sp2-customers then log set firewall filter classify-customers term sp2-customers then routing-instance sp2-route-table set firewall filter classify-customers term default then accept set interfaces fe-1/2/0 unit 0 family inet filter input classify-customers set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.10/30 set interfaces fe-1/2/1 unit 0 family inet address 172.16.0.13/30 set interfaces fe-1/2/2 unit 0 family inet address 172.16.0.17/30 set protocols ospf rib-group fbf-group set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances sp1-route-table instance-type forwarding set routing-instances sp1-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.14 set routing-instances sp2-route-table instance-type forwarding set routing-instances sp2-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.18 set routing-options interface-routes rib-group fbf-group set routing-options rib-groups fbf-group import-rib inet.0 set routing-options rib-groups fbf-group import-rib sp1-route-table.inet.0 set routing-options rib-groups fbf-group import-rib sp2-route-table.inet.0
Gerät P2
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.2/30 set interfaces fe-1/2/1 unit 0 family inet address 172.16.0.6/30 set interfaces fe-1/2/2 unit 0 family inet address 172.16.0.9/30 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Gerät PE1
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.14/30 set interfaces lo0 unit 0 family inet address 172.16.1.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Gerät PE2
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.18/30 set interfaces lo0 unit 0 family inet address 172.16.2.2/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Gerät PE3
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.1/30 set interfaces lo0 unit 0 family inet address 10.1.1.1/32 set interfaces lo0 unit 0 family inet address 10.1.2.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Gerät PE4
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.5/30 set interfaces lo0 unit 0 family inet address 10.2.1.1/32 set interfaces lo0 unit 0 family inet address 10.2.2.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Konfigurieren des Firewall-Filters auf P1
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie den Firewall-Filter auf dem Hauptrouter oder -Switch:
Konfigurieren Sie die Quelladressen für SP1-Kunden.
[edit firewall filter classify-customers term sp1-customers] user@host# set from source-address 10.1.1.0/24 user@host# set from source-address 10.1.2.0/24
Konfigurieren Sie die Aktionen, die ausgeführt werden, wenn Pakete mit den angegebenen Quelladressen empfangen werden. Sie werden protokolliert und an die sp1-route-table-Routinginstanz zum Routing über die Routing-Tabelle sp1-route-table.inet.0 übergeben.
[edit firewall filter classify-customers term sp1-customers] user@host# set then log user@host# set then routing-instance sp1-route-table
Konfigurieren Sie die Quelladressen für SP2-Kunden.
[edit firewall filter classify-customers term sp2-customers] user@host# set from source-address 10.2.1.0/24 user@host# set from source-address 10.2.2.0/24
Konfigurieren Sie die Aktionen, die ausgeführt werden, wenn Pakete mit den angegebenen Quelladressen empfangen werden. Sie werden protokolliert und an die sp2-route-table-Routinginstanz zum Routing über die Routing-Tabelle sp2-route-table.inet.0 übergeben.
[edit firewall filter classify-customers term sp2-customers] user@host# set then log user@host# set then routing-instance sp2-route-table
Konfigurieren Sie die Aktion, die ausgeführt werden soll, wenn Pakete von einer anderen Quelladresse empfangen werden. Sie werden akzeptiert und mit der standardmäßigen IPv4-Unicast-Routing-Tabelle inet.0 geroutet.
[edit firewall filter classify-customers term default] user@host# set then accept
Filterbasierte Weiterleitung auf Gerät P1 konfigurieren
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie die Routing-Instanzen:
Konfigurieren Sie die Schnittstellen.
[edit interfaces fe-1/2/0] user@host# set unit 0 family inet address 172.16.0.10/30 [edit interfaces fe-1/2/1] user@host# set unit 0 family inet address 172.16.0.13/30 [edit interfaces fe-1/2/2] user@host# set unit 0 family inet address 172.16.0.17/30
Weisen Sie den
classify-customers
Firewall-Filter der Router-Schnittstelle fe-1/2/0.0 als Eingangspaketfilter zu.[edit interfaces fe-1/2/0] user@host# set unit 0 family inet filter input classify-customers
Konfigurieren Sie die Konnektivität entweder über ein Routing-Protokoll oder über statisches Routing.
Es empfiehlt sich, das Routing auf der Verwaltungsschnittstelle zu deaktivieren.
[edit protocols ospf area 0.0.0.0] user@host# set interface all user@host# set interface fxp0.0 disable
Erstellen Sie die Routing-Instanzen, auf die im Firewallfilter
classify-customers
verwiesen wird. Der Weiterleitungs-Instance-Typ bietet Unterstützung für filterbasierte Weiterleitung, bei der Schnittstellen nicht mit Instances verknüpft sind.[edit routing-instances] user@host# set sp1-route-table instance-type forwarding user@host# set sp2-route-table instance-type forwarding
Definieren Sie für jede Routing-Instanz eine Standardroute, um den Datenverkehr an den angegebenen nächsten Hop weiterzuleiten (in diesem Beispiel PE1 und PE2).
[edit routing-instances ] user@host# set sp1-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.14 user@host# set sp2-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.18
Ordnen Sie die Routing-Tabellen einer Routing-Tabellengruppe zu. Die erste Routingtabelle, inet.0, ist die primäre Routingtabelle, und die anderen sind sekundäre Routingtabellen. Die primäre Routing-Tabelle bestimmt die Adressfamilie der Routing-Tabellengruppe, in diesem Fall IPv4.
[edit routing-options] user@host# set rib-groups fbf-group import-rib inet.0 user@host# set rib-groups fbf-group import-rib sp1-route-table.inet.0 user@host# set rib-groups fbf-group import-rib sp2-route-table.inet.0
Geben Sie die Routing-Tabellengruppe fbf-group in der OSPF-Konfiguration an, um OSPF-Routen in den drei Routing-Tabellen zu installieren.
[edit protocols ospf] user@host# set rib-group fbf-group
Bestätigen Sie die Konfiguration, wenn Sie fertig sind.
[edit] user@host# commit
Ergebnisse
Bestätigen Sie Ihre Konfiguration, indem Sie die show interfaces
Befehle , show firewall
, show protocols
, show routing-instances
und show routing-options
eingeben.
user@host# show interfaces fe-1/2/0 { unit 0 { family inet { filter { input classify-customers; } address 172.16.0.10/30; } } } fe-1/2/1 { unit 0 { family inet { address 172.16.0.13/30; } } } fe-1/2/2 { unit 0 { family inet { address 172.16.0.17/30; } } }
user@host# show firewall filter classify-customers { term sp1-customers { from { source-address { 10.1.1.0/24; 10.1.2.0/24; } } then { log; routing-instance sp1-route-table; } } term sp2-customers { from { source-address { 10.2.1.0/24; 10.2.2.0/24; } } then { log; routing-instance sp2-route-table; } } term default { then accept; } }
user@host# show protocols ospf { rib-group fbf-group; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } } }
user@host# show routing-instances sp1-route-table { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.14; } } } sp2-route-table { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.18; } } }
user@host# show routing-options rib-groups { fbf-group { import-rib [ inet.0 sp1-route-table.inet.0 sp2-route-table.inet.0 ]; } }
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
Pingen mit angegebenen Quelladressen
Zweck
Senden Sie einige ICMP-Pakete über das Netzwerk, um den Firewallfilter zu testen.
Action!
Führen Sie den
ping
Befehl aus, und pingen Sie die lo0.0-Schnittstelle auf Gerät PE1 an.Die auf dieser Schnittstelle konfigurierte Adresse lautet 172.16.1.1.
Geben Sie die Quelladresse 10.1.2.1 an, bei der es sich um die Adresse handelt, die auf der lo0.0-Schnittstelle auf Gerät PE3 konfiguriert ist.
user@PE3> ping 172.16.1.1 source 10.1.2.1 PING 172.16.1.1 (172.16.1.1): 56 data bytes 64 bytes from 172.16.1.1: icmp_seq=0 ttl=62 time=1.444 ms 64 bytes from 172.16.1.1: icmp_seq=1 ttl=62 time=2.094 ms ^C --- 172.16.1.1 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.444/1.769/2.094/0.325 ms
Führen Sie den
ping
Befehl aus, und pingen Sie die lo0.0-Schnittstelle auf Gerät PE2 an.Die auf dieser Schnittstelle konfigurierte Adresse lautet 172.16.2.2.
Geben Sie die Quelladresse 10.2.1.1 an, bei der es sich um die Adresse handelt, die auf der lo0.0-Schnittstelle auf Gerät PE4 konfiguriert ist.
user@PE4> ping 172.16.2.2 source 10.2.1.1 PING 172.16.2.2 (172.16.2.2): 56 data bytes 64 bytes from 172.16.2.2: icmp_seq=0 ttl=62 time=1.473 ms 64 bytes from 172.16.2.2: icmp_seq=1 ttl=62 time=1.407 ms ^C --- 172.16.2.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.407/1.440/1.473/0.033 ms
Bedeutung
Durch das Senden dieser Pings werden die Firewall-Filteraktionen aktiviert.
Überprüfen des Firewall-Filters
Zweck
Stellen Sie sicher, dass die Firewallfilteraktionen wirksam werden.
Action!
Führen Sie den
show firewall log
Befehl auf Gerät P1 aus.user@P1> show firewall log Log : Time Filter Action Interface Protocol Src Addr Dest Addr 13:52:20 pfe A fe-1/2/0.0 ICMP 10.2.1.1 172.16.2.2 13:52:19 pfe A fe-1/2/0.0 ICMP 10.2.1.1 172.16.2.2 13:51:53 pfe A fe-1/2/0.0 ICMP 10.1.2.1 172.16.1.1 13:51:52 pfe A fe-1/2/0.0 ICMP 10.1.2.1 172.16.1.1