MPLS Básico. Práctica


     En este laboratorio vamos a explicar el funcionamiento de una red básica MPLS, tanto el enrutamiento en la backbone a través de etiquetas, como la “formación” de redes virtuales VPNs en los routers de acceso a la red para que la backbone IP pueda ser compartida por varios clientes sin que por ello la seguridad de la red se vea afectada. Los PE’s intercambiaran información de las VPNs conectadas a través de MP-BGP.

     Este es el esquema de la red implementada (con equipos Cisco) en el Laboratorio:


     Redes virtuales en los PE’s

     En los routers de acceso a la red MPLS(PE) cada cliente pertenecerá a una red virtual y tendrá una tabla de rutas propia en la que aparecerán las IP`s del CE conectados directamente y de aquellos CE’s remotos pertenecientes a la misma VPN. Estas ultimas han sido importadas por el PE a través de la sesión BGP con el PE al que conectan las localidades remotas.

     Sesión BGP

MPLS. Cisco. sh ip bgp summary. apuntesdenetworking.blogspot.com

     Los PE’s de la red tiene una conexión MP-BGP a través de la cual se transmite información sobre las IP’s de los clientes conectados a ellos. Una sesión MP-BGP permite el manejo de direcciones RD : IPV4 . Donde RD= AS + integer para la VPN.

     Nota: (el integer puede ser diferente para la misma VPN en diferentes PEs)

     A la hora de definir una VPN  se especifica el atributo asignado a las direcciones exportadas desde la tabla de enrutamiento de dicha VPN y el atributo que determinara las direcciones importadas a la  tabla de enrutamiento (VRF) de cada VPN. (es un atributo BGP-extended)

     En la definición del BGP del router se añade la family vpnv4 que permitirá las direcciones con formato MP-BGP

router bgp 100
no synchronization
neighbor 10.20.10.6 remote-as 100
neighbor 10.20.10.6 update-source Loopback0
no auto-summary
!
address-family ipv4 vrf customer_a
redistribute connected
redistribute static
no auto-summary
no synchronization
exit-address-family
!
address-family vpnv4
neighbor 10.20.10.6 activate
neighbor 10.20.10.6 send-community both
no auto-summary
exit-address-family

     Estas son las rutas exportadas/importadas para la VPN customer_a. Las importadas tienen como siguiente next-hop la dirección de loopback del PE remoto. Donde 100 es el AS y 1000 el número asignado a la VPN

MPLS. Cisco. sh ip bgp vpn4 vrf customer. apuntesdenetworking.blogspot.com

Importar rutas a la tabla de rutas de cada VPN

     La definición de la VRF determinará que rutas se importaran dentro de la tabla local de enrutamiento para dicha VRF. Para ello consultara el atributo extended-community.

ip vrf customer_a
rd 100:1000
route-target export 100:999
route-target import 100:2000

     En nuestro caso se importaran aquellas con el atributo igual a 2000. En el PE remoto sería a la inversa.


Exportar  rutas a la VRF de una VPN

     Para incluir las tablas de enrutamiento dentro del mecanismo BGP se realiza la siguiente definición: redistribute connected

router bgp 100
no synchronization
neighbor 10.20.10.6 remote-as 100
neighbor 10.20.10.6 update-source Loopback0
no auto-summary
!
address-family ipv4 vrf customer_a
redistribute connected
redistribute static
no auto-summary
no synchronization


     La definición de la VRF también determinara el atributo con el que marcaremos la exportación de dichas rutas

ip vrf customer_a
rd 100:1000
route-target export 100:999
route-target import 100:2000

Así tenemos que nuestra VRF “marca” e  “ importa":

MPLS. Cisco. sh ip vrf detail customer. apuntesdenetworking.blogspot.com


     Además en cada interfaz de conexión al cliente marcaremos la VPN a la que pertenece y definiremos una ruta hacia su LAN a través de ese interfaz para esa VPN

interface Serial1
ip vrf forwarding customer_a
ip address 10.1.1.41 255.255.255.252
encapsulation ppp
..............
ip route vrf customer_a 192.168.1.0 255.255.255.0 Serial1

     Esta es la información exportada e importada para la VRF customer_a (RD:100:1000)  (en rojo
información añadida después de añadir redistribute connected):

MPLS. Cisco. sh ip bgp vpn4 vrf customer. apuntesdenetworking.blogspot.com

     A la cual se le han asignado las etiquetas locales:

MPLS. Cisco. sh ip bgp vpnv4 all tags. apuntesdenetworking.blogspot.com

     Siendo la tabla de rutas:

MPLS. Cisco. sh ip route vrf customer_a. apuntesdenetworking.blogspot.com

     Para comprobar el valor del RT de una determinada dirección  IP:

MPLS. Cisco. sh ip bgp vpn4 vrf customer_a. apuntesdenetworking.blogspot.com


     Conclusión: Hay que diferenciar entre el termino RD que hace “único” y permite en la red diferenciar el addressing de cada VPN y el de RT que indica el atributo con el que se marcan las rutas exportadas  para que el PE remoto filtre que rutas incluir en la tabla de rutas (VRF) de una determinada VPN.

Ingress-Egress Port

     Una vez recibido un paquete de un CE y descubrir que el siguiente hop es la L0 del PE remoto, se consultará la tabla de rutas “convencional” para conocer como llegar a ella. En ese momento se iniciará el mecanismo de intercambio de etiquetas (egress port)

MPLS. Cisco. sh ip route. apuntesdenetworking.blogspot.com


     Nota: Observar que las direcciones IP de la WAN hacia el CE no aparecen

     Por el contrario si se recibe un paquete (egress port) una vez consultada la etiqueta interior,   y determinada la VPN según su valor, su tabla de rutas VRF nos indicara el interfaz al que rutear el paquete (interfaz al que está conectado el CE).


Configuraciones:



hostname HAWAII
!
interface Ethernet0
 ip address 192.168.1.1 255.255.255.0
 no ip route-cache
 no ip mroute-cache
!
interface Serial0
 ip address 10.1.1.42 255.255.255.252
 encapsulation ppp
 no ip route-cache
 no ip mroute-cache
 clockrate 2000000
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0


------------------------------------------------
hostname MAURICIO
!
ip vrf customer_a
 rd 100:1000
 route-target export 100:999
 route-target import 100:2000
!
ip cef
!
interface Loopback0
 ip address 10.20.10.5 255.255.255.255
!
interface Serial0
 ip address 10.1.1.18 255.255.255.252
 encapsulation ppp
 tag-switching ip
 clockrate 2000000
!
interface Serial1
 ip vrf forwarding customer_a
 ip address 10.1.1.41 255.255.255.252
 encapsulation ppp
!
router ospf 100
 log-adjacency-changes
 network 10.1.1.0 0.0.0.255 area 0
 network 10.20.10.0 0.0.0.255 area 0
!
router bgp 100
 no synchronization
 neighbor 10.20.10.6 remote-as 100
 neighbor 10.20.10.6 update-source Loopback0
 no auto-summary
 !
 address-family ipv4 vrf customer_a
 redistribute connected
 redistribute static
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family vpnv4
 neighbor 10.20.10.6 activate
 neighbor 10.20.10.6 send-community both
 no auto-summary
 exit-address-family
!
ip classless
ip route vrf customer_a 192.168.1.0 255.255.255.0 Serial1


------------------------------------------------
hostname TONGA
!
ip subnet-zero
!
ip cef
!
interface Loopback0
 ip address 10.20.10.1 255.255.255.255
!
interface Serial0
 ip address 10.1.1.5 255.255.255.252
 encapsulation ppp
 tag-switching ip
 clockrate 2000000
!
interface Serial1
 ip address 10.1.1.17 255.255.255.252
 encapsulation ppp
 tag-switching ip
!
router ospf 100
 no log-adjacency-changes
 redistribute static
 network 10.1.1.0 0.0.0.255 area 0
 network 10.20.10.0 0.0.0.255 area 0
!
no ip classless


----------------------------------------------- 
hostname FIYI
!
ip subnet-zero
!
ip vrf customer_a
 rd 100:1000
 route-target export 100:2000
 route-target import 100:999
!
ip cef
!
interface Loopback0
 ip address 10.20.10.6 255.255.255.255
!
interface Serial0
 ip vrf forwarding customer_a
 ip address 10.1.1.33 255.255.255.252
 encapsulation ppp
 clockrate 2000000
!
interface Serial1
 ip address 10.1.1.22 255.255.255.252
 encapsulation ppp
 tag-switching ip
!
interface FastEthernet0
 ip address 135.76.35.252 255.255.255.0
!         
router ospf 100
 log-adjacency-changes
 network 10.1.1.0 0.0.0.255 area 0
 network 10.20.10.0 0.0.0.255 area 0
!
router bgp 100
 no synchronization
 neighbor 10.20.10.5 remote-as 100
 neighbor 10.20.10.5 update-source Loopback0
 no auto-summary
 !
 address-family ipv4 vrf customer_a
 redistribute connected
 redistribute static
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family vpnv4
 neighbor 10.20.10.5 activate
 neighbor 10.20.10.5 send-community both
 no auto-summary
 exit-address-family
!
ip classless
ip route vrf customer_a 192.168.2.0 255.255.255.0 Serial0

---------------------------------------------------
hostname daganzo
!
interface Ethernet0
 ip address 192.168.2.1 255.255.255.0
!
interface Serial1
 ip address 10.1.1.34 255.255.255.252
 encapsulation ppp
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial1


(Todos los comandos y configuraciones de este laboratorio son de routers Cisco)

3 comentarios:

  1. Buenas estoy intentando simular con GNS3 el esta práctica de la laboratorio pero no encuentro la configuración del router BORA BORA, te agradecería la info para poder simularlo
    Un saludo y gracias por adelantado

    ResponderEliminar
  2. Hola, sería similar a la del otro P:
    ip subnet-zero
    !
    ip cef
    !
    interface Loopback0
    ip address 10.20.10.3 255.255.255.255
    !
    interface Serial0
    ip address 10.1.1.6 255.255.255.252
    encapsulation ppp
    tag-switching ip
    clockrate 2000000
    !
    interface Serial1
    ip address 10.1.1.21 255.255.255.252
    encapsulation ppp
    tag-switching ip
    !
    router ospf 100
    no log-adjacency-changes
    redistribute static
    network 10.1.1.0 0.0.0.255 area 0
    network 10.20.10.0 0.0.0.255 area 0
    !
    no ip classless

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.