Směrování podle zásad lze použít ke změně IP adresy dalšího skoku pro přenosy odpovídající určitým kritériím. To může být užitečné k přepsání směrovací tabulky pro určité typy provozu. Ukážu vám, jak směrování založené na zásadách nakonfigurovat.
Konfigurace
Tady je topologie, kterou budeme používat:
Podívejte se na obrázek topologie výše. Na všech směrovačích je nakonfigurován protokol OSPF. Protože všude používáme gigabitová rozhraní, provoz z R1 směřující na adresu 4.4.4.4 by byl za normálních okolností rozložen mezi R2 a R3. Změnil jsem však náklady na rozhraní Gigabit Ethernet 0/3 na R1 tak, že veškerý provoz půjde z R1 > R2 > R4.
Ověříme si to:
Nahoře vidíte zvýšené náklady. Vyzkoušejme rychlý traceroute z H1:
Teď řekněme, že chci použít linku mezi R1 a R3, abych se dostal na 4.4.4.4. Mohl bych ovlivnit metriku pro OSPF, ale to platí pro veškerý provoz. Co kdybych chtěl tuto linku používat jen pro určitý provoz?“
Linku mezi R1/R2 bychom mohli používat pro většinu provozu a linku mezi R1/R3 jen pro určitý provoz. To může být velmi užitečné. Představte si například, že linka mezi R1/R3 je vyhrazená linka, která nabízí QoS pro provoz VoIP.
Toho můžeme dosáhnout pomocí PBR (Policy Based Routing) Ukážu vám, jak na to!
Právě teď je veškerý provoz posílán směrem k R2:
R1#show ip route | include 4.4.4.4O 4.4.4.4 via 192.168.12.2, 00:16:48, GigabitEthernet0/2
Teď řekněme, že chceme, aby veškerý provoz ICMP z H1 určený pro 4.4.4.4 procházel linkou mezi R1/R3. Zde je návod, jak toho dosáhnout:
R1(config)#ip access-list extended ICMP_H1R1(config-ext-nacl)#permit icmp host 192.168.1.100 host 4.4.4.4
Nejprve vytvořím přístupový seznam, který odpovídá mému provozu. Nyní musíme vytvořit route-map:
Když provoz odpovídá access-listu, změníme next hop na 192.168.13.3 (R3).
Nakonec to aktivujeme:
R1(config)#interface GigabitEthernet 0/1R1(config-if)#ip policy route-map PBR_H1
Podíváme se, zda to funguje, abych to viděl v akci, povolím na R1 ladění:
R1#debug ip policy Policy routing debugging is on
Nyní pošleme ping z H1:
Ping funguje, podívejme se, co si o něm R1 myslí:
Nahoře vidíte, že byl podle politiky směrován na 192.168.13.3. To můžeme také ověřit pohledem na route-mapu:
Zkusíme nějaký provoz, který neodpovídá našemu access-listu. Například telnet:
H1#telnet 4.4.4.4Trying 4.4.4.4 ... Open
H1 se dokáže připojit, ale není směrován podle zásad:
R1#IP: s=192.168.1.100 (GigabitEthernet0/1), d=4.4.4.4, len 40, FIB policy rejected(no match) - normal forwarding
Jak vidíte výše, tento provoz telnetu je směrován pomocí normální cesty.
Ještě jednu věc bych vám rád ukázal. U směrování založeného na zásadách je rozdíl mezi provozem, který prochází směrovačem, a provozem, který pochází ze směrovače.
Výše uvedený příklad se týká provozu, který prošel naším směrovačem. Co když chceme podle zásad směrovat provoz, který pochází z R1? K aktivaci budeme muset použít jiný příkaz. Vytvoříme další route-map:
Výše uvedená route-map přesměruje veškerý provoz z R1 na 4.4.4.4 směrem k R3. Pro aktivaci musíme použít další příkaz:
R1(config)#ip local policy route-map PBR_R1
Tentokrát musíme použít příkaz ip local policy. Vyzkoušíme to:
Skvělé, náš provoz z R1 je směrován podle zásad.
.