Unicast RPF (Router) verstehen
Für Schnittstellen, die IPv4- oder IPv6-Datenverkehr übertragen, können Sie die Auswirkungen von Denial-of-Service-Angriffen (DoS) reduzieren, indem Sie Unicast Reverse Path Forwarding (RPF) konfigurieren. Unicast RPF hilft bei der Ermittlung der Quelle von Angriffen und lehnt Pakete von unerwarteten Quelladressen an Schnittstellen ab, an denen Unicast-RPF aktiviert ist.
Sie können ein Netzwerk schützen, indem Sie die Unicast-RPF-Prüffunktion am Edge (auf kundenorientierten Schnittstellen) des Netzwerks anwenden. In einer ISP-Umgebung kann sich dies auf das Netzwerk auswirken, was ein skaliertes Setup erforderlich machen kann. Falls Sie den Edge Ihres Netzwerks bereits geschützt haben, würde ein Paket mit einer gefälschten IP-Quelladresse nicht einmal in einer Core-Schnittstelle erscheinen. In diesem Fall ist eine Unicast-RPF-Prüfung nicht erforderlich. Die Aktivierung der Unicast-RPF-Funktion kann sich auf die Leistung der Steuerungsebene auswirken. Verwenden Sie sie daher bei Bedarf. Es wird daher dringend empfohlen, diese Funktion nicht auf den Netzwerkkernschnittstellen (intern) zu aktivieren.
Derzeit wird auf PTX-Plattformen durch die Konfiguration der BGP-Flussspezifikation (flowspec) ein impliziter Filter zum Festlegen der VRF-Instanz erstellt. Auf PTX-Plattformen geht die Filtersuche der Quell-/Ziel-IP-Suche voraus. Daher erfolgt die Suche nach Quell- und Ziel-IPs im Kontext der VRF-Instanz.
Wenn derzeit auf PTX-Plattformen Unicast Reverse Path Forwrading (uRPF) und filterbasierte Weiterleitung (FBF) auf einer Schnittstelle konfiguriert sind, besteht das Standardverhalten darin, dass die Quell-IP-Adresssuche eines eingehenden Pakets von uRPF in der Routing-Instanz erfolgt, auf die die Schnittstelle verweist, und die Ziel-IP-Adresssuche in der durch den FBF-Filter angegebenen Routing-Instanz. Sie können set forwarding-options no-rpf-fbf-handling dieses Standardverhalten überschreiben, und wenn Sie diese Konfiguration anwenden, wird die Quell-IP-Adresssuche eines eingehenden Pakets von uRPF in der vom FBF-Filter angegebenen Routing-Instanz durchgeführt.
Unicast RPF und Standardroute
Wenn die aktive Route nicht aus den Routen in einer Routing-Tabelle ausgewählt werden kann, wählt der Router eine Standardroute aus. Eine Standardroute entspricht einer IP-Adresse von 0.0.0.0/0. Wenn Sie eine Standardroute konfigurieren und Unicast-RPF auf einer Schnittstelle konfigurieren, die von der Standardroute verwendet wird, verhält sich Unicast-RPF anders als sonst.
Um festzustellen, ob die Standardroute eine Schnittstelle verwendet, geben Sie den show route folgenden Befehl ein:
user@host> show route address
address ist die Next-Hop-Adresse der konfigurierten Standardroute. Die Standardroute verwendet die Schnittstellen, die in der show route Ausgabe des Befehls angezeigt werden.
In den folgenden Abschnitten wird beschrieben, wie sich Unicast-RPF verhält, wenn eine Standardroute eine Schnittstelle verwendet und wenn eine Standardroute keine Schnittstelle verwendet:
- Unicast RPF-Verhalten mit einer Standardroute
- Unicast RPF-Verhalten ohne Standardroute
- Unicast RPF mit Routing-Asymmetrie
Unicast RPF-Verhalten mit einer Standardroute
Auf allen Routern mit Ausnahme derjenigen mit MPCs und dem MX80-Router verhält sich Unicast-RPF wie folgt, wenn Sie eine Standardroute konfigurieren, die eine mit Unicast-RPF konfigurierte Schnittstelle verwendet:
Loose-Modus: Alle Pakete werden automatisch akzeptiert. Aus diesem Grund wird empfohlen, den losen Unicast-RPF-Modus nicht auf Schnittstellen zu konfigurieren, die von der Standardroute verwendet werden.
Strikter Modus: Das Paket wird akzeptiert, wenn die Quelladresse des Pakets mit einer der Routen (entweder standardmäßig oder erlernt) übereinstimmt, die über die Schnittstelle erreichbar sind. Beachten Sie, dass Routen mehrere Ziele zugeordnet haben können. Wenn also eines der Ziele mit der eingehenden Schnittstelle des Pakets übereinstimmt, wird das Paket akzeptiert.
Auf allen Routern mit MPCs und dem MX80-Router verhält sich Unicast-RPF wie folgt, wenn Sie eine Standardroute konfigurieren, die eine mit Unicast-RPF konfigurierte Schnittstelle verwendet:
Loose-Modus: Alle Pakete mit Ausnahme der Pakete, deren Quelle von der Standardroute gelernt wird, werden akzeptiert. Alle Pakete, deren Quelle von der Standardroute gelernt wird, werden bei der Packet Forwarding Engine verworfen. Die Standardroute wird so behandelt, als ob die Route nicht existiert.
Strikter Modus: Das Paket wird akzeptiert, wenn die Quelladresse des Pakets mit einer der Routen (entweder standardmäßig oder erlernt) übereinstimmt, die über die Schnittstelle erreichbar sind. Beachten Sie, dass Routen mehrere Ziele zugeordnet haben können. Wenn also eines der Ziele mit der eingehenden Schnittstelle des Pakets übereinstimmt, wird das Paket akzeptiert.
Auf allen Routern wird das Paket nicht akzeptiert, wenn eine der folgenden Bedingungen zutrifft:
Die Quelladresse des Pakets stimmt nicht mit einem Präfix in der Routing-Tabelle überein.
Die Schnittstelle erwartet nicht, ein Paket mit diesem Quelladresspräfix zu empfangen.
Unicast RPF-Verhalten ohne Standardroute
Wenn Sie keine Standardroute konfigurieren oder wenn die Standardroute keine mit Unicast-RPF konfigurierte Schnittstelle verwendet, verhält sich Unicast-RPF wie unter Konfigurieren des strikten Unicast-RPF-Modus und Konfigurieren des losen Unicast-RPF-Modus beschrieben. Zusammenfassend lässt sich sagen, dass sich Unicast-RPF ohne Standardroute wie folgt verhält:
Strenger Modus: Das Paket wird nicht akzeptiert, wenn eine der folgenden Bedingungen zutrifft:
Das Paket hat eine Quelladresse, die nicht mit einem Präfix in der Routing-Tabelle übereinstimmt.
Die Schnittstelle erwartet nicht, ein Paket mit diesem Quelladresspräfix zu empfangen.
Loose-Modus: Das Paket wird nicht akzeptiert, wenn das Paket eine Quelladresse hat, die nicht mit einem Präfix in der Routing-Tabelle übereinstimmt.
Unicast RPF mit Routing-Asymmetrie
Im Allgemeinen wird empfohlen, Unicast-RPF nicht auf netzwerkinternen Schnittstellen zu aktivieren, da interne Schnittstellen wahrscheinlich Routing-Asymmetrien aufweisen. Routing-Asymmetrie bedeutet, dass der ausgehende und der zurückgehende Pfad eines Pakets unterschiedlich sind. Router im Kern des Netzwerks weisen mit höherer Wahrscheinlichkeit asymmetrische Reverse-Pfade auf als Router am Kunden- oder Provider-Edge. Abbildung 1 zeigt Unicast-RPF in einer Umgebung mit Routing-Asymmetrie.
Wenn Sie in Abbildung 1 Unicast RPF auf der Schnittstelle so-0/0/0aktivieren, wird der für Router A bestimmte Datenverkehr nicht abgelehnt. Wenn Sie Unicast RPF auf der Schnittstelle so-1/0/1aktivieren, wird der Datenverkehr von Router A abgelehnt.
Wenn Sie Unicast-RPF in einer asymmetrischen Routing-Umgebung aktivieren müssen, können Sie Fehlerfilter verwenden, damit der Router eingehende Pakete akzeptieren kann, von denen bekannt ist, dass sie über bestimmte Pfade ankommen. Ein Beispiel für einen Fehlerfilter, der Pakete mit einer bestimmten Quell- und Zieladresse akzeptiert, finden Sie unter Konfigurieren von Unicast-RPF.
Konfigurieren des strikten Unicast-RPF-Modus
Im strikten Modus prüft Unicast-RPF, ob das eingehende Paket eine Quelladresse hat, die mit einem Präfix in der Routing-Tabelle übereinstimmt, und ob die Schnittstelle erwartet, ein Paket mit diesem Quelladresspräfix zu erhalten.
Wenn der aktive Pfadmodus konfiguriert ist, wird eine ausgehende Schnittstellenliste nur der aktiven Route erstellt. Jedes Paket, das über diese Schnittstellen eingeht, gilt als gültig und wird verarbeitet.
Wenn das eingehende Paket die Unicast-RPF-Prüfung nicht besteht, wird das Paket von der Schnittstelle nicht akzeptiert. Wenn ein Paket auf einer Schnittstelle nicht akzeptiert wird, zählt Unicast RPF das Paket und sendet es an einen optionalen Fehlerfilter. Wenn der Fehlerfilter nicht konfiguriert ist, wird das Paket standardmäßig im Hintergrund verworfen.
Mit dem optionalen Fehlerfilter können Sie einen Filter auf Pakete anwenden, die die Unicast-RPF-Prüfung nicht bestehen. Sie können den Fehlerfilter so definieren, dass er einen beliebigen Filtervorgang ausführt, einschließlich Akzeptieren, Ablehnen, Protokollieren, Sampling oder Überwachung.
Wenn Unicast-RPF auf einer Schnittstelle aktiviert ist, werden BOOTP-Pakete (Bootstrap Protocol) und DHCP-Pakete (Dynamic Host Configuration Protocol) auf der Schnittstelle nicht akzeptiert. Damit die Schnittstelle BOOTP-Pakete und DHCP-Pakete akzeptieren kann, müssen Sie einen Fehlerfilter anwenden, der alle Pakete mit einer Quelladresse und einer Zieladresse von 0.0.0.0 akzeptiert. Ein Konfigurationsbeispiel finden Sie unter Konfigurieren von 255.255.255.255. Unicast-RPF.
Weitere Informationen zum Definieren von Fehlerfiltern finden Sie im Benutzerhandbuch für Routing-Richtlinien, Firewall-Filter und Datenverkehrs-Policer.
Um Unicast-RPF zu konfigurieren, fügen Sie die rpf-check folgende Anweisung ein:
rpf-check <fail-filter filter-name>;
Sie können diese Anweisung auf den folgenden Hierarchieebenen einschließen:
[edit interfaces interface-name unit logical-unit-number family (inet | inet6)][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family (inet | inet6)]
Die Verwendung von Unicast-RPF kann mehrere Folgen haben, wenn sie mit Datenverkehrsfiltern implementiert wird:
RPF-Fehlerfilter werden nach Eingabefiltern und vor Ausgabefiltern ausgewertet.
Wenn Sie einen Filterzähler für Pakete konfigurieren, die von einem Eingabefilter verworfen werden, und Sie die Gesamtzahl der verworfenen Pakete wissen möchten, müssen Sie auch einen Filterzähler für Pakete konfigurieren, die von der RPF-Prüfung verworfen werden.
Um Pakete zu zählen, die die RPF-Prüfung nicht bestehen und vom RPF-Fehlerfilter akzeptiert werden, müssen Sie einen Filterzähler konfigurieren.
Wenn ein Eingabefilter Pakete an eine andere Stelle als die Routing-Tabellen inet.0 oder inet6.0 weiterleitet, wird die Unicast-RPF-Prüfung nicht durchgeführt.
Wenn ein Eingabefilter Pakete an eine andere Stelle als die Routing-Instanz weiterleitet, für die die Eingabeschnittstelle konfiguriert ist, wird die Unicast-RPF-Prüfung nicht durchgeführt.
In der oben genannten Aufzählung gelten der erste, vorletzte und letzte Punkt nicht für MX-Plattformen, da uRPF auf MX-Plattformen vor der Ausführung von Firewall-Filtern verarbeitet wird. Die uRPF-Prüfung wird für die Prüfung der Quelladresse verarbeitet, bevor FBF-Aktionen (filterbasierte Weiterleitung) für statische und dynamische Schnittstellen aktiviert werden. Dies gilt sowohl für die IPv4- als auch für die IPv6-Familie.
Auf Routern der ACX- und MX-Serie:
Der uRPF-Fehlerfilter wird auf ACX1000, ACX2000, ACX4000 und ACX500, ACX5048 und ACX5096 unterstützt. Der Filter wird auf ACX5448, ACX710, ACX7100-32C, ACX7100-48, ACX7509 und allen Routern der ACX7000 Serie nicht unterstützt.
- Der uRPF-Fehlerfilter kann keine Pakete abgleichen, die bei der Eingangsportprüfung fehlgeschlagen sind (strikter Modus).
- Der uRPF-Fehlerfilter kann Pakete finden, die die Quell-IP-Suche nicht bestehen, aber keine Pakete, die die Prüfung der Eingabeschnittstelle nicht bestehen (strikter Modus).
- Der uRPF-Fehlerfilter gilt nur für schnittstellenspezifische Instanzen des Firewall-Filters.
- Die uRPF-Fehlerfilter unterstützen keine Ablehnungs- und Routing-Instanzaktionen.
- Die Option possible-paths wird in ACX7000 Serie nicht unterstützt.
Konfigurieren Sie den strikten Unicast-RPF-Modus und wenden Sie einen Fehlerfilter an, der es der Schnittstelle ermöglicht, BOOTP-Pakete und DHCP-Pakete zu akzeptieren. Der Filter akzeptiert alle Pakete mit einer Quelladresse von 0.0.0.0 und einer Zieladresse von 255.255.255.255.
So konfigurieren Sie Unicast-RPF im strikten Modus:
Konfigurieren des losen Unicast-RPF-Modus
Standardmäßig verwendet Unicast RPF den strikten Modus. Der lose Unicast-RPF-Modus ähnelt dem strengen RPF-Modus Unicast und hat die gleichen Konfigurationseinschränkungen. Die einzige Prüfung im losen Modus ist, ob das Paket eine Quelladresse mit einem entsprechenden Präfix in der Routing-Tabelle hat. Der lose Modus prüft nicht, ob die Schnittstelle den Empfang eines Pakets mit einem bestimmten Quelladresspräfix erwartet. Wenn kein entsprechendes Präfix gefunden wird, akzeptiert der Unicast-RPF-Loose-Modus das Paket nicht. Wie im strikten Modus zählt der lose Modus das fehlgeschlagene Paket und leitet es optional an einen Fehlerfilter weiter, der das Paket entweder akzeptiert, ablehnt, protokolliert, Stichproben nimmt oder überwacht.
Wenn der Modus "Machbare Pfade" konfiguriert ist, wird eine Liste der aktiven und inaktiven Routen für ausgehende Schnittstellen erstellt. Jedes Paket, das über diese Schnittstellen eingeht, gilt als gültig und wird verarbeitet.
Um den losen Modus von Unicast RPF zu konfigurieren, schließen Sie die Option ein mode:
Konfigurieren des losen Unicast-RPF-Modus mit der Möglichkeit, Pakete zu verwerfen
Der lose Unicast-RPF-Modus kann Pakete verwerfen, wobei die Quelladresse auf die Discard-Schnittstelle verweist. Die Verwendung des Unicast-RPF-Loose-Modus bietet zusammen mit der Remote Triggered Null-Route-Filterung eine effiziente Möglichkeit, Pakete von bekannten Angriffsquellen zu verwerfen. BGP-Richtlinien in Edge-Routern stellen sicher, dass der nächste Hop von Paketen mit nicht vertrauenswürdigen Quelladressen auf eine Discard-Route festgelegt wird. Wenn ein Paket mit einer nicht vertrauenswürdigen Quelladresse beim Router eintrifft, führt Unicast RPF eine Routensuche der Quelladresse durch. Da die Quelladressroute auf einen verworfenen nächsten Hop verweist, wird das Paket verworfen und ein Zähler wird erhöht. Diese Funktion wird sowohl von IPv4- (inet) als auch von IPv6- (inet6) Adressfamilien unterstützt.
Um den losen Modus von Unicast-RPF mit der Möglichkeit zum Verwerfen von Paketen zu konfigurieren, fügen Sie die rpf-loose-mode-discard family (inet | inet6) Anweisung auf Hierarchieebene [edit forwarding-options] ein:
rpf-loose-mode-discard {
family {
inet;
}
}
In diesem Beispiel ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Konfigurieren Sie den losen Unicast-RPF-Modus und wenden Sie einen Fehlerfilter an, der es der Schnittstelle ermöglicht, BOOTP-Pakete und DHCP-Pakete zu akzeptieren. Der Filter akzeptiert alle Pakete mit einer Quelladresse von 0.0.0.0 und einer Zieladresse von 255.255.255.255.
So konfigurieren Sie den losen Unicast-RPF-Modus mit der Möglichkeit, Pakete zu verwerfen:
Unicast RPF auf einem VPN konfigurieren
Sie können Unicast-RPF auf einer VPN-Schnittstelle konfigurieren, indem Sie Unicast-RPF auf der Schnittstelle aktivieren und die interface Anweisung auf Hierarchieebene [edit routing-instances routing-instance-name] einschließen.
Sie können Unicast-RPF nur auf den Schnittstellen konfigurieren, die Sie in der Routing-Instanz angeben. Das bedeutet Folgendes:
Für Layer-3-VPNs wird Unicast-RPF auf der CE-Router-Schnittstelle unterstützt.
Unicast RPF wird auf Core-Schnittstellen nicht unterstützt.
Für virtuelle Router-Routing-Instanzen wird Unicast-RPF auf allen Schnittstellen unterstützt, die Sie in der Routing-Instanz angeben.
Wenn ein Eingabefilter Pakete an eine andere Stelle als die Routing-Instanz weiterleitet, für die die Eingabeschnittstelle konfiguriert ist, wird die Unicast-RPF-Prüfung nicht durchgeführt.
Konfigurieren Sie Unicast-RPF auf einer Layer-3-VPN-Schnittstelle:
[edit interfaces]
so-0/0/0 {
unit 0 {
family inet {
rpf-check;
}
}
}
[edit routing-instance]
VPN-A {
interface so-0/0/0.0;
}
Konfigurieren von Unicast RPF
Konfigurieren Sie den strikten Unicast-RPF-Modus und wenden Sie einen Fehlerfilter an, der es der Schnittstelle ermöglicht, BOOTP-Pakete und DHCP-Pakete zu akzeptieren. Der Filter akzeptiert alle Pakete mit einer Quelladresse von 0.0.0.0 und einer Zieladresse von 255.255.255.255.
[edit firewall]
filter rpf-special-case-dhcp-bootp {
term allow-dhcp-bootp {
from {
source-address {
0.0.0.0/32;
}
address {
255.255.255.255/32;
}
}
then {
count rpf-dhcp-bootp-traffic;
accept;
}
}
term default {
then {
log;
reject;
}
}
}
[edit]
interfaces {
so-0/0/0 {
unit 0 {
family inet {
rpf-check fail-filter rpf-special-case-dhcp-bootp;
}
}
}
}
Siehe auch
Plattformspezifisches Verhalten
Verwenden Sie den Feature-Explorer , um die Plattform- und Release-Unterstützung für bestimmte Funktionen zu bestätigen.
Verwenden Sie die folgende Tabelle, um das plattformspezifische Verhalten für Ihre Plattform zu überprüfen:
Plattform |
Unterschied |
|---|---|
Router der ACX-Serie auf Junos OS Evolved |
Wenn die Quell-IP über eine ECMP-Gruppe aufgelöst wird, arbeitet RPF im losen Modus, indem die strikte uRPF-Einstellung der Schnittstelle, an der das Paket eingedrungen ist, überschrieben wird. |