Einleitung
In diesem Dokument wird die Konfiguration von Routenplänen beschrieben, die mit dem Befehl „redistribute“ von dynamischen Routing-Protokollen angewendet werden.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Die Informationen in diesem Dokument beziehen sich auf Version 12.3 der Cisco IOS®-Software.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Dieser Abschnitt bietet eine Übersicht über die in der Cisco IOS-Software verwendeten Routing-Karten.
Routing-Map-Grundlagen
Route Maps verfügen über zahlreiche Funktionen, die von weithin bekannten Zugriffskontrolllisten (ACLs) unterstützt werden. Dies sind einige Merkmale, die beiden Mechanismen gemeinsam sind:
- Es handelt sich um eine geordnete Abfolge einzelner Aussagen. jedes hat ein Zulassen- oder Ablehnungsergebnis. Die Auswertung von ACL oder Route Maps besteht aus einem Listscan in einer vorbestimmten Reihenfolge und einer Auswertung der Kriterien jeder übereinstimmenden Anweisung. Ein Listenscan wird abgebrochen, sobald die erste Anweisungsübereinstimmung gefunden wurde, und es wird eine Aktion ausgeführt, die der Anweisungsübereinstimmung zugeordnet ist.
- Dabei handelt es sich um generische Mechanismen: Kriterien stimmen überein, und die Interpretation der Übereinstimmung wird durch die Art ihrer Anwendung bestimmt. Die gleiche Route Map, die auf verschiedene Aufgaben angewendet wird, kann unterschiedlich interpretiert werden.
Dies sind mögliche Unterschiede zwischen Routing-Maps und ACLs:
- Bei Routenübersichten werden häufig ACLs als Kriterien für die Zuordnung verwendet.
- Das Hauptergebnis der Auswertung einer Zugriffsliste ist ein Ja oder Nein. Eine ACL lässt Eingabedaten zu oder verweigert sie. Bei Anwendung auf die Neuverteilung bestimmt eine ACL, ob eine bestimmte Route (Route stimmt mit ACLs-Anweisung zu) oder nicht (stimmt mit Anweisung zu deny überein) neu verteilt werden kann. Typische Routenzuordnungen erlauben nicht nur (einige) neu verteilte Routen, sondern ändern auch die mit der Route verbundenen Informationen, wenn sie in ein anderes Protokoll umverteilt wird.
- Routenzuordnungen sind flexibler als ACLs und können Routen anhand von Kriterien verifizieren, die ACLs nicht verifizieren können. Beispielsweise kann ein route-map überprüfen, ob der Routtyp intern ist oder ob er ein bestimmtes Tag hat.
- Jede ACL endet mit einer impliziten "denk"-Anweisung nach Designkonvention. Für Routenpläne gibt es keine ähnliche Konvention. Wenn das Ende einer Route Map bei Abgleichversuchen erreicht wird, hängt das Ergebnis von der spezifischen Anwendung der Route Map ab. Glücklicherweise verhalten sich Routing-Maps, die auf die Neuverteilung angewendet werden, genauso wie ACLs: Wenn die Route keiner Klausel in einer route-map entspricht, wird die Routen-Neuverteilung abgelehnt, als ob die route-map am Ende die Anweisung deny enthielt.
Mit dem Konfigurationsbefehl für die dynamische Protokoll-Neuverteilung können Sie entweder eine ACL oder eine Routing-Map anwenden. Die in diesem Abschnitt beschriebenen Unterschiede zeigen, wann eine Route Map im Neuverteilungsprozess verwendet werden soll. Routenzuordnungen werden bevorzugt, wenn Sie entweder Routeninformationen während der Neuverteilung ändern möchten oder wenn Sie leistungsfähigere Funktionen benötigen, um eine Funktion abzugleichen, als eine ACL bieten kann. Wenn Sie dagegen einige Routen basierend auf ihrem Präfix oder ihrer Maske selektiv zulassen müssen, empfiehlt Cisco, direkt im redistribute-Befehl eine ACL (oder eine entsprechende Präfixliste) zu verwenden. Wenn Sie eine Routing-Map verwenden, um bestimmte Routen basierend auf ihrem Präfix oder ihrer Maske selektiv zuzulassen, verwenden Sie in der Regel mehr Konfigurationsbefehle, um dasselbe Ziel zu erreichen. Routenübersichten werden immer für eingehenden Datenverkehr angewendet, und sie haben keine Auswirkungen auf den ausgehenden Datenverkehr.
Zuerst den kürzesten Pfad öffnen
Dies ist eine typische Route-Map vom Typ "Open Shortest Path First to Enhanced Interior Gateway Routing Protocol (OSPF-to-EIGRP)", die mit dem folgenden Befehl zur Neuverteilung angewendet wird:
!
router eigrp 1
redistribute ospf 1 route-map ospf-to-eigrp
default-metric 20000 2000 255 1 1500
!--- Output suppressed.
!
route-map ospf-to-eigrp deny 10
match tag 6
match route-type external type-2
!
route-map ospf-to-eigrp permit 20
match ip address prefix-list pfx
set metric 40000 1000 255 1 1500
!
route-map ospf-to-eigrp permit 30
set tag 8
!
Dies sind die wichtigen Beobachtungen zu diesem Beispiel:
- Route-Map-Klauseln sind nummeriert. In diesem Beispiel haben Klauseln die Sequenznummern 10, 20 und 30. Sequenznummern ermöglichen Ihnen folgende Aktionen:
- Löschen Sie einfach eine bestimmte Klausel, ohne andere Teile der Routenübersicht zu beeinflussen.
- Fügen Sie eine neue Klausel zwischen zwei aktuellen Klauseln ein.
Cisco empfiehlt, Klauseln in Intervallen von 10 zu nummerieren, um Leerzeichen zu reservieren und Klauseln bei Bedarf in die Zukunft einzufügen.
- Route Maps können über Berechtigungen und Ablehnungsklauseln verfügen. In route-map ospf-to-eigrp gibt es eine deny-Klausel (mit der Sequenznummer 10) und zwei permit-Klauseln. Die deny-Klausel lehnt Routenübereinstimmungen aus der Neuverteilung ab. Daher finden diese Regeln Anwendung:
- Wenn Sie eine ACL in einer route-map permit-Klausel verwenden, werden von der ACL zugelassene Routen neu verteilt.
- Wenn Sie eine ACL in einer route-map deny-Klausel verwenden, werden von der ACL zugelassene Routen nicht neu verteilt.
- Wenn Sie eine ACL in einer route-map permit- oder deny-Klausel verwenden und die ACL eine Route verweigert, wird die route-map clause-Übereinstimmung nicht gefunden, und die nächste route-map-Klausel wird ausgewertet.
- Jede route-map-Klausel hat zwei Befehlstypen:
- match - Wählt Routen aus, auf die diese Klausel angewendet werden soll.
- set - Ändert Informationen, die an das Zielprotokoll weitergegeben werden sollen.
Für jede neu verteilte Route wertet der Router zunächst den Match-Befehl einer Klausel in der route-map aus. Wenn die übereinstimmenden Kriterien erfolgreich sind, wird die Route entsprechend der permit-Klausel oder der deny-Klausel neu verteilt oder abgelehnt, und einige ihrer Attribute werden durch set-Befehle geändert. Wenn die Kriterien nicht erfüllt sind, gilt diese Klausel nicht für die Route, und die Cisco IOS-Software wertet die Route anhand der nächsten Klausel in der Routenübersicht aus. Das Scannen der route-map wird fortgesetzt, bis eine Klausel gefunden wird, deren übereinstimmende(r) Befehl(e) mit der Route übereinstimmen oder bis das Ende der route-map erreicht ist.
- Ein Match- oder Set-Befehl in jeder Klausel kann mehrfach übersehen oder wiederholt werden, wenn eine der folgenden Bedingungen vorliegt:
- Wenn mehrere Übereinstimmungsbefehle in einer Klausel vorhanden sind, müssen alle für eine bestimmte Route erfolgreich sein, damit diese mit der Klausel übereinstimmt (d. h. der logische AND-Algorithmus wird für mehrere Übereinstimmungsbefehle angewendet).
- Wenn sich ein Match-Befehl auf mehrere Objekte in einem Befehl bezieht, wird entweder match (der logische OR-Algorithmus) angewendet. Beispiel: Bei den Befehlen match ip address 101 121 ist eine Route zulässig, wenn sie gemäß Zugriffsliste 101 oder Zugriffsliste 121 zulässig ist.
- Wenn kein Match-Befehl vorhanden ist, stimmen alle Routen mit der Klausel überein. Im vorherigen Beispiel stimmen alle Routen überein, die Klausel 30 erreichen. Das Ende der Routenkarte wird daher nie erreicht.
- Wenn ein set-Befehl in einer route-map permit-Klausel nicht vorhanden ist, wird die Route ohne Änderung ihrer aktuellen Attribute neu verteilt.
Konfigurieren Sie in einer deny route-map-Klausel keinen set-Befehl, da die deny-Klausel die Routen-Neuverteilung untersagt. Es sind keine Informationen zum Ändern vorhanden.
Eine route-map-Klausel ohne einen Matchset-Befehl führt eine Aktion aus. Eine leere Erlaubnisklausel erlaubt eine Neuverteilung der restlichen Routen ohne Änderung. Eine leere deny-Klausel erlaubt keine Neuverteilung anderer Routen (dies ist die Standardaktion, wenn eine Route-Map vollständig gescannt wird, aber keine explizite Übereinstimmung gefunden wird).
Basierend auf den Informationen in diesem Abschnitt im vorherigen Beispiel für die OSPF-zu-EIGRP-Routing-Zuordnung geschieht Folgendes:
- Unterbindet die Neuverteilung aller externen OSPF-Routen vom Typ 2 mit Tag 6.
- Verteilt alle Routen, die mit der pfx-Präfixliste übereinstimmen, mit fünf metrischen Werten - 40000, 1000, 255, 1 und 1500 - in EIGRP neu.
- Verteilt alle anderen Routen neu und legt ihre Tags auf 8 fest (die Standardeinstellung).
In Routenzuordnungen verwendete Befehle werden auf die Neuverteilung angewendet
Dieser Abschnitt behandelt folgende Themen:
Nicht unterstützte Übereinstimmungs- und Setbefehle in Routenzuordnungen konfigurieren
Route Maps sind generische Mechanismen, die in vielen Konfigurationen verwendet werden können. Dazu gehört auch der zuvor beschriebene Befehl redistribute. Sie können beispielsweise den Befehl match length in einer route-map für PBR konfigurieren, um anzugeben, dass eine bestimmte Aktion ausgeführt wird, wenn Pakete einer bestimmten Länge weitergeleitet werden. Sie würden jedoch den Befehl match length in route-maps, die auf die Neuverteilung angewendet werden, nicht verwenden.
Sie können Befehle in einer Routenzuordnung konfigurieren, die in einem Kontext, in dem eine Routenzuordnung angewendet wird (oder zu einem späteren Zeitpunkt angewendet werden soll), nicht unterstützt werden (oder keine Auswirkungen haben), und diese Befehle festlegen. Ein Beispiel für diese Situation kann der Befehl match length sein, der in einer Routenübersicht verwendet wird, die auf die Neuverteilung angewendet wird. Bei der Neuverteilung wird eine Route Map auf jede in der Routing-Tabelle installierte Route mithilfe des im Befehl redistribute angegebenen Protokolls angewendet. Wenn ein Router eine Routing-Map ausführt, interpretiert er daher nur die Befehle, die im Kontext der Routing-Map-Anwendung sinnvoll sind. In diesem Beispiel hat der in der Weiterverteilungs-Routenübersicht erwähnte Befehl match length keine Auswirkungen auf die Neuverteilung. Sie verbleibt in der Konfiguration der Routing-Map und wird in der aktuellen Konfiguration des Routers angezeigt. Die Routenumverteilung wird jedoch nicht beeinflusst, unabhängig davon, ob dieser Befehl in der Routenübersicht vorhanden ist oder nicht.
Daher ermöglicht der Router die Konfiguration aller Arten von Match- und Set-Befehlen, die jedoch logisch auf die Situation angewendet werden müssen. Andernfalls kann die Konfiguration sehr verwirrend sein oder falsche Aufgaben ausführen.
Verwenden Sie keine Befehle ohne Auswirkungen in einem Routing-Map-Kontext, selbst wenn sie harmlos erscheinen, da folgende Probleme auftreten:
-
Befehle ohne Effekt können verdecken, was Sie erreichen wollen. Das kann zu Verwirrung führen.
-
Befehle, die derzeit nicht unterstützt werden, können in zukünftigen Versionen der Cisco IOS-Software unterstützt werden. Nach zukünftigen Software-Upgrades kann es zu unerwünschten Änderungen des Route-Map-Verhaltens kommen.
-
Nicht alle Befehle sind völlig harmlos. z. B. der Befehl set metric +/- , der die relative Änderung der Metrik angibt und mit der BGP-Routenankündigung verwendet wird. Er kann die aktuelle Metrik einer Route annehmen und sie um einen bestimmten Wert erhöhen oder verringern, bevor sie sie propagiert.
Die +/- Form dieses Befehls wird von einigen Protokollen nicht unterstützt (siehe EIGRP Route Map Support). In anderen Szenarien wird er als Befehl set metric ohne das Zeichen interpretiert. Betrachten Sie z. B. diese Routenübersicht:
!--- This redistribution route-map is very dangerous!
route-map ospf-to-ospf permit 10
set metric +2
!
Durch diese Konfiguration werden anscheinend alle Routen von einem OSPF-Prozess an einen anderen verteilt, während die Metrik aller Routen um zwei erhöht wird. Die Metrik aller Routen wird jedoch auf den gleichen Wert gesetzt, der gleich 2 ist. Dies ist in der Routerkonfiguration unerwartet.
Diese Routenübersicht bietet einen noch intuitiveren Effekt:
!--- This redistribution route-map is very dangerous!
route-map ospf-to-ospf permit 10
set metric +2
!
Anstatt die Metrik der neu verteilten Routen zu verringern, setzt diese Konfiguration die Metrik auf 367 (ein positiver Wert, da eine negative Metrik nicht möglich ist, wenn die festgelegte Metrik ohne Vorzeichen interpretiert wird).
Die Neuverteilung von Routing-Maps erfolgt über zwei Protokolle.
Routenzuordnungen für die Neuverteilung arbeiten mit zwei Routing-Protokollen:
-
Das Protokoll, das die ursprünglichen Routing-Informationen bereitstellt
-
Das Protokoll, an das die Routing-Informationen umverteilt werden
Jedes Routing-Protokoll kann seine eigenen Routenattribute unterstützen.
In Weiterverteilungs-Routing-Map-Konfiguration:
-
Befehle für den Route-Map-Abgleich überprüfen die Attribute einer Route, die von dem Protokoll unterstützt werden, das die ursprüngliche Route für die Neuverteilung bereitgestellt hat.
-
Mit Route-Map-Set-Befehlen werden die Attribute von Routen geändert, die vom Protokoll unterstützt werden, an das die Routen neu verteilt werden.
Im Abschnitt Command Support Tables dieses Dokuments werden die Befehle aufgeführt. Sie werden nach Match- und Set-Befehlen kategorisiert, um die Zwei-Protokoll-Natur von Weiterverteilungs-Routenübersichten hervorzuheben.
Befehlsunterstützungstabellen
In diesem Abschnitt werden die Befehle beschrieben, die in Routing-Maps unterstützt werden, die mit dem Befehl redistribute verknüpft sind. Es gibt sieben Routing-Protokolle, über die Routen neu verteilt werden können. Es gibt jedoch nur fünf, auf die eine Umverteilung erfolgen kann. Verbundene und statische Routen sind keine dynamischen Routing-Protokolle und können nur Informationen bereitstellen, die in andere Protokolle umverteilt werden müssen.
Dieser Abschnitt enthält keine Match- und Set-Befehle, die von Routing-Maps der Cisco IOS Software, Version 12.3, unterstützt werden, jedoch nicht für den Redistribution-Kontext relevant sind.
Intermediate System-to-Intermediate System (IS-IS) und BGP können Informationen über CLNS-Routen (Connectionless Network Service) zusammen mit IP-Routen weitergeben. In den Tabellen in diesem Abschnitt werden auch CLNS-bezogene Befehle erwähnt, die in Weiterverteilungs-Routing-Maps für diese Protokolle verwendet werden können.
Sie können Routing Information Protocol (RIP), OSPF, IS-IS und BGP verwenden, um IPv6-Routen zu propagieren. Weiterverteilungs-Routing-Maps für diese Protokolle können IPv6-spezifische Befehle enthalten. Die Befehle match ip und set ip sind spezifisch für die Neuverteilung von IPv4-Präfixen. Die Befehle match ipv6 und set ipv6 dienen der Neuverteilung von IPv6-Präfixen. Sie können die Befehle match clns und set clns nur verwenden, wenn Sie eine route-map verwenden, um CLNS-Routen vom oder zum Routing-Protokoll neu zu verteilen.
In Tabelle 1 und Tabelle 2 werden folgende Konventionen verwendet:
-
Unterstützte Befehle sind mit Ja gekennzeichnet.
-
Nicht unterstützte Befehle sind durch einen Bindestrich (—) gekennzeichnet.
-
Nicht unterstützte Befehle, die bekanntermaßen eine Aktion ausführen (wahrscheinlich eine unerwünschte Aktion), sind mit einem Nein gekennzeichnet.
Tabelle 1: Route-Map-Befehle für die Zuordnung der in Routing-Tabellen installierten Routen nach Protokollen
Command
|
Unterstützung von Neuverteilung
|
verbunden
|
statisch
|
RIP
|
EIGRP
|
OSPF
|
IS-IS
|
BGP
|
CLN-Adresse des Treffers
|
—
|
Ja
|
—
|
—
|
—
|
Ja
|
Ja
|
Next-Hop für Übereinstimmung-Clans
|
—
|
Ja
|
—
|
—
|
—
|
Ja
|
—
|
Anpassungsschnittstelle
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
—
|
Match-IP-Adresse
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Präfixliste für Match-IP-Adresse
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
match ip next-hop
|
—
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
match ip next-hop prefix-list
|
—
|
Nein
|
Nein
|
Nein
|
Nein
|
Nein
|
Nein
|
match ip route-source
|
—
|
—
|
Ja
|
Ja
|
Ja
|
—
|
Ja
|
match ip route-source prefix-liste
|
—
|
—
|
Nein
|
Nein
|
Nein
|
—
|
Nein
|
match ipv6 address [Präfixliste]
|
Ja
|
Ja
|
Ja
|
—
|
Ja
|
Ja
|
Ja
|
match ipv6 next-hop [Präfixliste]
|
—
|
Ja
|
Ja
|
—
|
—
|
—
|
Ja
|
match ipv6 route-source [Präfixliste]
|
—
|
—
|
Ja
|
—
|
—
|
—
|
Ja
|
Match-Metrik
|
—
|
—
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Übereinstimmungs-Policy-Liste
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Übereinstimmung des Routing-Typs extern
|
—
|
—
|
—
|
Ja
|
Ja
|
Ja
|
Ja
|
übereinstimmender Routing-Typ intern
|
—
|
—
|
—
|
Ja
|
Ja
|
—
|
Ja
|
Route-Type-Übereinstimmung lokal
|
—
|
—
|
—
|
—
|
—
|
—
|
Ja
|
Übereinstimmung Routing-Typ nssa-extern
|
—
|
—
|
—
|
—
|
Ja
|
—
|
—
|
Routentyp abgleichen {level-1|level-2}
|
—
|
—
|
—
|
—
|
—
|
Ja
|
—
|
Anpassungsmarke
|
—
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Ja
|
Tabelle 2: Befehle, die Routenattribute während der Neuverteilung über das Zielprotokoll ändern
Command
|
Unterstützung von Neuverteilung
|
RIP
|
EIGRP
|
OSPF
|
IS-IS
|
BGP
|
set as-path-Tag
|
—
|
—
|
—
|
—
|
Ja
|
Set-Community
|
—
|
—
|
—
|
—
|
Ja
|
set ip next-hop
|
—
|
—
|
—
|
—
|
Ja
|
set ip next-hop peer address
|
—
|
—
|
—
|
—
|
Nein
|
set ipv6 next-hop
|
—
|
—
|
—
|
—
|
Ja
|
Set-Level {Backbone|Stub-Area}
|
—
|
—
|
Nein
|
—
|
—
|
Ebene festlegen {Ebene-1|Ebene-2|Ebene-1-2}
|
—
|
—
|
—
|
Ja
|
—
|
lokale Präferenz festlegen
|
—
|
—
|
—
|
—
|
Ja
|
eingestellte Kennzahl
|
Ja
|
—
|
Ja
|
Ja
|
Ja
|
Metrik setzen +/-
|
Nein
|
—
|
Nein
|
Nein
|
Nein
|
metrisches eigrp-metrisches Set
|
—
|
Ja
|
—
|
—
|
—
|
set metric +/- eigrp-metric
|
—
|
Nein
|
—
|
—
|
—
|
metrisches internes Set
|
—
|
—
|
—
|
Ja
|
—
|
metrisches externes Set
|
—
|
—
|
—
|
Ja
|
—
|
Metriktyp {Typ-1|Typ-2} festlegen
|
—
|
—
|
Ja
|
—
|
—
|
set nlri
|
—
|
—
|
—
|
—
|
Ja
|
Sollwert
|
—
|
—
|
—
|
—
|
Ja
|
Set-Tag
|
Ja
|
Ja
|
Ja
|
—
|
—
|
Sollgewicht
|
—
|
—
|
—
|
—
|
Ja
|
Schlussfolgerung
Routenkarten sind sehr leistungsfähige, aber komplizierte Werkzeuge für die Neuverteilung von Routen. Sie ermöglichen eine sehr feine Manipulation von Routing-Informationen, wenn diese zwischen Protokollen neu verteilt werden. Sie können jedoch gefährlich sein und zu Blackholes oder einem suboptimalen Datenverkehrsfluss in Ihrem Netzwerk führen. Sie müssen Netzwerke sehr sorgfältig entwerfen, wenn Sie komplexe Umverteilungsfunktionen zwischen mehreren Routing-Protokollen nutzen möchten.
Zugehörige Informationen