Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Rogelio Alvez
ralvez@tiagora.com
Qu es una VPN ?
Es una red privada en trminos lgicos, montada sobre un medio potencialmente compartido Un conjunto de sitios a los que les es permitido comunicarse mutuamente Es el mbito alcanzable por una tabla de rutas
Los routers del backbone conocen la informacin de direccionamiento de los routers de cliente
MPLS-VPN
Su base es el modelo de peers, pero PEs reciben y mantienen informacin de rutas de las VPNs directamente conectadas Reduce la cantidad de informacin que tiene que almacenar un PE Se usa MPLS para rutear en el backbone (no se necesita conocer informacin del cliente)
MPLS-VPN: Terminologa
Red de Proveedor (Red P)
Backbone controlado por un Proveedor MPLS
Router CE
Customer Edge. Parte de la Red C, que hace interfaz con la Red P
MPLS-VPN: Terminologa
Sitio
Conjunto de redes de la Red C, ubicadas en el mbito de un PE Un sitio se conecta al backbone MPLS a travs de uno o ms enlaces PE/CE
Router PE
Provider Edge router. Parte de la Red P; hace interfaz con los routers CE
Router P
Provider (core) router; no tiene conocimientos de las VPNs
P PE
Sitio
CE
CEb
CEa
VRF P LDP P LDP PE VRF
VRF PE
LDP
VRF
CEa
1. Activacin de VPNs (tantas VRFs por site como VPNs distintas)
CEb
2. CEs ensean sus rutas a cada PE, que las ubica en la VRF correspondiente 3. PE incorpora informacin de cada VPN al proceso BGP 4. PE asigna una etiqueta diferente a cada VPN, e informa lo que conoce a otros PEs 5. PE receptor distribuye adecuadamente lo recibido de otro PE a cada CE, segn corresponda a la VPN de destino
MPLS-VPN: Terminologa
VRF (Virtual Routing and Forwarding)
Tabla de rutas ms su tabla de forwarding Alimentada por procesos de routing contextualizados
VPN-Aware network
El backbone de un proveedor, en el cual se ha implementado MPLS-VPN
PE
CE
CE PE CE
P VPN_B PE CE 10.3.0.0
VPN_B
10.1.0.0
PEs intercambian informacin de VPNs entre s, luego de interactuar con los routers CEs de los diferentes sitios
12
Sitio1
VPN-C
VPN-A
Sitio2 Sitio3
VPN-B
Un sitio que pertenece a varias VPNs podra (o no) ser usado como trnsito entre las VPNs
Si dos o ms VPNs tienen un sitio en comn, el espacio de direcciones debe ser nico entre estas VPNs
PEs hablan con CEs y propagan informacin de VPN con MP-BGP a otros PEs
Direcciones VPN-IPv4, Extended Community, Label
PE
CE
Sitio-2
CE
Sitio-2
Backbone MPLS/VPN
PE
CE
Sitio2
Sitios diferentes que comparten la misma informacin, pueden compartir la misma VRF Las interfaces que conectan a estos sitios usarn la misma VRF Sitios que pertenecen a la misma VPN podran usar la misma VRF
PE
Backbone MPLS/VPN
CE
Sitio2
Las rutas que el PE recibe de los CEs las ubica en una VRF apropiada Las rutas que el PE recibe desde el IGP del backbone las pone en la tabla IP tradicional Las direcciones de las VPNs no tienen que ser mutuamente exclusivas, ya que son ubicadas en diferentes VPNs
P PE
PEs y Ps comparten un IGP (OSPF, ISIS, EIGRP) PEs arman sesiones MP-iBGP entre ellos
Otros atributos BGP tradicionales Local Preference MED Next-hop AS_PATH Un Label, que identifica La VRF a la cual pertenece el anuncio (label de la VPN)
P PE-2
VPN-IPv4 update traducido a IPv4 (Net1) va a la VRF verde porque RT=verde y se la anuncia a CE-2
CE-2
Sitio2
Sitio1
CE-1
P PE-2
Update VPN-IPv4 se traduce a IPv4 (Net1) y puesto en VRF verde porque RT=verde y ha sido anunciado a CE-2
CE-2
Sitio2
Sitio1
CE-1
El label asociado a la direccin VPN-IPv4 ser impuesto en los paquetes enviados hacia su respectivo destino
Un PE que conecta sites de VPN distintas instala la ruta en la VRF del sitio si el atributo route-target contiene una o ms VPNs al cual el sitio est asociado
MPLS/VPN: Forwarding
26
Forwarding de paquetes
Los nodos MPLS conmutan con el label externo P no saben nada de BGP ni de VPNs
Forwarding
VPN_A
10.2.0.0 CE
VPN_B
VPN_A
CE PE2 P P PE1 P P PE
T8T2Data
11.5.0.0
VPN_A
10.2.0.0 CE
VPN_A
CE
Data
10.1.0.0
11.6.0.0
VPN_B
CE
CE
VPN_B
10.1.0.0 CE
10.3.0.0
<RD_B,10.1> iBGP NH= PE2 T2 <RD_B,10.2> ,, iBGPnext hop PE1,T1 T7 T8 <RD_B,10.2> , iBGP next hop PE2 T2 <RD_B,10.3> , iBGP next hop PE3 T3 <RD_A,11.6> , iBGP next hop PE1 T4 <RD_A,10.1> , iBGP next hop PE4 T5 <RD_A,10.4> , iBGP next hop PE4 T6 T7 <RD_A,10.2> , iBGP next hop PE2
PE de ingreso recibe paquetes IP PE hace IP Longest Match en VPN_B FIB , deduce el next hop PE2 y agrega el stack de labels: Label exterior T2 + Label interior T8
T8 T9 T7 TB TB T8
Forwarding
VPN_A
10.2.0.0 CE Data
VPN_B
VPN_A
T2 Data
CE
TB T2 Data
11.5.0.0
VPN_A
10.2.0.0 CE
VPN_A
PE2
P P
P
TAT2 Data
PE
T8 Data T2
CE
10.1.0.0
11.6.0.0
VPN_B
CE
PE1
CE
VPN_B
10.1.0.0 CE
10.3.0.0
in / out
T8, TA T8 Tw
T9 Tx Ta Ty Tb Tz T7 Tu
Los P rutean usando el label interior El PE de egreso quita el label interior El PE de egreso usa el label exterior para decidir la VPN a la cual entregar el paquete. Se saca el label exterior y se enva el paquete al router CE
El PE de egreso conmutar el paquete en base a la info de la etiqueta de 2do nivel (que explica la interfaz y/o la VPN de salida)
CE1
IP packet
PE1
Penultimate Hop Popping P2 es el PhP del next-hop P2 saca el top label (fue pedido por PE2 con el protocolo LDP)
CE2
IP packet
IP packet
VPN Label
P1
PE1 recibe paquete IP Se hace lookup en la VRF del site Hay ruta BGP con label y nextHop next-hop (PE2) es alcanzable va IGP con un label asociado
P2
IP packet
PE2
IP packet
CE3
33
Procesos de routing
BGP
OSPF
Static
Contextos de routing
Tablas de VRF
Forwarding VRF
VPN-C
Sitio3
VPN-A
Sitio2
VPN-B P PE
MP-iBGP P PE
Vista de routing
VRF de Sitio1
Rutas de Site1 Rutas de Site2
VRF de Sitio2
Rutas de Site1 Rutas de Site2 Rutas de Site3
VRF de Sitio4
Rutas de Site3 Rutas de Site4
Sitio1
Sitio2
Sitio3
Sitio4
MPLS/VPN: Topologas
39
Topologas
VPN_A
iBGP
CE
VPN_A
10.2.0.0
VPN_B
CE
PE P P PE P P PE CE PE CE
11.5.0.0
VPN_A
10.2.0.0 CE
VPN_A
10.1.0.0
11.6.0.0
VPN_B
CE
VPN_B
10.3.0.0
10.1.0.0 CE
Direcciones VPN-IPv4 se propagan junto al label asociado como una extensin multiprocol BGP Extended Community (route-target) se asocia a cada direccin VPN-IPv4, para poblar la VRF del sitio
IntCE3 PE3
VPN-IPv4s intercambiados entre PEs RD:N1, NH=PE1,Label=IntCE1, RT=Blue RD:N2, NH=PE2,Label=IntCE2, RT=Blue RD:N3, NH=PE3,Label=IntCE3, RT=Blue PE1 VRF de Sitio1 N1,NH=CE1 N2,NH=PE2 N3,NH=PE3 IntCE2
IntCE1
PE2
N1 NH=CE1
Sitio1 N1
Sitio1
N1
CE1
IntCE1 VRF (Import RT=Spoke) (Export RT=Hub) N1,NH=CE1 (exported) N2,NH=PE3 (imported) N3,NH=PE3 (imported IntCE2 VRF (Import RT=Spoke) (Export RT=Hub) N1,NH=PE3 (imported) N2,NH=CE2 (exported) N3,NH=PE3 (imported)
BGP/RIPv2
CE3-Hub
Sitio3
Sitio2
N2
N3
IntCE3-Spoke VRF (Export RT=Spoke) N1,NH=CE3-Spoke N2,NH=CE3-Spoke N3,NH=CE3-Spoke
CE3-Spoke BGP/RIPv2
CE2
VPN-IPv4 anunciadas por PE3 RD:N1, NH=PE3,Label=IntCE3-Spoke, RT=Spoke RD:N2, NH=PE3,Label=IntCE3-Spoke, RT=Spoke RD:N3, NH=PE3,Label=IntCE3-Spoke, RT=Spoke
Rutas son importadas/exportadas en las VRFs segn valor RT de los anuncios VPN-IPv4
PE3 usa 2 (sub)interfaces con dos VRFs diferentes
CE1
PE1
Sitio2
N2
PE3
CE3-Spoke CE2
N3
PE2
IntCE2 VRF (Import RT=Spoke) (Export RT=Hub) N1,NH=PE3 (imported) N2,NH=CE2 (exported) N3,NH=PE3 (imported)
BGP/RIPv2
46
Configuracin
Conocimiento de VPNs en todos los PEs Al PE hay que configurarle
VRF y Route Distinguisher VRF import/export policies (basadas en Route-target) Protocolos para hablar con los CEs MP-BGP entre PEs BGP para rutas de Internet
Con otros PEs Con algunos CEs
VPN-A
Sitio2
VPN-C VPN-B
Sitio3
ip vrf site3 rd 100:2 route-target export 100:2 route-target import 100:2 route-target import 100:3 route-target export 100:3 ip vrf Sitio4 rd 100:3 route-target export 100:3 route-target import 100:3
VRF for Sitio2 (100:2) Rutas de Site1 Rutas de Site2 Rutas de Site3
VRF for Sitio3 (100:2) Rutas de Site2 Rutas de Site3 Rutas de Site4
Sitio1
Sitio2
Sitio3
Sitio4
Configuracin (PE/CE)
PE/CE: casi cualquier protocolo de routing Se usa un routing context en cada VRF Routing contexts son definidos dentro de la instancia de un protocolo de routing
router rip version 2 address-family ipv4 vrf <vrf-symbolic-name> cualquier comando que aplique a esta instancia
Configuracin: PE/CE
BGP usa el mismo comando address-family
router BGP <asn> ... address-family ipv4 vrf <vrf-symbolic-name> cualquier subcomando aplicable de BGP
Configuracin: PE
show pero basados en VRF
show ip route vrf <vrf-symbolic-name> ... show ip protocol vrf <vrf-symbolic-name> show ip cef <vrf-symbolic-name>
Configuracin: PE/CE
ip vrf site1 rd 100:1 route-target export 100:1 route-target import 100:1 ip vrf site2 rd 100:2 route-target export 100:2 route-target import 100:2 route-target import 100:1 route-target export 100:1 ! interface Serial3/6 ip vrf forwarding site1 ip address 192.168.61.6 255.255.255.0 encapsulation ppp ! interface Serial3/7 ip vrf forwarding site2 ip address 192.168.62.6 255.255.255.0 encapsulation ppp
Sitio4 Sitio1
VPN-C
Sitio3
VPN-A
Sitio2
VPN-B
ip vrf site3 rd 100:2 route-target export 100:2 route-target import 100:2 route-target import 100:3 route-target export 100:3 ip vrf Sitio4 rd 100:3 route-target export 100:3 route-target import 100:3 ! interface Serial4/6 ip vrf forwarding site3 ip address 192.168.73.7 255.255.255.0 encapsulation ppp ! interface Serial4/7 ip vrf forwarding site4 ip address 192.168.74.7 255.255.255.0 encapsulation ppp
Sitio1
Sitio2
Sitio3
Sitio4
Configuracin PE/CE
router bgp 100 no bgp default ipv4-unicast neighbor 7.7.7.7 remote-as 100 neighbor 7.7.7.7 update-source Loop0 ! address-family ipv4 vrf site2 neighbor 192.168.62.2 remote-as 65502 neighbor 192.168.62.2 activate exit-address-family ! address-family ipv4 vrf site1 neighbor 192.168.61.1 remote-as 65501 neighbor 192.168.61.1 activate exit-address-family ! address-family vpnv4 neighbor 7.7.7.7 activate neighbor 7.7.7.7 next-hop-self exit-address-family
Sitio4 Sitio1
VPN-C
Sitio3
VPN-A
Sitio2
VPN-B MP-iBGP
PE1
P PE2
router bgp 100 no bgp default ipv4-unicast neighbor 6.6.6.6 remote-as 100 neighbor 6.6.6.6 update-source Loop0 ! address-family ipv4 vrf site4 neighbor 192.168.74.4 remote-as 65504 neighbor 192.168.74.4 activate exit-address-family ! address-family ipv4 vrf site3 neighbor 192.168.73.3 remote-as 65503 neighbor 192.168.73.3 activate exit-address-family ! address-family vpnv4 neighbor 6.6.6.6 activate neighbor 6.6.6.6 next-hop-self exit-address-family
Sitio1
Sitio2
Sitio3
Sitio4
55
PE-1 CE-Spoke
PE-2
Ruta esttica
CE-Spoke
Incrementa el trabajo del proveedor Pero es til para cubrirse de desmadres en el dinmico del cliente 0.0.0.0 en el CE + estticas en el PE Estticas hay que redistribuirlas en MP-BGP
P-network
CE-Spoke CE-Spoke
PE-1 CE-Spoke
PE-2 CE-Spoke
ip route vrf VPN_A 192.168.1.0 255.255.255.0 192.168.250.7 serial0/0 ip route vrf VPN_A 192.168.2.0 255.255.255.0 192.168.250.11 serial0/2 ! router bgp 213 address-family ipv4 vrf VPN_A redistribute static
MP-BGP update
PE-1 PE-2
CE-Spoke
CE-Spoke
Dinmico entre PE y CE Rutas del CE redistribuidas en MP-BGP, pasadas por el backbone y redistribuidas de PE a CE Todo dinmico Util cuando los CEs necesitan todas las rutas
PE-1 CE-Spoke
PE-2 CE-Spoke
Soportados: RIPv2, OSPF, EIGRP, e-BGP RIP es sencillo si la convergencia no es un problema OSPF es ms complejo BGP tiene algunas otra ventajas
Multihoming Atributos que pasan end to end!
60
No es necesario redistribucin
Uso de as-override
router bgp 115 address-family ipv4 vrf Customer_A neighbor 10.200.2.1 remote-as 213 neighbor 10.200.2.1 activate neighbor 10.200.2.1 as-override
Site A AS 213
AS 115
Site B AS 213
CE-Spkoe
PE-1
PE-2
CE-Spoke
10.1.0.0/16 213
i 10.1.0.0/16 213
65
IP
Backbone MPLS
No es posible que un atacante inyecte etiquetas (en el borde no existe soporte del protocolo LDP) En el borde, se deben tomar las mismas precauciones que para una arquitectura IP(spoofing, DoS, etc)