Túneles IPv6 sobre Ipv4
Configuración de la tunelización IPv6 para MPLS
Puede configurar la tunelización IPv6 para MPLS para tunelización del tráfico IPv6 a través de una red IPv4 basada en MPLS. Esta configuración le permite interconectar varias redes IPv6 más pequeñas a través de un núcleo de red basado en IPv4, lo que le permite proporcionar un servicio IPv6 sin tener que actualizar los conmutadores de su red central. El BGP está configurado para intercambiar rutas entre las redes IPv6 y los datos se tunelización entre estas redes IPv6 mediante MPLS basado en IPv4.
Para configurar la tunelización IPv6 para MPLS en el conmutador de la serie EX:
Ejemplo: Tunelización del tráfico IPv6 a través de redes IPv4 de MPLS
En este ejemplo, se muestra cómo configurar Junos OS para tunelización de IPv6 a través de una red IPv4 basada en MPLS. El BGP externo (EBGP) se utiliza entre los dispositivos de borde del cliente (CE) y borde del proveedor (PE). Los dispositivos CE remotos tienen números de AS diferentes para la detección de bucles.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
En los siguientes borradores de Internet se describe información detallada sobre la implementación de IPv6 de Juniper Networks de IPv6 a través de MPLS:
-
Borrador de Internet draft-ietf-l3vpn-bgp-ipv6-07.txt, extensión de VPN IP BGP-MPLS para VPN IPv6 (caduca en enero de 2006)
-
Borrador de Internet draft-ooms-v6ops-bgp-tunnel-06.txt, Conexión de islas IPv6 mediante IPv4 MPLS mediante enrutadores de borde de proveedor IPv6 (caduca en julio de 2006)
Estos borradores de Internet están disponibles en el sitio web de IETF en http://www.ietf.org/.
En este ejemplo, se muestra cómo interconectar dos redes IPv6 a través de un núcleo de red basado en IPv4, lo que le permite proporcionar un servicio IPv6 sin tener que actualizar los enrutadores de su red principal. El protocolo de puerta de enlace de borde multiprotocolo (MP-BGP) está configurado para intercambiar rutas entre las redes IPv6, y los datos se tuneliza entre estas redes IPv6 mediante MPLS basado en IPv4.
En Figura 1, los enrutadores PE1 y PE2 son enrutadores BGP de doble pila, lo que significa que tienen pilas IPv4 e IPv6. Los enrutadores de PE vinculan las redes IPv6 a través de los enrutadores de borde del cliente (CE) a la red de núcleo IPv4. Los enrutadores CE y PE se conectan a través de una capa de vínculo que puede transportar tráfico IPv6. Los enrutadores de PE usan IPv6 en las interfaces orientadas al enrutador ce y usan IPv4 y MPLS en las interfaces de núcleo. Tenga en cuenta que una de las redes IPv6 conectadas podría ser el Internet IPv6 global.
Los dos enrutadores pe se vinculan a través de una sesión MP-BGP mediante direcciones IPv4. Utilizan la sesión para intercambiar rutas IPv6 con un indicador de familia de direcciones (AFI) IPv6 (valor 2) y una posterior AFI (SAFI) (valor 4). Cada enrutador PE establece el siguiente salto para las rutas IPv6 anunciadas en esta sesión a su propia dirección IPv4. Dado que MP-BGP requiere que el siguiente salto del BGP corresponda con la misma familia de direcciones que la información de accesibilidad de la capa de red (NLRI), esta dirección IPv4 debe estar integrada en un formato IPv6.
Los enrutadores de PE pueden aprender las rutas IPv6 de los enrutadores CE conectados a ellos mediante protocolos de enrutamiento Protocolo de información de enrutamiento de última generación (RIPng) o MP-BGP, o mediante configuración estática. Tenga en cuenta que si se utiliza el BGP como protocolo de enrutador de PE a CE, la sesión mp-BGP entre el enrutador pe y el enrutador CE podría ocurrir a través de una sesión de protocolo de control de transmisión IPv4 o IPv6 (TCP). Además, las rutas del BGP intercambiadas en esa sesión tendrían unidifusión SAFI. Debe configurar una política de exportación para pasar rutas entre IBGP y EBGP, y entre BGP y cualquier otro protocolo.
Los enrutadores PE tienen LSP MPLS enrutados a las direcciones IPv4 de los demás. IPv4 proporciona señalización para los LSP por medio de LDP o RSVP. Estos LSP se utilizan para resolver las direcciones del próximo salto de las rutas IPv6 aprendidas del MP-BGP. Los siguientes saltos usan direcciones IPv6 asignadas a IPv4, mientras que los LSP usan direcciones IPv4.
Los enrutadores PE siempre anuncian rutas IPv6 entre sí mediante un valor de etiqueta de 2, la etiqueta null explícita para IPv6 según se define en RFC 3032, Codificación de pila de etiquetas MPLS. Como consecuencia, cada uno de los próximos saltos de reenvío para las rutas IPv6 aprendidos de los enrutadores de PE remotos normalmente empuja dos etiquetas. La etiqueta interna es 2 (esta etiqueta podría ser diferente si el enrutador de PE publicitario no es una plataforma de enrutamiento de Juniper Networks), y la etiqueta externa es la etiqueta LSP. Si el LSP es un LSP de un solo salto, solo se inserta la etiqueta 2.
También es posible que los enrutadores de PE intercambien rutas IPv6 simples mediante la unidifusión SAFI. Sin embargo, existe una ventaja importante en el intercambio de rutas denominadas IPv6. El enrutador de penúltimo salto para una LSP MPLS puede lanzar la etiqueta externa y luego enviar el paquete con la etiqueta interna como un paquete MPLS. Sin la etiqueta interna, el penúltimo salto del enrutador tendría que descubrir si el paquete es un paquete IPv4 o IPv6 para establecer correctamente el campo de protocolo en el encabezado de la capa 2.
Cuando el enrutador Figura 1 PE1 recibe un paquete IPv6 del enrutador CE1, realiza una búsqueda en la tabla de reenvío IPv6. Si el destino coincide con un prefijo aprendido del enrutador CE2, no es necesario insertar etiquetas y el paquete se envía simplemente al enrutador CE2. Si el destino coincide con un prefijo que aprendió del enrutador PE2, el enrutador PE1 inserta dos etiquetas en el paquete y los envía al enrutador del proveedor. La etiqueta interna es 2 y la etiqueta externa es la etiqueta LSP para el enrutador PE2.
Cada enrutador de proveedor en la red del proveedor de servicios maneja el paquete como lo haría con cualquier paquete MPLS, intercambiando etiquetas a medida que pasa de enrutador de proveedor a enrutador de proveedor. El penúltimo salto del enrutador del proveedor del LSP extrae la etiqueta externa y envía el paquete al enrutador PE2. Cuando el enrutador PE2 recibe el paquete, reconoce la etiqueta null explícita IPv6 en el paquete (Etiqueta 2). Aparece esta etiqueta y lo trata como un paquete IPv6, realizando una búsqueda en la tabla de reenvío IPv6 y reenviando el paquete al enrutador CE3.
En este ejemplo, se incluyen las siguientes opciones de configuración:
-
Además de configurar la
family inet6instrucción en todas las interfaces orientadas al enrutador CE, también debe configurar la instrucción en todas las interfaces de núcleo que ejecutan MPLS. Ambas configuraciones son necesarias porque el enrutador debe ser capaz de procesar cualquier paquete IPv6 que reciba en estas interfaces. No debería ver ningún tráfico IPv6 regular llegar a estas interfaces, pero recibirá paquetes MPLS etiquetados con la etiqueta 2. Aunque los paquetes MPLS de etiqueta 2 se envían en IPv4, estos paquetes se tratan como paquetes IPv6 nativos. -
Para habilitar la tunelización IPv6, incluya la
ipv6-tunnelinginstrucción en la configuración de los enrutadores PE. Esta instrucción permite que las rutas IPv6 se resuelvan a través de una red MPLS convirtiendo todas las rutas almacenadas en la tabla de enrutamiento inet.3 a direcciones IPv6 asignadas a IPv4 y, luego, copiándolas en la tabla de enrutamiento inet6.3. Esta tabla de enrutamiento se puede usar para resolver los próximos saltos de las rutas inet6 e inet6-vpn.Nota:El BGP ejecuta automáticamente su política de importación incluso cuando copia rutas de un grupo de tabla de enrutamiento principal a un grupo de tabla de enrutamiento secundario. Si las rutas IPv4 etiquetadas llegan desde una sesión de BGP (por ejemplo, cuando haya configurado la instrucción en el
labeled-unicast[edit protocols bgp family inet]nivel de jerarquía en el enrutador de PE), la política de importación del vecino del BGP también acepta rutas IPv6, ya que la política de importación del vecino se ejecuta mientras se realiza la operación de copia en la tabla de enrutamiento inet6.3. -
Cuando configure MP-BGP para transportar tráfico IPv6, la etiqueta MPLS IPv4 se elimina en el enrutador PE de destino. El paquete IPv6 restante sin etiqueta se puede reenviar a la red IPv6. Para habilitar esto, incluya la
explicit-nullinstrucción en la configuración del BGP.
Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el [edit] nivel de jerarquía.
Dispositivo PE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.5/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.2/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toCE1 type external set protocols bgp group toCE1 local-address ::10.1.1.2 set protocols bgp group toCE1 family inet6 unicast set protocols bgp group toCE1 export send-bgp6 set protocols bgp group toCE1 peer-as 65001 set protocols bgp group toCE1 neighbor ::10.1.1.1 set protocols bgp group toPE2 type internal set protocols bgp group toPE2 local-address 10.1.1.2 set protocols bgp group toPE2 family inet6 labeled-unicast explicit-null set protocols bgp group toPE2 export next-hop-self set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 neighbor 10.1.1.4 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/1.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.2 set routing-options autonomous-system 65002
Dispositivo PE2
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.10/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet6 address ::10.1.1.13/126 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.4/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toPE1 type internal set protocols bgp group toPE1 local-address 10.1.1.4 set protocols bgp group toPE1 family inet6 labeled-unicast explicit-null set protocols bgp group toPE1 export next-hop-self set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 neighbor 10.1.1.2 set protocols bgp group toCE3 type external set protocols bgp group toCE3 local-address ::10.1.1.13 set protocols bgp group toCE3 family inet6 unicast set protocols bgp group toCE3 export send-bgp6 set protocols bgp group toCE3 peer-as 65003 set protocols bgp group toCE3 neighbor ::10.1.1.14 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/0.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.4 set routing-options autonomous-system 65002
Dispositivo P
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.6/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.9/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.3/32 set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/1.0 set routing-options router-id 10.1.1.3 set routing-options autonomous-system 65002
Dispositivo CE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.1/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.1/128 set protocols bgp group toPE1 type external set protocols bgp group toPE1 local-address ::10.1.1.1 set protocols bgp group toPE1 family inet6 unicast set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 peer-as 65002 set protocols bgp group toPE1 neighbor ::10.1.1.2 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.255.1.1 set routing-options autonomous-system 65001
Dispositivo CE3
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.14/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.5/128 set protocols bgp group toPE2 type external set protocols bgp group toPE2 local-address ::10.1.1.14 set protocols bgp group toPE2 family inet6 unicast set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 peer-as 65002 set protocols bgp group toPE2 neighbor ::10.1.1.13 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.255.1.5 set routing-options autonomous-system 65003
Configuración del dispositivo PE1
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo PE1:
-
Configure las interfaces.
[edit interfaces] user@PE1# set fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 user@PE1# set fe-1/2/0 unit 0 family mpls user@PE1# set fe-1/2/1 unit 0 family inet address 10.1.1.5/30 user@PE1# set fe-1/2/1 unit 0 family inet6 user@PE1# set fe-1/2/1 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 10.1.1.2/32
-
Configure MPLS en las interfaces.
[edit protocols mpls] user@PE1# set ipv6-tunneling user@PE1# set interface fe-1/2/0.0 user@PE1# set interface fe-1/2/1.0
-
Configure BGP.
[edit protocols bgp] user@PE1# set group toCE1 type external user@PE1# set group toCE1 local-address ::10.1.1.2 user@PE1# set group toCE1 family inet6 unicast user@PE1# set group toCE1 export send-bgp6 user@PE1# set group toCE1 peer-as 65001 user@PE1# set group toCE1 neighbor ::10.1.1.1 user@PE1# set group toPE2 type internal user@PE1# set group toPE2 local-address 10.1.1.2 user@PE1# set group toPE2 family inet6 labeled-unicast explicit-null user@PE1# set group toPE2 export next-hop-self user@PE1# set group toPE2 export send-v6 user@PE1# set group toPE2 neighbor 10.1.1.4
-
Configurar OSPF
[edit protocols ospf area 0.0.0.0] user@PE1# set interface fe-1/2/1.0 user@PE1# set interface lo0.0 passive
-
Configure un protocolo de señalización.
[edit protocols] user@PE1# set ldp interface fe-1/2/1.0
-
Configure las políticas de enrutamiento.
[edit policy-options] user@PE1# set policy-statement next-hop-self then next-hop self user@PE1# set policy-statement send-bgp6 from family inet6 user@PE1# set policy-statement send-bgp6 from protocol bgp user@PE1# set policy-statement send-bgp6 then accept user@PE1# set policy-statement send-v6 from family inet6 user@PE1# set policy-statement send-v6 from protocol bgp user@PE1# set policy-statement send-v6 from protocol direct user@PE1# set policy-statement send-v6 then accept
-
Configure el ID de enrutador y el número de sistema autónomo (AS).
[edit routing-options] user@PE1# set router-id 10.1.1.2 user@PE1# set autonomous-system 675002
Resultados
Desde el modo de configuración, ingrese los comandos , show policy-options, show protocolsy show routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@R1# show interfaces
fe-1/2/0 {
unit 0 {
family inet6 {
address ::10.1.1.2/126;
}
family mpls;
}
}
fe-1/2/1 {
unit 0 {
family inet {
address 10.1.1.5/30;
}
family inet6;
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 10.1.1.2/32;
}
}
}
user@R1# show policy-options
policy-statement next-hop-self {
then {
next-hop self;
}
}
policy-statement send-bgp6 {
from {
family inet6;
protocol bgp;
}
then accept;
}
policy-statement send-v6 {
from {
family inet6;
protocol [ bgp direct ];
}
then accept;
}
user@R1# show protocols
mpls {
ipv6-tunneling;
interface fe-1/2/0.0;
interface fe-1/2/1.0;
}
bgp {
group toCE1 {
type external;
local-address ::10.1.1.2;
family inet6 {
unicast;
}
export send-bgp6;
peer-as 65001;
neighbor ::10.1.1.1;
}
group toPE2 {
type internal;
local-address 10.1.1.2;
family inet6 {
labeled-unicast {
explicit-null;
}
}
export [ next-hop-self send-v6 ];
neighbor 10.1.1.4;
}
}
ospf {
area 0.0.0.0 {
interface fe-1/2/1.0;
interface lo0.0 {
passive;
}
}
}
ldp {
interface fe-1/2/1.0;
}
user@R1# show routing-options router-id 10.1.1.2; autonomous-system 65002;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración. Configure los demás dispositivos en la topología, como se muestra en Configuración rápida de CLI.
Verificación
Confirme que la configuración funciona correctamente.
Verificar que los dispositivos CE tengan conectividad
Propósito
Asegúrese de que el túnel está funcionando.
Acción
Desde el modo operativo, ingrese el ping comando.
user@CE1> ping ::10.1.1.14 PING6(56=40+8+8 bytes) ::10.1.1.1 --> ::10.1.1.14 16 bytes from ::10.1.1.14, icmp_seq=0 hlim=61 time=10.687 ms 16 bytes from ::10.1.1.14, icmp_seq=1 hlim=61 time=9.239 ms 16 bytes from ::10.1.1.14, icmp_seq=2 hlim=61 time=1.842 ms
user@CE3> ping ::10.1.1.1 PING6(56=40+8+8 bytes) ::10.1.1.14 --> ::10.1.1.1 16 bytes from ::10.1.1.1, icmp_seq=0 hlim=61 time=1.484 ms 16 bytes from ::10.1.1.1, icmp_seq=1 hlim=61 time=1.338 ms 16 bytes from ::10.1.1.1, icmp_seq=2 hlim=61 time=1.351 ms
Significado
Los dispositivos CE IPv6 pueden comunicarse a través de la red IPv4 central.
