Einschränken von VPN-Routen mithilfe der Routenauflösung
In diesem Thema wird das Einschränken von VPN-Routen durch Konfigurieren der Routenauflösung auf PE-Routern und Routenreflektoren sowie durch Konfigurieren des PE-Routers so beschrieben, dass er eine begrenzte Anzahl von Präfixen von einem CE-Router akzeptiert.
Beispiel: Konfigurieren der Routenauflösung auf PE-Routern
In diesem Beispiel wird gezeigt, wie eine Routing-Tabelle so konfiguriert wird, dass Routen aus bestimmten Routing-Tabellen akzeptiert werden. Außerdem wird gezeigt, wie eine Routing-Tabelle so konfiguriert wird, dass bestimmte Importrichtlinien verwendet werden, um eine Routenauflösungstabelle zum Auflösen von Routen zu erstellen.
Anforderungen
Bevor Sie beginnen, konfigurieren Sie ein Layer 3-VPN, wie in einem der folgenden Beispiele gezeigt:
Überblick
Eine Methode zum Erreichen einer IPv4-Routenskalierung besteht darin, die Art und Weise zu ändern, wie BGP-Routen zu den Weiterleitungstabellen hinzugefügt werden. Standardmäßig fügt der Routing-Protokoll-Prozess (rpd) alle Routen in inet.0 und inet.3 zur Auflösungsstruktur hinzu. Normalerweise umfasst dies die aufgelösten IPv4-BGP-Routen, die den Speicherverbrauch erhöhen können. Um eine bessere Skalierung für IPv4-Routen zu erzielen, wird in diesem Beispiel gezeigt, wie das Junos OS so konfiguriert wird, dass aufgelöste BGP-Routen nicht zur Auflösungsstruktur hinzugefügt werden. Dies wird erreicht, indem eine Importrichtlinie auf die Routenauflösungstabelle angewendet wird, die sicherstellt, dass keine BGP-Routen von inet.0 akzeptiert werden.
Sie würden diese Konfiguration auf alle Provider-Edge-Router (PE) im Layer 3-VPN anwenden.
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 erforderlichen Details, damit sie Ihrer Netzwerkkonfiguration entsprechen, und kopieren Sie dann die Befehle, und fügen Sie sie dann in die CLI auf der [edit] Hierarchieebene ein.
PE-Router
set policy-options policy-statement protocol-bgp from protocol bgp set policy-options policy-statement protocol-bgp then reject set routing-options resolution rib inet.0 import protocol-bgp
Verfahren
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 CLI-Benutzerhandbuch.
So konfigurieren Sie die Routenauflösung:
Konfigurieren Sie die Routing-Richtlinie.
[edit policy-options policy-statement protocol-bgp] user@PE# set from protocol bgp user@PE# set then reject
Wenden Sie die Routing-Richtlinie an.
[edit routing-options resolution] user@PE# set rib inet.0 import protocol-bgp
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit] user@PE# commit
Befund
Bestätigen Sie Ihre Konfiguration, indem Sie die show policy-options Befehle und show routing-options eingeben.
user@PE# show policy-options
policy-statement protocol-bgp {
from protocol bgp;
then reject;
}
user@PE# show routing-options
resolution {
rib inet.0 {
import protocol-bgp;
}
}
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert, indem Sie die folgenden Befehle ausführen:
Beispiel: Konfigurieren der Routenauflösung auf Routenreflektoren
In diesem Beispiel wird gezeigt, wie das Standardauflösungsverhalten eines Routenreflektors (RR) so geändert wird, dass für die Auflösung des nächsten Hops inet.0 anstelle von inet.3 verwendet wird.
Anforderungen
Bevor Sie beginnen, konfigurieren Sie ein Layer 3-VPN, wie in einem der folgenden Beispiele gezeigt:
Überblick
Ein Szenario für die Routenauflösung ist, wenn Sie einen Label-Switched-Pfad von einem RR zu einem Provider-Edge-Router (PE) konfiguriert haben oder wenn die PE-Router nur ein Peering mit dem RR betreiben. Dies kann dazu führen, dass Routen ausgeblendet werden. Um dieses Problem zu beheben, können Sie das Standardauflösungsverhalten so ändern, dass inet.0 für die Auflösung des nächsten Hops verwendet wird.
Standardmäßig speichert die Routing-Tabelle bgp.l3vpn.0 alle VPN-IPv4-Unicast-Routen. Diese Tabelle ist auf jedem Router vorhanden, auf dem Layer 3-VPNs konfiguriert sind, einschließlich PE-Routern und RRs.
Wenn ein Layer-3-VPN-Router eine Route von einem anderen Layer-3-VPN-Router empfängt, platziert er die Route in seiner Routing-Tabelle bgp.l3vpn.0. Die Route wird anhand der Informationen in der Routing-Tabelle inet.3 aufgelöst. Das bedeutet, dass, wenn BGP eine Route empfängt, die für die Tabelle bgp.l3vpn.0 bestimmt ist, die Weiterleitung nexthop des Protokolls nexthop (empfangene BGP nexthop) rekursiv aus der Tabelle inet.3 bestimmt wird. Die resultierende Route wird in das IPv4-Format konvertiert und an alle routing-instance-name.inet.0-Routingtabellen verteilt, wenn sie mit der VRF-Importrichtlinie übereinstimmt.
Auf einem RR ohne angeschlossene CE-Router (Customer Edge) bewirkt die resolution rib bgp.l3vpn.0 resolution-ribs inet.0 Konfiguration, dass Routen in bgp.l3vpn.0 die Informationen in inet.0 anstelle von inet.3 verwenden, um Routen aufzulösen. Sie sollten diese Konfiguration nicht auf einem Router verwenden, der direkt an einen CE-Router angeschlossen ist. Mit anderen Worten: Nicht auf einem PE-Router verwenden resolution rib bgp.l3vpn.0 resolution-ribs inet.0 .
Wenn Sie möchten, dass sowohl inet.0 als auch inet.3 verwendet werden, müssen Sie beide konfigurieren, wie in set resolution rib bgp.l3vpn.0 resolution-ribs [inet.0 inet.3].
In diesem Beispiel beschränkt die Richtlinie POLICY-limit-resolve-routes die Routenauflösung auf Routen, die über IS-IS gelernt wurden. Wenn Sie die Importrichtlinie weglassen, werden alle Routen in inet.0 ausgewertet und möglicherweise verwendet, um den nächsten Hop des Protokolls aufzulösen. Wenn Sie nicht für alle Einträge auflösen möchten, verwenden Sie eine Richtlinie, um aus den Tabellen, die für die Routenauflösung verwendet werden, nach einer Teilmenge der Routen zu filtern.
Ein gängiges Beispiel ist, wenn Sie alle Routen in inet.0 auflösen, mit Ausnahme der Standardroute (0/0).
Obwohl die import Anweisung in dieser Konfiguration verwendet wird, werden keine Routen importiert oder kopiert. Vielmehr schränkt die import policy-name Konfiguration die Menge der möglichen Routen ein, die für die Routenauflösung in Betracht gezogen werden können.
Die resolution rib bgp.l3vpn.0 resolution-ribs inet.0 Konfiguration ist nützlich, wenn sich kein BGP-RR im Weiterleitungspfad befindet. Mit anderen Worten, es gibt keine Eingangs-LSPs am RR. Betrachten Sie den Fall, in dem RSVP das Label-Signalisierungsprotokoll ist und RSVP an den Edge-Routern Full-Mesh konfiguriert ist. Der RR muss in der Lage sein, die Routen widerzuspiegeln. Zu diesem Zweck wird von BGP erwartet, dass es eine Überprüfung der Routenauflösbarkeit durchführt. Wenn eine Layer-3-VPN-Route empfangen wird, der Nexthop jedoch nicht in der inet.3-Tabelle enthalten ist, kann die Route nicht aufgelöst werden. Da sich der Router nicht im Weiterleitungspfad befindet, besteht eine effektive Problemumgehung darin, die Informationen in inet.0 zu verwenden. Die Metrikinformationen in inet.0 sind nützlich für die Auswahl der besten Route, auch wenn sie nicht für die Weiterleitung verwendet werden können.
Ein alternativer Ansatz besteht darin, sicherzustellen, dass LSPs für den RR bereitgestellt werden. Dies geschieht automatisch, wenn Sie LDP konfigurieren.
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 erforderlichen Details, damit sie Ihrer Netzwerkkonfiguration entsprechen, und kopieren Sie dann die Befehle, und fügen Sie sie dann in die CLI auf der [edit] Hierarchieebene ein.
Routenreflektor
set routing-options resolution rib bgp.l3vpn.0 resolution-ribs inet.0 set routing-options resolution rib inet.0 import POLICY-limit-resolve-routes set policy-options policy-statement POLICY-limit-resolve-routes term isis from protocol isis set policy-options policy-statement POLICY-limit-resolve-routes term isis then accept set policy-options policy-statement POLICY-limit-resolve-routes then reject
Verfahren
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 CLI-Benutzerhandbuch.
So konfigurieren Sie die Routenauflösung:
Konfigurieren Sie bgp.l3vpn.0 so, dass die Informationen in inet.0 anstelle von inet.3 zum Auflösen von Routen verwendet werden.
[edit routing-options resolution rib bgp.l3vpn.0] user@RR# set resolution-ribs inet.0
(Optional) Konfigurieren Sie die Routing-Richtlinie.
[edit policy-options policy-statement POLICY-limit-resolve-routes] user@RR# set term isis from protocol isis user@RR# set term isis then accept user@RR# set then reject
(Optional) Wenden Sie die Richtlinie an.
[edit routing-options resolution rib inet.0] user@RR# set import POLICY-limit-resolve-routes
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit] user@RR# commit
Befund
Bestätigen Sie Ihre Konfiguration, indem Sie die show policy-options Befehle und show routing-options eingeben.
user@RR# show policy-options
policy-statement POLICY-limit-resolve-routes {
term isis {
from protocol isis;
then accept;
}
then reject;
}
user@RR# show routing-options
resolution {
rib bgp.l3vpn.0 {
resolution-ribs inet.0;
}
rib inet.0 {
import POLICY-limit-resolve-routes;
}
}
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert, indem Sie die folgenden Befehle ausführen:
Begrenzung der Anzahl der Pfade und Präfixe, die von CE-Routern in Layer 3-VPNs akzeptiert werden
Sie können eine Höchstgrenze für die Anzahl der Präfixe und Pfade konfigurieren, die in den Routingtabellen installiert werden können. Durch die Verwendung von Präfix- und Pfadbeschränkungen können Sie die Anzahl der Präfixe und Pfade begrenzen, die Sie von einem CE-Router in einem VPN empfangen. Präfix- und Pfadbeschränkungen gelten nur für dynamische Routing-Protokolle und nicht für statische Routen oder Schnittstellenrouten.
Um die Anzahl der Pfade zu begrenzen, die von einem PE-Router von einem CE-Router akzeptiert werden, fügen Sie die maximum-paths Anweisung ein:
maximum-paths path-limit <log-interval interval | log-only | threshold percentage>;
Eine Liste der Hierarchieebenen, auf denen Sie diese Anweisung konfigurieren können, finden Sie im Abschnitt Anweisungszusammenfassung für diese Anweisung.
Geben Sie die Nur-Protokoll-Option an, um nur Warnmeldungen zu generieren (ein Empfehlungsgrenzwert). Geben Sie die Schwellenwertoption an, um Warnungen zu generieren, bevor der Grenzwert erreicht wird. Geben Sie die Option log-interval an, um das minimale Zeitintervall zwischen Protokollmeldungen zu konfigurieren.
Es gibt zwei Modi für Routenbeschränkungen: beratend und obligatorisch. Ein Empfehlungsgrenzwert löst Warnungen aus. Ein obligatorisches Limit lehnt zusätzliche Routen ab, nachdem das Limit erreicht wurde.
Die Anwendung eines Routenlimits kann zu einem unvorhersehbaren dynamischen Routing-Protokollverhalten führen. Wenn z. B. der Grenzwert erreicht ist und Routen abgelehnt werden, installiert BGP die abgelehnten Routen möglicherweise nicht neu, nachdem die Anzahl der Routen wieder unter den Grenzwert gefallen ist. BGP-Sitzungen müssen möglicherweise gelöscht werden.
Um die Anzahl der Präfixe zu begrenzen, die von einem PE-Router von einem CE-Router akzeptiert werden, fügen Sie die maximum-prefixes Anweisung ein:
maximum-prefixes prefix-limit <log-interval interval | log-only | threshold percentage>;
Eine Liste der Hierarchieebenen, auf denen Sie diese Anweisung konfigurieren können, finden Sie im Abschnitt Anweisungszusammenfassung für diese Anweisung.
Es gibt zwei Modi für Routenbeschränkungen: beratend und obligatorisch. Ein Empfehlungsgrenzwert löst Warnungen aus. Ein obligatorisches Limit lehnt zusätzliche Routen ab, nachdem das Limit erreicht wurde.
Die Anwendung eines Routenlimits kann zu einem unvorhersehbaren dynamischen Routing-Protokollverhalten führen. Wenn z. B. der Grenzwert erreicht ist und Routen abgelehnt werden, installiert BGP die abgelehnten Routen möglicherweise nicht neu, nachdem die Anzahl der Routen wieder unter den Grenzwert gefallen ist. BGP-Sitzungen müssen möglicherweise gelöscht werden.
Ein obligatorischer Pfad- oder Präfixgrenzwert löst nicht nur eine Warnmeldung aus, sondern lehnt auch alle zusätzlichen Pfade oder Präfixe ab, sobald der Grenzwert erreicht ist.
Das Festlegen eines Pfad- oder Präfixgrenzwerts kann zu einem unvorhersehbaren dynamischen Routingprotokollverhalten führen.
Sie können auch die folgenden Optionen sowohl für die Maximum-Paths maximum-prefixes als auch für die Anweisungen konfigurieren:
log-interval: Geben Sie das Intervall an, in dem Protokollmeldungen gesendet werden. Mit dieser Option werden nur Warnmeldungen generiert (ein empfohlener Grenzwert).
Geben Sie die Option log-interval an, um das minimale Zeitintervall zwischen Protokollmeldungen zu konfigurieren.
Nur protokollieren: Es werden nur Warnmeldungen generiert. Die Anzahl der Pfade oder Präfixe, die in den Routing-Tabellen gespeichert sind, ist nicht begrenzt.
Schwellenwert: Es werden Warnmeldungen generiert, nachdem der angegebene Prozentsatz der maximalen Pfade oder Präfixe erreicht wurde.