Begrenzung von VPN-Routen mit Routenauflösung
In diesem Thema wird die Begrenzung von VPN-Routen beschrieben, indem die Routenauflösung auf PE-Routern und Routenreflektoren konfiguriert wird und der PE-Router so konfiguriert wird, dass eine begrenzte Anzahl von Präfixen von einem CE-Router akzeptiert wird.
Beispiel: Konfigurieren der Routenauflösung auf PE-Routern
In diesem Beispiel wird gezeigt, wie eine Routingtabelle so konfiguriert wird, dass Routen aus bestimmten Routingtabellen akzeptiert werden. Außerdem wird gezeigt, wie eine Routingtabelle so konfiguriert werden kann, dass spezifische Importrichtlinien zum Erstellen einer Tabelle zur Routenauflösung zum Auflösen von Routen verwendet werden.
Anforderungen
Konfigurieren Sie ein Layer-3-VPN, wie in einem der folgenden Beispiele dargestellt:
Übersicht
Eine Methode zum Erreichen der 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 Protocol Process (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 erreichen, zeigt dieses Beispiel, wie das Junos OS so konfiguriert wird, dass aufgelöste BGP-Routen nicht der Auflösungsstruktur hinzugefügt werden. Dies wird durch die Anwendung einer Importrichtlinie in der Routenauflösungstabelle erreicht, die sicherstellt, dass sie keine BGP-Routen von inet.0 akzeptiert.
Sie würden diese Konfiguration auf alle Provider Edge (PE)-Router in 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 Details, die für die Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie auf Hierarchieebene in die [edit]
CLI 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-Verfahren
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. 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 die Konfiguration des Geräts durchgeführt haben, bestätigen Sie die Konfiguration.
[edit] user@PE# commit
Ergebnisse
Bestätigen Sie Ihre Konfiguration durch Ausgabe der show policy-options
and-Befehle show routing-options
.
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; } }
Überprüfung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert, indem Sie die folgenden Befehle ausführen:
Beispiel: Konfigurieren der Routenauflösung auf Routenreflektoren
Dieses Beispiel zeigt, wie Sie das Standardauflösungsverhalten auf einem Route Reflector (RR) ändern, um inet.0 für die Next-Hop-Auflösung anstelle von inet.3 zu verwenden.
Anforderungen
Konfigurieren Sie ein Layer-3-VPN, wie in einem der folgenden Beispiele dargestellt:
Übersicht
Ein Szenario für die Routenauflösung ist, wenn Sie einen labelvermittelten Pfad von einem RR zu einem Provider-Edge-Router (PE) konfigurieren lassen oder wenn die PE-Router nur mit der RR peeren. Dies kann dazu führen, dass Routen ausgeblendet werden. Um dieses Problem zu beheben, können Sie das Standardauflösungsverhalten ändern, um inet.0 für die Next-Hop-Auflösung zu verwenden.
Standardmäßig speichert die Routingtabelle bgp.l3vpn.0 alle VPN-IPv4-Unicast-Routen. Diese Tabelle ist auf allen Routern vorhanden, für die Layer-3-VPNs konfiguriert sind, einschließlich PE-Router und RRs.
Wenn ein Layer-3-VPN-Router eine Route von einem anderen Layer-3-VPN-Router empfängt, legt er die Route in seine bgp.l3vpn.0-Routingtabelle. Die Route wird mithilfe der Informationen in der Routingtabelle inet.3 aufgelöst. Das bedeutet, dass, wenn BGP eine Route erhält, die für die Tabelle bgp.l3vpn.0 bestimmt ist, das Protokoll nexthop (empfangenes BGP nexthop) seine Weiterleitung nexthop rekursiv aus der tabelle inet.3 bestimmt. Die resultierende Route wird in das IPv4-Format konvertiert und an alle routing-instance-name.inet.0-Routingtabellen neu verteilt, wenn sie mit der VRF-Importrichtlinie übereinstimmt.
Auf einer RR ohne angeschlossene Customer Edge (CE)-Router 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 zur Auflösung von Routen verwenden. Sie sollten diese Konfiguration nicht auf einem Router verwenden, der direkt an einen CE-Router angeschlossen ist. Mit anderen Worten, verwenden Sie nicht resolution rib bgp.l3vpn.0 resolution-ribs inet.0
auf einem PE-Router.
Wenn Sie sowohl inet.0 als auch inet.3 verwenden möchten, 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 nur Routen, die über IS-IS gelernt werden. Wenn Sie die Importrichtlinie auslassen, werden alle Routen in inet.0 ausgewertet und möglicherweise zur Auflösung des Protokolls Next Hop verwendet. Wenn Sie nicht für alle Einträge auflösen möchten, verwenden Sie eine Richtlinie zum Filtern nach einer Teilmenge der Routen aus den Tabellen, die für die Routenauflösung verwendet werden.
Ein gemeinsames Beispiel ist, wenn Sie alle Routen in inet.0 außer der Standardroute (0/0) auflösen.
Obwohl die import
Anweisung in dieser Konfiguration verwendet wird, werden keine Routen importiert oder kopiert. Vielmehr beschränkt die import policy-name
Konfiguration den Satz möglicher Routen, die für die Routenauflösung berücksichtigt werden können.
Die resolution rib bgp.l3vpn.0 resolution-ribs inet.0
Konfiguration ist nützlich, wenn sich ein BGP RR nicht im Weiterleitungspfad befindet. Mit anderen Worten, es gibt keine Eingangs-LSPs an der RR. Betrachten Sie den Fall, in dem RSVP das Label Signaling Protocol ist und RSVP full mesh an den Edge-Routern konfiguriert ist. Die RR muss in der Lage sein, die Routen zu reflektieren. Dazu wird von BGP eine Routenauflösungsprüfung erwartet. Wenn eine Layer-3-VPN-Route empfangen wird, die nächste hop sich jedoch nicht in der Tabelle inet.3 befindet, 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 für die Auswahl der besten Route nützlich, obwohl sie nicht für die Weiterleitung verwendet werden können.
Ein alternativer Ansatz besteht darin, sicherzustellen, dass LSPs für die 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 Details, die für die Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie auf Hierarchieebene in die [edit]
CLI 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-Verfahren
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. 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, um die Informationen in inet.0 anstelle von inet.3 zum Auflösen von Routen zu verwenden.
[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 die Konfiguration des Geräts durchgeführt haben, bestätigen Sie die Konfiguration.
[edit] user@RR# commit
Ergebnisse
Bestätigen Sie Ihre Konfiguration durch Ausgabe der show policy-options
and-Befehle show routing-options
.
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; } }
Überprüfung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert, indem Sie die folgenden Befehle ausführen:
Begrenzung der Anzahl der von CE-Routern in Layer-3-VPNs akzeptierten Pfade und Präfixe
Sie können eine maximale Obergrenze für die Anzahl der Präfixe und Pfade konfigurieren, die in den Routing-Tabellen installiert werden können. Mithilfe von Prefix- und Pfadlimits können Sie die Anzahl der Präfixe und Pfade einschränken, die von einem CE-Router in einem VPN empfangen werden. Präfix- und Pfadlimits gelten nur für dynamische Routing-Protokolle und nicht für statische oder Schnittstellenrouten.
Um die Anzahl der Pfade zu begrenzen, die von einem PE-Router von einem CE-Router akzeptiert werden, geben 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 statement summary für diese Anweisung.
Geben Sie die log-only-Option an, um nur Warnmeldungen zu generieren (ein Beratungslimit). Geben Sie die Schwellwertoption an, um Warnungen zu generieren, bevor der Grenzwert erreicht wird. Geben Sie die Protokollintervalloption an, um das minimale Zeitintervall zwischen Protokollmeldungen zu konfigurieren.
Es gibt zwei Modi für Routenlimits: Beratung und Pflicht. Ein Beratungslimit löst Warnungen aus. Eine Obligatorischkeitsgrenze lehnt zusätzliche Routen ab, nachdem die Grenze erreicht wurde.
Die Anwendung einer Routenbegrenzung kann zu unvorhersehbarem dynamischem Routingprotokollverhalten führen. Wenn beispielsweise das Limit erreicht und Routen abgelehnt werden, kann BGP die abgelehnten Routen nicht neu installieren, nachdem die Anzahl der Routen wieder unter die Grenze fällt. 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, geben 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 statement summary für diese Anweisung.
Es gibt zwei Modi für Routenlimits: Beratung und Pflicht. Ein Beratungslimit löst Warnungen aus. Eine Obligatorischkeitsgrenze lehnt zusätzliche Routen ab, nachdem die Grenze erreicht wurde.
Die Anwendung einer Routenbegrenzung kann zu unvorhersehbarem dynamischem Routingprotokollverhalten führen. Wenn beispielsweise das Limit erreicht und Routen abgelehnt werden, kann BGP die abgelehnten Routen nicht neu installieren, nachdem die Anzahl der Routen wieder unter die Grenze fällt. BGP-Sitzungen müssen möglicherweise gelöscht werden.
Ein Obligatorischer Pfad oder ein Präfixlimit, zusätzlich zum Auslösen einer Warnungsnachricht, weist weitere Pfade oder Präfixe nach Erreichen der Obergrenze zurück.
Das Festlegen einer Pfad- oder Prefix-Begrenzung kann zu unvorhersehbarem dynamischem Routingprotokollverhalten führen.
Sie können auch die folgenden Optionen für die maximalen Pfade und maximum-prefixes
Anweisungen konfigurieren:
Protokollintervall– Geben Sie das Intervall an, in dem Protokollmeldungen gesendet werden. Diese Option generiert nur Warnmeldungen (ein Beratungslimit).
Geben Sie die Protokollintervalloption an, um das minimale Zeitintervall zwischen Protokollmeldungen zu konfigurieren.
log-only – Nur Warnmeldungen generieren. Die Anzahl der in den Routing-Tabellen gespeicherten Pfade oder Präfixe wird nicht begrenzt.
Schwellenwert: Generieren Sie Warnmeldungen, nachdem der angegebene Prozentsatz der maximalen Pfade oder Präfixe erreicht wurde.