Una tecnología
sobre la que no se habla habitualmente es la implementación de VRFs
(Virtual Routing and Forwarding).
Se la suele vincular a la
implementación de VPNs MPLS, donde es un recurso necesario, pero también
es un recurso útil cuando debemos intercambiar rutas de múltiples redes
diferentes sobre una misma infraestructura de enrutamiento, manteniendo
las rutas de cada red totalmente independientes.
Por ese motivo me pareció adecuado dedicar un post al menos a los rudimentos de las VRFs. Como se
desprende de lo que dije antes, podemos utilizar VRFs para mantener
múltiples instancias de enrutamiento de modo simultáneo en un único
router.
En este caso, cada instancia de enrutamiento es totalmente
independiente, con su propia tabla de enrutamiento, sin interacción con
el enrutamiento de otra instancias, lo que permite incluso que haya
superposición de redes IP en una misma infraestructura sin que haya
conflictos de direccionamiento. Una VRF está definida por un conjunto de elementos específicos:
Un Nombre que la identifica localmente en el dispositivo y permite ingresar al modo de configuración de esa VRF específica.
Un Route Distinguisher
que identifica dentro de una red las VRFs que componen la misma red
virtual y que intercambian información de enrutamiento entre sí.
Un Exported Route Target que identifica a qué otra VRF dentro de la misma red se envía información de enrutamiento de esa VRF.
Un Imported Route Target que idendifica de qué otra VRF dentro de la misma red se aprende información de enrutamiento para esa VRF.
Un conjunto de interfaces asociadas a la VRF.
Elementos de configuración básica
Router(config)#ip vrf Prueba1 Router(config-vrf)#rd 1:10 Router(config-vrf)#route-target export 1:10 Router(config-vrf)#route-target import 1:10 Router(config-vrf)#exit Router(config)#interface GigabitEthernet2 Router(config-if)#ip vrf forwarding Prueba1 Hay que tener
presente que al incorporar o retirar una interfaz de una VRF se remueve
automáticamente la configuración IP existente en la interfaz y se deberá
configurar nuevamente según corresponda.
La tabla de enrutamiento
Al crear VRFs
se habilitan diferentes instancias de enrutamiento en un mismo
dispositivo, separadas lógicamente. Cada instancia de enrutamiento es
completamente independiente y se mantiene una tabla de enrutamiento para
cada instancia.
De esta manera, en un router que implementa VRFs se encuentran varias tablas de enrutamiento:
La tabla de enrutamiento global o de la infraestructura, en la que se mantienen las rutas propias de la infraestructura física. Se consulta utilizando el comando: Router#show ip route
Una tabla
de enrutamiento independiente por cada VRF, en la que se encuentran
exclusivamente las rutas de la red virtual a la que pertenece esa VRF. Su
estructura es resultado del intercambio de información de enrutamiento
con otras VRFs de la misma red virtual definido utilizando los comandos
route-target. Se consulta utilizando el comando: Router#show ip route vrf Prueba1
El enrutamiento
de cada VRF es completamente independiente, del mismo modo que el
direccionamiento IP asociado a las interfaces y al enrutamiento.
Por lo
tanto cada VRF puede tener sus propias rutas estáticas o instancia de un
protocolo de enrutamiento. La metodología de configuración del
protocolo de enrutamiento en cada VRF cambia ligeramente según el
protocolo del que se trate.
Adicionalmente,
a nivel de la infraestructura se utiliza una instancia de MP-BGP para
transportar la información de enrutamiento entre VRFs de diferentes
routers que deben intercambiar información de enrutamiento.