VRF – Virtual Routing and Forwarding

vrf1
Este post también es para mi. Son regalos que me hago. Es una forma de tener organizado lo que voy estudiando. Estoy estudiando MPLS, e inevitablemente, lo primero que te encuentras es con VRF.

Imprescindibles:

Este documento de Julio Carvajal (en español)

Y este otro de Paul Stewart (en inglés).

Para esta receta he utilizado:

1 router Cisco 878 con  IOS c870-advipservicesk9-mz.124-15.T6.bin
2 portátiles con Windows, aunque me imagino que valdrá cualquier cosa que pueda hacer un ping.

MPLS utiliza etiquetas para saltar de un router a otro. Es la versión moderna de Frame Relay y ATM.
VRF es como una VLAN de capa 3. Además permite tener las rutas que van a seguir las etiquetas. Se llaman tablas de enrutamiento virtual, y hay una tabla por cada VRF.

Lo primero es configurar el router Cisco 878 que es un router rarito. No permite darle ip address directamente a los interfaces Fa.

Seguid este post para configurar las interfaces si tenéis problemas.

Mirad lo que pasa cuando intentamos darle la misma IP a distintas VLAN del mismo router:

Router(config)#hostname R1
R1(config)#vlan 10
R1(config-vlan)#name red
R1(config-vlan)#vlan 20
R1(config-vlan)#name blue
R1(config-vlan)#exit
R1(config)#interface vlan 10
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface vlan 20
R1(config-if)#ip address 192.168.1.1 255.255.255.0
% 192.168.1.0 overlaps with Vlan10
R1(config-if)#

Sin embargo si que podemos hacerlo utilizando VRF.

R1#show run
Building configuration…
!
ip vrf blue
rd 20:20
!
ip vrf red
rd 10:10
!
no ip domain lookup
interface Loopback0
ip vrf forwarding red
ip address 10.10.10.10 255.255.255.0
!
interface Loopback1
ip vrf forwarding blue
ip address 20.20.20.20 255.255.255.0
!
interface FastEthernet0
!
interface FastEthernet1
switchport access vlan 10
spanning-tree portfast
!
interface FastEthernet2
switchport access vlan 20
spanning-tree portfast
!
interface FastEthernet3
!
interface Vlan1
no ip address
!
interface Vlan10
ip vrf forwarding red
ip address 192.168.1.1 255.255.255.0
!
interface Vlan20
ip vrf forwarding blue
ip address 192.168.1.1 255.255.255.0

….

R1#
R1#show ip vrf
Name Default RD Interfaces
blue 20:20   Vl20 Lo1
red 10:10      Vl10 Lo0
R1#

R1#show ip vrf interfaces
Interface IP-Address VRF Protocol
Vl20 192.168.1.1 blue up
Lo1 20.20.20.20 blue up
Vl10 192.168.1.1 red up
Lo0 10.10.10.10 red up
R1#

R1#show ip route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route

Gateway of last resort is not set

R1#

R1#ping 192.168.1.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
…..
Success rate is 0 percent (0/5)
R1#

 

R1#show ip route vrf red

Routing Table: red
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets
C 10.10.10.0 is directly connected, Loopback0
C 192.168.1.0/24 is directly connected, Vlan10
R1#

R1#show ip route vrf blue

Routing Table: blue
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route

Gateway of last resort is not set

20.0.0.0/24 is subnetted, 1 subnets
C 20.20.20.0 is directly connected, Loopback1
C 192.168.1.0/24 is directly connected, Vlan20
R1#

R1#ping vrf red 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
R1#

R1#ping vrf blue 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
R1#

 

Se me olvidaba.

El portátil conectado a Fa1 podrá hacer ping a 192.168.1.1 y a 10.10.10.10. No podrá hacer ping a 20.20.20.20

pingred

Y el portátil conectado a Fa2. Podrá hacer ping a 192.168.1.1 y a 20.20.20.20. No podrá hacer ping a 10.10.10.10.

pingblue

FIN.

Y voy a poner aquí la configuración del router Cisco 878 paso a paso, por si nos borran el link:

R1(config)#vlan 10
R1(config-vlan)#name red
R1(config-vlan)#vlan 20
R1(config-vlan)#name blue
R1(config-vlan)#exit

R1(config)#interface vlan 10
R1(config-if)#ip vrf forwarding red
% VRF red not configured.
R1(config-if)#exit
R1(config)#ip vrf blue
R1(config-vrf)#rd 20:20
R1(config-vrf)#exit
R1(config)#ip vrf red
R1(config-vrf)#rd 10:10
R1(config-vrf)#exit

R1(config)#interface vlan 10
R1(config-if)#ip vrf forwarding red
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface vlan 20
R1(config-if)#ip vrf forwarding blue
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#end

R1(config)#interface fa1
R1(config-if)#switchport mode access
R1(config-if)#switchport access vlan 10
R1(config-if)#spanning-tree portfast
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface fa2
R1(config-if)#switchport mode access
R1(config-if)#switchport access vlan 20
R1(config-if)#spanning-tree portfast
R1(config-if)#no shutdown
R1(config-if)#end
R1#

 

¿Qué más?  … humm… acuérdate de las Loopback:

interface Loopback0
ip vrf forwarding red
ip address 10.10.10.10 255.255.255.0
!
interface Loopback1
ip vrf forwarding blue
ip address 20.20.20.20 255.255.255.0

 

Yo creo que está todo.

 

2 Comentarios

  • joan manuel
    29 abril, 2015 - 10:13 pm | Enlace permanente

    Ya ni me acordaba de esto muy bueno el recordatorio , nuevamente mis gracias por el laboratorio , cuidate brother

  • 10 mayo, 2016 - 4:45 am | Enlace permanente

    This is how my topology will apear one vrf per one sub interface two customers are using the same CE with one subinterface per customer vrf. I Customer s network in my vrf routing table but for some unusual reason I am not able to ping them

  • Comments are closed.