Police Based Routing
PBR toma el paquete en
la interfaz entrante después de la desencapsulación pero antes de que el router
use la búsqueda de la tabla CEF.
PBR envía el paquete sin
utilizar la tabla de enrutamiento (o la tabla CEF).
Si en la topología,
se realiza un ping entre R1 y R4, la tabla de enrutamiento de R2 determinará
que los paquetes del ping, vayan por R3, dado que la ruta por R3 es a través de
una interface fast ethernet y por R5 lo haría con menor ancho de banda, suponiendo
que los routers están usando OSPF o EIGRP.
R1#traceroute
4.4.4.4
Type
escape sequence to abort.
Tracing
the route to 4.4.4.4
1 192.168.12.2
56 msec 36 msec 48 msec
2 192.168.23.2 32 msec 40 msec 12 msec
3 192.168.35.2
52 msec 44 msec 84 msec
R1#
La
tabla en R2:
C 192.168.12.0/24 is directly connected,
FastEthernet0/0
C 192.168.25.0/24 is directly connected,
Serial0/0
4.0.0.0/32 is subnetted, 1 subnets
D 4.4.4.4 [90/435200] via 192.168.23.2,
00:04:43, FastEthernet0/1
C 192.168.23.0/24 is directly connected,
FastEthernet0/1
D 192.168.35.0/24 [90/307200] via
192.168.23.2, 00:07:57, FastEthernet0/1
PBR se puede usar en el
router R2, para lograr cambios de
envío de los paquetes, los podríamos dirigir por R5 como caso especial, para
ello, si configuramos route-map, R2
no tendrá en cuenta la tabla de enrutamiento y dirige los paquetes en base a
esta configuración.
Para la
configuración, primero definiremos que paquetes van a ir por R5, esto lo
hacemos con una ACL:
R2(config)# access-list 101 permit ip host 192.168.12.1 host 4.4.4.4
Luego definimos el route-map con el nombre
"ESPECIAL" y con la opción de permitir. Como configuración
específica, definimos la coincidencia o match, en este caso la condición está
establecida por la ACL 101. Luego podemos hacer cambios con SET, cambiando el
siguiente salto, para que vaya por R5.
R2(config)#
route-map PRUEBA permit
R2(config-route-map)#
match ip address 101
R2(config-route-map)#
set ip next-hop 192.168.25.2
Una opción a la
última sentencia es : set interface s0/0
Debemos aplicarlo en
una interface a través del siguiente comando:
R2(config)#interface
f0/0
R2(config-if)#ip
policy route-map PRUEBA
Con este comando le
dice al router que si llegan paquetes a través de esta interface, debe aplicar
lo configurado en route -map
Si ahora hacemos un
tracert para verificar la ruta, notamos que ha cambiado, pasando por R5.
R1#
traceroute 4.4.4.4
Type
escape sequence to abort.
Tracing
the route to 4.4.4.4
1 192.168.12.2
44 msec 8 msec 16 msec
2 192.168.25.2 40
msec 24 msec 48 msec
3 192.168.35.2
32 msec 24 msec 20 msec
Si cambiamos la IP de
R1 a 192.168.12.3, para que no coincida con el ACL 101, veremos que los
paquetes no son afectados por route-map y siguen las indicaciones de la tabla
de enrutamiento.
R1#traceroute
4.4.4.4
Type
escape sequence to abort.
Tracing
the route to 4.4.4.4
1 192.168.12.2
56 msec 36 msec 48 msec
2 192.168.23.2 32 msec 40 msec 12 msec
3 192.168.35.2
52 msec 44 msec 84 msec
Para
visualizar:
R2#
show ip policy
Interface Route
map
Fa0/0 PRUEBA
R2#
R2#
debug ip policy
Policy
routing debugging is on
R2(config)#
logging console 7
R2#
*Mar 1 00:38:42.823:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, len 28, FIB policy match
*Mar 1 00:38:42.823:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, g=192.168.25.2, len 28, FIB
policy routed
*Mar 1 00:38:42.919:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, len 28, FIB policy match
*Mar 1 00:38:42.919:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, g=192.168.25.2, len 28, FIB
policy routed
*Mar 1 00:38:43.043:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, len 28, FIB policy match
*Mar 1 00:38:43.043:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, g=192.168.25.2, len 28, FIB
policy routed
R2#
*Mar 1 00:38:43.119:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, len 28, FIB policy match
*Mar 1 00:38:43.119:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, g=192.168.25.2, len 28, FIB
policy routed
*Mar 1 00:38:43.159:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, len 28, FIB policy match
*Mar 1 00:38:43.159:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, g=192.168.25.2, len 28, FIB
policy routed
*Mar 1 00:38:43.235:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, len 28, FIB policy match
*Mar 1 00:38:43.235:
IP: s=192.168.12.1 (FastEthernet0/0), d=4.4.4.4, g=192.168.25.2, len 28, FIB
policy routed
Analizando la captura
del debug: para los paquetes con source: 192.168.12.1 y destination: 4.4.4.4
hay coincidencia (match) con route-map PRUEBA,
que hace que los paqutes sean enviadas por la interface serial 0/0 hacia
R5.
A tener en cuenta:
set ip next-hop 192.168.25.2 versus
set ip default next-hop
192.168.25.2
Cuando se usa la
opción con default, primero revisa
si hay una ruta en al tabla de enrutamiento y esa es la que usa, si no existe
ruta en la tabla usa PBR y tiene en cuenta el next-hop o siguiente salto.