Mit richtlinienbasiertem Routing können Sie die IP-Adresse des nächsten Hops für Datenverkehr ändern, der bestimmten Kriterien entspricht. Dies kann nützlich sein, um Ihre Routing-Tabelle für bestimmte Verkehrstypen außer Kraft zu setzen. Ich zeige Ihnen, wie Sie richtlinienbasiertes Routing konfigurieren können.
Konfiguration
Hier ist die Topologie, die wir verwenden werden:
Schauen Sie sich das Topologiebild oben an. OSPF ist auf allen Routern konfiguriert. Da wir überall Gigabit-Schnittstellen verwenden, würde der Verkehr von R1, der für 4.4.4.4 bestimmt ist, normalerweise zwischen R2 und R3 ausgeglichen werden. Ich habe jedoch die Kosten auf der Gigabit-Ethernet-Schnittstelle 0/3 von R1 so geändert, dass der gesamte Verkehr von R1 > R2 > R4 geleitet wird.
Überprüfen wir dies:
Die erhöhten Kosten sind oben zu sehen. Versuchen wir einen schnellen Traceroute von H1:
Angenommen, ich möchte den Link zwischen R1 und R3 benutzen, um 4.4.4.4 zu erreichen. Ich könnte die Metrik für OSPF beeinflussen, aber das gilt für den gesamten Verkehr. Was wäre, wenn ich diesen Link nur für einen bestimmten Verkehr nutzen wollte?
Wir könnten den Link zwischen R1/R2 für den Großteil unseres Verkehrs nutzen und den Link zwischen R1/R3 nur für bestimmten Verkehr. Das kann sehr nützlich sein. Stellen Sie sich zum Beispiel vor, dass der Link zwischen R1/R3 ein dedizierter Link ist, der QoS für VoIP-Verkehr bietet.
Das ist etwas, das wir mit PBR (Policy Based Routing) erreichen können. Ich zeige Ihnen, wie!
Im Moment wird der gesamte Verkehr in Richtung R2 gesendet:
R1#show ip route | include 4.4.4.4O 4.4.4.4 via 192.168.12.2, 00:16:48, GigabitEthernet0/2
Angenommen, wir wollen, dass der gesamte ICMP-Verkehr von H1, der für 4.4.4.4 bestimmt ist, über die Verbindung zwischen R1/R3 läuft. So geht’s:
R1(config)#ip access-list extended ICMP_H1R1(config-ext-nacl)#permit icmp host 192.168.1.100 host 4.4.4.4
Zunächst erstelle ich eine Zugriffsliste, die meinem Verkehr entspricht. Nun müssen wir eine Route-Map erstellen:
Wenn der Verkehr mit der Zugriffsliste übereinstimmt, ändern wir den nächsten Hop auf 192.168.13.3 (R3).
Zu guter Letzt, aktivieren wir es:
R1(config)#interface GigabitEthernet 0/1R1(config-if)#ip policy route-map PBR_H1
Lassen Sie uns sehen, ob es funktioniert, um es in Aktion zu sehen, werde ich ein Debug auf R1 aktivieren:
R1#debug ip policy Policy routing debugging is on
Senden wir nun einen Ping von H1:
Der Ping funktioniert, mal sehen, was R1 davon hält:
Oben kann man sehen, dass er nach 192.168.13.3. Wir können dies auch überprüfen, indem wir uns die Route-Map ansehen:
Lassen Sie uns einen Datenverkehr ausprobieren, der nicht zu unserer Access-Liste passt. Telnet zum Beispiel:
H1#telnet 4.4.4.4Trying 4.4.4.4 ... Open
H1 kann eine Verbindung herstellen, aber sie wird nicht richtlinienbasiert geroutet:
R1#IP: s=192.168.1.100 (GigabitEthernet0/1), d=4.4.4.4, len 40, FIB policy rejected(no match) - normal forwarding
Wie Sie oben sehen können, wird dieser Telnet-Verkehr über den normalen Pfad geroutet.
Es gibt noch eine Sache, die ich Ihnen zeigen möchte. Beim richtlinienbasierten Routing gibt es einen Unterschied zwischen Datenverkehr, der durch den Router läuft, und Datenverkehr, der vom Router ausgeht.
Das obige Beispiel bezieht sich auf Datenverkehr, der durch unseren Router läuft. Was ist, wenn wir den Verkehr, der von R1 ausgeht, per Richtlinie routen wollen? Dann müssen wir einen anderen Befehl verwenden, um ihn zu aktivieren. Erstellen wir eine weitere Route-Map:
Die obige Route-Map wird den gesamten Verkehr von R1 nach 4.4.4.4 in Richtung R3 umleiten. Um dies zu aktivieren, müssen wir einen weiteren Befehl verwenden:
R1(config)#ip local policy route-map PBR_R1
Diesmal müssen wir den Befehl ip local policy verwenden. Testen wir dies:
Gut, unser Verkehr von R1 wird über die Richtlinie geleitet.