Auf dieser Seite
Beispiel: Filterbasierte Weiterleitung konfigurieren
Filter-based Forwarding (FBF), auch Policy Based Routing (PBR)genannt, bietet eine einfache, aber leistungsstarke Möglichkeit, IP-Datenverkehr auf der Grundlage von Layer-3- oder Layer-4-Parametern an verschiedene Schnittstellen zu routen.
FBF verwendet Übereinstimmungsbedingungen in einem Firewallfilter, um bestimmten Datenverkehr auszuwählen und ihn dann an eine bestimmte Routinginstanz weiterzuleiten, die auf den gewünschten nächsten Hop verweist. Um sicherzustellen, dass der nächste Hop auflösbar ist, werden Schnittstellenrouten aus der Haupt-Routing-Tabelle über eine RIB-Gruppe mit der/den Routing-Tabelle(n) geteilt, die in der/den Routing-Instanz(en) angegeben sind.
Zu den Übereinstimmungsbedingungen können die Quell- oder Ziel-IP-Adresse, der Quell- oder Zielport, das IP-Protokoll, der DSCP-Wert, das TCP-Flag, der ICMP-Typ und die Paketlänge gehören.
Anforderungen
Für dieses Beispiel gelten die folgenden Hardware- und Softwareanforderungen:
Universelle 5G-Routing-Plattform der MX-Serie als Routing-Gerät mit konfiguriertem Firewall-Filter.
Junos OS Version 13.3 oder höher, das auf dem Routing-Gerät mit konfiguriertem Firewall-Filter ausgeführt wird.
Überblick
Dieses Beispiel zeigt die Konfigurationseinstellungen, die Sie zum Einrichten der filterbasierten Weiterleitung auf einem einzelnen Gerät benötigen. Abbildung 1 Zeigt die Eingangs- und Ausgangsschnittstellen eines Routers der MX-Serie und veranschaulicht den logischen Ablauf von Ereignissen beim Durchlaufen des Geräts durch Pakete.

Ein Firewall-Filter namens wird webFilter an die Eingangsschnittstelle angefügt. fe-0/0/0 Pakete, die über die Schnittstelle eingehen, werden anhand der im Filter angegebenen Übereinstimmungsbedingungen ausgewertet, dessen Logik HTTP- und HTTPS-Datenverkehr an eine Routinginstanz namens webtraffic. Diese Routinginstanz bewirkt drei Dinge: Erstens wird eine Routing-Tabelle mit dem Namen webtraffic.inet.0erstellt, zweitens können Sie eine statische Route und einen nächsten Hop definieren, und drittens können Sie die Instanz für die Weiterleitung des Datenverkehrs an den nächsten Hop konfigurieren (hier 192.0.2.2 auf der Schnittstelle fe-0/0/1).
Begriff 2 im Firewallfilter gibt an, then acceptdass der gesamte nicht übereinstimmende Datenverkehr einen anderen Pfad nimmt. Wir definieren eine statische Route mit dem nächsten Hop von 203.0.113.2, damit dieser Datenverkehr das Gerät über fe-0/0/2. Die Route wird automatisch in der Master-Routing-Tabelle, inet.0installiert.
Der letzte (logische) Schritt beim Einrichten von FBF besteht darin, sicherzustellen, dass beide Routen auflösbar sind. Die RIB-Gruppe (FBF-rib in diesem Beispiel) sorgt dafür, dass Schnittstellenrouten von inet.0 mit webtraffic.inet.0geteilt werden können.
Beispiele, die sich auf einen bestimmten Anwendungsfall oder Topologien mit mehreren Geräten konzentrieren, finden Sie unter "Verwandte Themen".
Konfiguration
Verfahren
CLI-Schnellkonfiguration
Es werden sowohl Copy-Paste- als auch Schritt-für-Schritt-Anleitungen zum Erstellen einer filterbasierten Weiterleitung auf einem einzelnen Gerät bereitgestellt.
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.
Konfigurieren eines Geräts für die filterbasierte Weiterleitung
set interfaces fe-0/0/0 unit 0 family inet address 198.51.100.1/24 set interfaces fe-0/0/0 unit 0 family inet filter input webFilter set interfaces fe-0/0/1 unit 0 family inet address 192.0.2.1/24 set interfaces fe-0/0/2 unit 0 family inet address 203.0.113.1/24 set firewall family inet filter webFilter term 1 from destination-port http set firewall family inet filter webFilter term 1 from destination-port https set firewall family inet filter webFilter term 1 then routing-instance webtraffic set firewall family inet filter webFilter term 2 then accept set routing-instances webtraffic routing-options static route 0.0.0.0/0 next-hop 192.0.2.2 set routing-instances webtraffic instance-type forwarding set routing-options static route 0.0.0.0/0 next-hop 203.0.113.2 set routing-options rib-groups FBF-rib import-rib inet.0 set routing-options rib-groups FBF-rib import-rib webtraffic.inet.0 set routing-options interface-routes rib-group inet FBF-rib
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 das Gerät:
Konfigurieren Sie die eingehende Schnittstelle, und fügen Sie den webFilter Firewall-Filter daran an.
[edit interfaces fe-0/0/0 unit 0 family inet] user@device# set filter input webFilter user@device# set address 198.51.100.1/24
Konfigurieren Sie die ausgehenden Schnittstellen, eine für den Webdatenverkehr und die andere für den gesamten anderen Datenverkehr.
[edit interfaces] user@device# set fe-0/0/1 unit 0 family inet address 192.0.2.1/24 user@device# set fe-0/0/2 unit 0 family inet address 203.0.113.1/24
Konfigurieren Sie den Firewallfilter so, dass der Webdatenverkehr an die Routinginstanz und der gesamte andere Datenverkehr an übergeben webtraffic wird 203.0.113.1.
[edit firewall family inet filter webFilter] user@device# set term 1 from destination-port http user@device# set term 1 from destination-port https user@device# set term 1 then routing-instance webtraffic user@device# set term 2 then accept
Wahlfrei: Überwachen Sie die Datenverkehrsverarbeitung des Firewallfilters, indem Sie einen Zähler hinzufügen>
[edit interfaces fe-0/0/0 unit 0 family inet] user@device# set firewall family inet filter webFilter term 1 then count webtraffic-count
Erstellen Sie die webtraffic Routing-Instanz, und konfigurieren Sie sie so, dass Webdatenverkehr an weitergeleitet wird fe-0/0/1.
[edit routing-instances webtraffic] user@device# set routing-options static route 0.0.0.0/0 next-hop 192.0.2.2 user@device# set instance-type forwarding
Erstellen Sie eine Route für Nicht-Web-Datenverkehr (die Route wird automatisch in der inet.0 Routing-Tabelle installiert).
[edit routing-options] user@device# set static route 0.0.0.0/0 next-hop 203.0.113.2
Erstellen Sie eine RIB-Gruppe mit dem Namen FBF-rib, und konfigurieren Sie sie so, dass inet.0 sie Schnittstellenrouten mit webtraffic.inet.0teilt, und ordnen Sie dann den Schnittstellen des Routing-Geräts eine Routing-Tabellengruppe zu, und geben Sie Routing-Tabellengruppen an, in die Schnittstellenrouten importiert werden.
[edit routing-options] user@device# set rib-groups FBF-rib import-rib inet.0 user@device# set rib-groups FBF-rib import-rib webtraffic.inet.0
Ordnen Sie den Schnittstellen des Routinggeräts eine Routing-Tabellengruppe zu, und geben Sie Routing-Tabellengruppen an, in die Schnittstellenrouten importiert werden.
[edit routing-options] user@device# set interface-routes rib-group inet FBF-rib
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show firewall
Befehle , show routing-instances
, show routing-options
und show interfaces
, eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
.
user@device#show interfaces fe-0/0/0
unit 0 { family inet { filter { input webFilter; } address 198.51.100.1/24; } } user@device#show interfaces fe-0/0/1
unit 0 { family inet { address 192.0.2.1/24; } } user@device#show interfaces fe-0/0/2
unit 0 { family inet { address 203.0.113.1/24; } } user@device#show firewall
family inet { filter webFilter { term 1 { from { destination-port [ http https ]; } then { routing-instance webtraffic; } } term 2 { then accept; } } }
user@device# show routing-options
interface-routes {
rib-group inet FBF-rib;
}
static {
route 0.0.0.0/0 next-hop 203.0.113.2;
}
rib-groups {
FBF-rib {
import-rib [ inet.0 webtraffic.inet.0 ];
}
}
user@device# show routing-instances
webtraffic {
instance-type forwarding;
routing-options {
static {
route 0.0.0.0/0 next-hop 192.0.2.2;
}
}
}