jueves, 11 de octubre de 2018


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.