viernes, 9 de mayo de 2014

Análisis sobre la evolución de las redes de comunicación.

Hace algunos años, cuando las redes de comunicación se encontraban en su mayor auge, se tenia cierto grado de incertidumbre respecto al rumbo en el cual evolucionarían las comunicaciones, por una parte se tenían las redes SONET/SDH y en otra mano lo que hoy conocemos como las redes Ethernet/IP.

Finalmente ganaron las redes IP, algunas empresas decidieron invertir y apostar por las tecnologías SDH, estas empresas tuvieron grandes perdidas cuando la humanidad decidió apuntarse en una dirección diferente, quienes creyeron en el protocolo IP tuvieron mejores oportunidades y hoy los vemos como líderes en la industria de lo que hoy conocemos como  el protocolo IPv4.

En su proceso de evolución, las redes de comunicación dieron un siguiente paso adicionando un mecanismo de transporte para múltiples protocolos basado en etiquetas, conocido mundialmente como Multi Protocol Label Switching (MPLS).

Hoy en dia las redes de proveedores hacen uso de MPLS para proporcionar el transporte de redes de diferentes tipos tanto legacy ATM, FrameRelay, SDH, como lo actual y nuevo Ethernet, IPv4 e  IPv6, sin embargo, una vez mas el rumbo de las comunicaciones esta alcanzando la cúspide de inflexión en la cual se determinan los cambios tecnológicos que deparan a la raza humana.

A los que trabajamos y vivimos de las redes de comunicación no nos queda mas que aprender y adaptarnos a los cambios que se suscitaran ante esta tercera ola tecnológica, las tecnologías que nos esperan son retadoras y actualmente ya existen, las grandes compañías que una vez liberaron el mercado y debatieron sobre el futuro de la humanidad lo están haciendo una vez mas.

Asi que les digo, hay que aprender, adaptarse, estudiar continuamente, con la mirada puesta en el futuro, sin olvidar aprender del pasado.

IPv6 Neighbor Discovery Protocol

Saludos,

El proposito de este post es, establecer bases teóricas sobre el comportamiento del protocolo IPv6 el cual hace uso de mecanismos de comunicación basados en Multicast para el envío de paquetes IPv6 entre diferentes dispositivos.

Si recordamos un poco, en las redes IPv4 existe un tipo de comunicación de uno a todos llamado Broadcast. Para comunicar dos dispositivos en un mismo segmento de red, debe existir una coherencia y relación entre las direcciones lógicas IPv4 y las direcciones físicas MAC, esta relación se construye en una base de datos a partir del protocolo ARP, el cual usa Broadcast como método de comunicación.

En la entrada anterior se dijo que en IPv6 no existe el Broadcast y que en su lugar se utiliza Multicast para establecer comunicación de uno a muchos dispositivos.

De esta forma IPv6 evoluciona para no usar el protocolo ARP, sin embargo para satisfacer los requerimientos de comunicación entre dispositivos surgen los protocolos de los cuales hoy les vengo a hablar

Neighbor Discovery Protocol.

El estándar RFC 4861 establece las bases sobre las cuales dos terminales que cuenten con direcciones IPv6 deben emplear para poder comunicarse en un mismo segmento de red, para esto se definen 5 tipos de paquetes ICMP que un host puede enviar o recibir, IPv6 hace mayor uso de ICMP que IPv4 quien solamente utilizaba para enviar notificaciones de destinos inalcanzables.

Los 5 tipos de paquetes ICMP son Router Solicitation/Router Advertisement, Neighbor Solicitation/Neighbor Advertisement, y Redirect.


Router Solicitation

Cuando un host activa una interfaz en una red IPv6 este envia un paquete ICMP  consultando si existe un Router en el segmento de red.

Router Advertisement

Un router responde un Router Solicitation, para notificarse a si mismo como Router dentro del segmento de red, a la vez proveer información relevante sobre el estado de la conexión.

Neighbor Solicitation

Funciona igual que Router Solicitation, sin embargo es principalmente utilizado para detectar otros host en la red.

Neighbor Advertisement

Funciona igual que Router Advertisement, sin embargo es principalmente utilizado para anunciar un host en la red.

Redirect

Es un mensaje enviado por un Router para informar que existe un mejor camino para alcanzar la dirección deseada.


Este intercambio de mensajes es utilizado por otros protocolos para realizar procesos tales como Auto Configuracion de direcciones IPv6 State Full o StateLess, adicionalmente sirve para realizar la detección de direcciones duplicadas en el segmento de red.

Podemos ver que en una red IPv6 existen un gran numero de protocolos de comunicación que están ínter actuando para garantizar la conectividad de las plataformas, reduciendo problemas que previamente se tenían en las redes IPv4.

Estos mecanismos de comunicación entre hosts y Routers implican un riesgo potencial de seguridad, ya que dan cabida a potenciales ataques de hombre en el medio, donde un hacker se auto proclame Router en una red, por lo cual existen mecanismos especiales para segurizar esta comunicación, este tema será abordado en otro post.

Espero que les sea de ayuda o haya parecido interesante, de antemano se agradece cualquier comentario  o cualquier aporte, hasta la próxima.

jueves, 8 de mayo de 2014

Auto Configuracion de direcciones IPv6 (SLAAC + EUI-64)

Saludos,

En esta ocasión les traigo un tema que es de mucho interés en el despliegue de redes IPv6, es la auto configuración de direcciones IPv6, como recordarán en IPv4 teníamos dos métodos para configurar las direcciones IP, los cuales eran manual, o dynamica a traves del protocolo DHCP, la configuración de direcciones IP de forma manual se convirtió una practica poco eficiente y sin mucha escalabilidad, debido a la complejidad operativa de realizar la configuración en cada PC.

Por medio de DHCP es posible asignar direcciones IPv4 sin necesidad de aplicar configuración especifica en cada dispositivo final de la red, esto redujo costos operativos y maximizo la eficiencia en una red enterprise, ya que al agregar una nueva estación de trabajo no había necesidad de hacer nada especial para agregarla a la red, de igual forma se redujeron los errores por duplicidad de direcciones IP.

Si asignar direcciones IPv4 de forma manual se volvía complejo, ahora imagina extrapolar eso a 128 bits, las direcciones son mas complejas y se volvería insostenible hacer la asignación de direcciones de forma manual, por lo que existen la versión v6 del protocolo DHCP, el cual a diferencia de la versión para IPv4 este no utiliza packetes de broadcast para el intercambio de información, este hace uso de Multicast, en términos generales en IPv6 no existe el trafico broadcast, solamente se utiliza Multicast, pero eso es tema de otro post.

El protocolo DHCP es un metodo llamado State Full, debido a que el servidor que provee este servicio tiene pleno control y gestión de las direcciones v4 o v6 que esta arrendando. un cliente de este servicio podemos decir que pide prestada una dirección por un tiempo.

El objetivo de este post no era hablar tanto de DHCP sino que en realidad estaba fomentando la base para hablar de la auto configuración del tipo State Less llamado SLAAC (State Less Adress Auto Configuratión) RFC2464, en el cual no existe un servidor centralizado responsable de asignar las direcciones IPv6 sino que en realidad es cada Host que se conecta a una red envía mensajes ICMPv6 buscando descubrir un Router en el link local, vale la pena mencionar que también en el envío de estos mensajes se utiliza Multicast, estos paquetes de descubrimiento deben ser enviados a todos los host que se encuentren conectados en el segmento de red, esto nos recuerda un poco al concepto de Broadcast, sin embargo recordemos que en v6 el broadcast es obsoleto por lo que se envían los paquetes a una dirección fija de Multicast.

Este procedimiento es llamado router-solicitation, en caso de que en la red se encuentre un router con la capacidad de responder estas solicitudes, este enviará los parámetros base de red para la configuración de los host.

El mecanismo de configuracion SLAAC hace uso del estándar EUI-64 (RFC4291) en el cual se define una IPv6 incluyendo 64 bits de EUI-64. de estos 48 son generados a partir de un identificador de la interfaz física. en la mayoría de casos este numero, es la misma dirección MAC, (RFC2464) existen algunas excepciones o extensiones pero no entrare en detalles al respecto, para completar los 64 bits se insertan al medio 16 bits reglamentarios en una dirección formada bajo este estándar.

Digamos que tenemos una PC con la dirección MAC 34-56-78-9A-BC-DE, esta dirección física fue establecida por el fabricante de la NIC (Network Internet Card) en la cual los primeros 24 bits conforman el OUI (Organization Unique Identifier), es decir el numero único que identifica al fabricante de la NIC, los restantes 24 bits conforman el identificar único de esa NIC.

El estandar EUI-64 define 16 bits con el valor FF-FE para ser insertados al medio entre las dos mitades de la direccion MAC, de esta forma 34-56-78-FF-FE-9A-BC-DE, asi se completan los 64 bits del estándar con los cuales un host puede autoconfigurar su propia dirección IPv6.

EJ.

Configuración de dirección IPv6  bajo el estándar EUI-64::

R1#show interface Fa0/1 | in Hard
  Hardware is Gt96k FE, address is c000.6dc2.0001 (bia c000.6dc2.0001)

R1#show run int fa0/1
!
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
 ipv6 address ABCD::/64 eui-64

R1#show ipv6 interface brief
FastEthernet0/0            [administratively down/down]
FastEthernet0/1            [up/up]
    FE80::C200:6DFF:FEC2:1
    ABCD::C200:6DFF:FEC2:1


Subrayados los 48 bits tomados a partir de la dirección MAC.
Negrita los 16 bits insertados a partir del estándar EUI-64

En el primer comando vemos que la dirección de Hardware inicia de esta forma c000..., sin embargo en la dirección IPv6 podemos ver un valor diferente C200…, esta discrepancia es debido a que el estándar establece que el séptimo bit de izquierda a derecha debe ser negado.

   C       0
1100  0000

Después de la negación del séptimo bit

   C       2
1100  0010

Gracias no olviden comentar, si tienen alguna pregunta con gusto se responderá bajo este post, también se agradecen ideas de temas para crear otras entradas.

martes, 8 de abril de 2014

MPLS VPNv6/VPNv4 sobre red de transporte IPv4

Saludos estimados lectores,

Este dia les traigo a ustedes un ejercicio de mucho interés para los Service Providers, actualmente muchos SP cuentan con sus redes MPLS funcionando en la cual proveen servicios de VPNv4  sobre MPLS también llamadas MPLS VRF, en esta oportunidad les presentare el servicio de VPNv6 con el cual un SP puede proveer transporte de prefijos IPv6 a través de una red MPLS nativa de IPv4, esta tecnología es llamada 6VPE el cual es un mecanismo de despliegue de IPv6, ya que no es necesario modificar la red interna MPLS del SP, únicamente es necesario activar el address-family VPNv6 de MBGP, para hacer mas interesante el diseño de esta oportunidad implementaremos dos CPE los cuales serán los clientes de IPv6, sin embargo haremos que estos clientes funcionen dual stack es decir que puedan enviar tanto trafico en v4 como en v6, ademas implementaremos un Route Reflector en el Core MPLS, recordemos que Route Reflector es una solución que permite alta escalabilidad en cuanto al manejo de sesiones BGP  dentro de un Service Provider.


Definiendo algunas bases:

El protocolo de intercambio de loopbacks será OSPF
El Route Reflector será el equipo 10.0.0.5
Los PE serán 10.0.0.1 y 10.0.0.3
Los equipos P unicamente haran swap de labels MPLS por lo que no tendrán configuración de BGP.
Los CPE no correrán ningún protocolo de enrutamiento por lo que simplemente tendrán rutas por defecto apuntando hacia su interfaz principal.

Partiremos de la siguiente topología:



En dicha topologia ya contamos con un IGP y LDP corriendo en la red lo comprobamos en los equipos PE, los archivos de configuración para establecer esta conectividad se encuentran al final de este post:

PE1:
PE1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
10.0.0.4          0   FULL/  -        00:00:39    10.210.0.6      FastEthernet0/1
10.0.0.2          0   FULL/  -        00:00:39    10.210.0.2      FastEthernet0/0

PE1#show mpls ldp neighbor 
    Peer LDP Ident: 10.0.0.4:0; Local LDP Ident 10.0.0.1:0
TCP connection: 10.0.0.4.18737 - 10.0.0.1.646
State: Oper; Msgs sent/rcvd: 32/32; Downstream
Up time: 00:16:17
LDP discovery sources:
 FastEthernet0/1, Src IP addr: 10.210.0.6
        Addresses bound to peer LDP Ident:
          10.210.0.14     10.0.0.4        10.210.0.6      10.210.197.6    
    Peer LDP Ident: 10.0.0.2:0; Local LDP Ident 10.0.0.1:0
TCP connection: 10.0.0.2.14045 - 10.0.0.1.646
State: Oper; Msgs sent/rcvd: 32/32; Downstream
Up time: 00:16:15
LDP discovery sources:
 FastEthernet0/0, Src IP addr: 10.210.0.2
        Addresses bound to peer LDP Ident:
          10.210.0.2      10.0.0.2        10.210.0.10     10.210.197.2    

PE2:
PE2#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
10.0.0.2          0   FULL/  -        00:00:32    10.210.0.10     FastEthernet0/1
10.0.0.4          0   FULL/  -        00:00:32    10.210.0.14     FastEthernet0/0

PE2#show mpls ldp neighbor 
    Peer LDP Ident: 10.0.0.2:0; Local LDP Ident 10.0.0.3:0
TCP connection: 10.0.0.2.646 - 10.0.0.3.27967
State: Oper; Msgs sent/rcvd: 35/35; Downstream
Up time: 00:18:36
LDP discovery sources:
 FastEthernet0/1, Src IP addr: 10.210.0.10
        Addresses bound to peer LDP Ident:
          10.210.0.2      10.0.0.2        10.210.0.10     10.210.197.2    
    Peer LDP Ident: 10.0.0.4:0; Local LDP Ident 10.0.0.3:0
TCP connection: 10.0.0.4.34200 - 10.0.0.3.646
State: Oper; Msgs sent/rcvd: 35/35; Downstream
Up time: 00:18:36
LDP discovery sources:
 FastEthernet0/0, Src IP addr: 10.210.0.14
        Addresses bound to peer LDP Ident:
          10.210.0.14     10.0.0.4        10.210.0.6      10.210.197.6    

A continuación mostramos la configuración en ambos CPE:

CPE1:

ipv6 unicast-routing
!
!
interface FastEthernet1/0
 ip address 192.168.1.2 255.255.255.252
 duplex auto
 speed auto
 ipv6 address 2001:192:168:1::2/64
 ipv6 address autoconfig default
!         

ip route 0.0.0.0 0.0.0.0 FastEthernet1/0
!

CPE2:


ipv6 unicast-routing
!
!
interface FastEthernet1/0
 ip address 192.168.2.2 255.255.255.0
 duplex auto
 speed auto
 ipv6 address 2001:192:168:2::2/64
 ipv6 address autoconfig default
!         
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 FastEthernet1/0
!
!

En los PE recibiremos estas conexiones directamente en una VRF que llamaremos 6VPE, para crear esta VRF lo haremos de forma diferente a una VRF VPNv4 convencional a continuación se presenta la configuración necesaria en PE1, la misma configuración de la VRF aplica para PE2

PE1:

vrf definition 6VPE
 rd 1:100
 !
 address-family ipv4
 route-target export 1:100
 route-target import 1:100
 exit-address-family
 !
 address-family ipv6
 route-target export 1:100
 route-target import 1:100
 exit-address-family
!  
interface FastEthernet1/0
 vrf forwarding 6VPE
 ip address 192.168.1.1 255.255.255.252
 duplex full
 ipv6 address 2001:192:168:1::1/64
 ipv6 address autoconfig
end
       

El valor de RD 1:100 lo elegimos de forma arbitraria, una red de SP utilizan RD definidos bajo reglas haciendo relación a números de sistemas autónomos y parámetros especiales de cada equipo.

Es importante notar que definimos dos Address-Family dentro de esta VRF, por lo que será una VRF dual stack en la cual tendremos dos tablas de enrutamiento una para v4 y otra para v6.

Configuramos PE1 y PE2 para hablar MPBGP con el Route Reflector en dos diferentes Address-Family VPNv4 y VPNv6

PE1:
router bgp 1
 bgp router-id 10.0.0.1
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.0.0.5 remote-as 1
 neighbor 10.0.0.5 update-source Loopback0
 !
 address-family ipv4
  no synchronization
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 10.0.0.5 activate
  neighbor 10.0.0.5 send-community both
 exit-address-family
 !
 address-family vpnv6
  neighbor 10.0.0.5 activate
  neighbor 10.0.0.5 send-community both
 exit-address-family
 !

Adicionalmente definimos dos address-family para la VRF 6VPE estos serán IPv4 e IPv6, con los siguientes comandos indicamos a BGP que deberá redistribuir las rutas conectadas en la VRF 6VPE tanto IPv4 como IPv6:

PE1:
router bgp 1
 address-family ipv4 vrf 6VPE
  no synchronization
  redistribute connected
 exit-address-family
 !
 address-family ipv6 vrf 6VPE
  redistribute connected
  no synchronization
 exit-address-family
!
!
Con respecto al Route Reflector es de importancia revisar la configuración de BGP en el cual podemos apreciar la instrucción donde  definimos que los equipos 10.0.0.1 y 10.0.0.3 son clientes de Route Reflector

RR:
router bgp 1
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.0.0.1 remote-as 1
 neighbor 10.0.0.1 update-source Loopback0
 neighbor 10.0.0.3 remote-as 1
 neighbor 10.0.0.3 update-source Loopback0
 !
 address-family ipv4
  no synchronization
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 10.0.0.1 activate
  neighbor 10.0.0.1 send-community both
  neighbor 10.0.0.1 route-reflector-client
  neighbor 10.0.0.3 activate
  neighbor 10.0.0.3 send-community both
  neighbor 10.0.0.3 route-reflector-client
 exit-address-family
 !
 address-family vpnv6
  neighbor 10.0.0.1 activate
  neighbor 10.0.0.1 send-community both
  neighbor 10.0.0.1 route-reflector-client
  neighbor 10.0.0.3 activate
  neighbor 10.0.0.3 send-community both
  neighbor 10.0.0.3 route-reflector-client
 exit-address-family
!         

Comprobamos las sesiones BGP VPNv4 en el Route Reflector

RR:
RR#show bgp vpnv4 unicast all summary 
BGP router identifier 10.0.0.5, local AS number 1
BGP table version is 5, main routing table version 5
2 network entries using 304 bytes of memory
2 path entries using 104 bytes of memory
1/1 BGP path/bestpath attribute entries using 132 bytes of memory
1 BGP extended community entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 564 total bytes of memory
BGP activity 4/0 prefixes, 11/7 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.0.1        4            1      40      44        5    0    0 00:29:59        1
10.0.0.3        4            1      40      41        5    0    0 00:29:52        1

Comprobamos las sessiones BGP VPNv6 en el Route Reflector

RR:
RR#show bgp vpnv6 unicast all summary 
BGP router identifier 10.0.0.5, local AS number 1
BGP table version is 15, main routing table version 15
2 network entries using 352 bytes of memory
2 path entries using 160 bytes of memory
1/1 BGP path/bestpath attribute entries using 132 bytes of memory
1 BGP extended community entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 668 total bytes of memory
BGP activity 4/0 prefixes, 11/7 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.0.1        4            1      40      45       15    0    0 00:30:40        1
10.0.0.3        4            1      41      41       15    0    0 00:30:33        1

Podemos ver que cada PE nos esta enviando 1 prefijo tanto para la VPNv4 como para la VPNv6, estos prefijos son las rutas directamente conectadas hacia los CPE.

En PE1 podremos ver en cada tabla de enrutamiento que tenemos aprendido por BGP el prefijo de PE2 y vice versa

A continuación se presentan las tablas de enrutamiento para PE1:

PE1:
PE1#show ip route vrf 6VPE

Routing Table: 6VPE
Codes: L - local, 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, H - NHRP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/30 is directly connected, FastEthernet1/0
L        192.168.1.1/32 is directly connected, FastEthernet1/0
      192.168.2.0/30 is subnetted, 1 subnets
B        192.168.2.0 [200/0] via 10.0.0.3, 00:33:13

PE1#show ipv6 route vrf 6VPE
IPv6 Routing Table - 6VPE - 5 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2
       IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external
       ND - Neighbor Discovery
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
C   2001:192:168:1::/64 [0/0]
     via FastEthernet1/0, directly connected
L   2001:192:168:1::1/128 [0/0]
     via FastEthernet1/0, receive
L   2001:192:168:1:C809:19FF:FED1:1C/128 [0/0]
     via FastEthernet1/0, receive
B   2001:192:168:2::/64 [200/0]
     via 10.0.0.3%default, indirectly connected
L   FF00::/8 [0/0]
     via Null0, receive

Finalmente probamos la colectividad IPv4 e IPv6 desde el CPE1 hasta el CPE2 atravesando la red MPLS nativa en IPv4

CPE1#ping 192.168.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 44/56/68 ms

CPE1#ping ipv6 2001:192:168:2::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:192:168:2::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/41/48 ms
CPE1#

Configuraciones Completas:

CPE1:
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CPE1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
no ip domain lookup
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
!
ipv6 unicast-routing
!
!
ip tcp synwait-time 5
!         
!
!
!
!
interface FastEthernet0/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet1/0
 ip address 192.168.1.2 255.255.255.252
 duplex auto
 speed auto
 ipv6 address 2001:192:168:1::2/64
 ipv6 address autoconfig default
!         
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 FastEthernet1/0
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
!
!
end

CPE2:

!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CPE2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
no ip domain lookup
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
!
ipv6 unicast-routing
!
!
ip tcp synwait-time 5
!         
!
!
!
!
interface FastEthernet0/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet1/0
 ip address 192.168.2.2 255.255.255.0
 duplex auto
 speed auto
 ipv6 address 2001:192:168:2::2/64
 ipv6 address autoconfig default
!         
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 FastEthernet1/0
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
!
!
end

PE1:

!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname PE1
!
boot-start-marker
boot-end-marker
!
vrf definition 6VPE
 rd 1:100
 !
 address-family ipv4
 route-target export 1:100
 route-target import 1:100
 exit-address-family
 !
 address-family ipv6
 route-target export 1:100
 route-target import 1:100
 exit-address-family
!
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
!
!
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.0.0.1 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.210.0.1 255.255.255.252
 ip ospf network point-to-point
 speed auto
 duplex half
 mpls ip
!
interface FastEthernet0/1
 ip address 10.210.0.5 255.255.255.252
 ip ospf network point-to-point
 speed auto
 duplex half
 mpls ip
!         
interface FastEthernet1/0
 vrf forwarding 6VPE
 ip address 192.168.1.1 255.255.255.252
 duplex full
 ipv6 address 2001:192:168:1::1/64
 ipv6 address autoconfig
!
router ospf 1
 router-id 10.0.0.1
 log-adjacency-changes
 network 10.0.0.1 0.0.0.0 area 0
 network 10.210.0.1 0.0.0.0 area 0
 network 10.210.0.5 0.0.0.0 area 0
!
router bgp 1
 bgp router-id 10.0.0.1
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.0.0.5 remote-as 1
 neighbor 10.0.0.5 update-source Loopback0
 !
 address-family ipv4
  no synchronization
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 10.0.0.5 activate
  neighbor 10.0.0.5 send-community both
 exit-address-family
 !
 address-family vpnv6
  neighbor 10.0.0.5 activate
  neighbor 10.0.0.5 send-community both
 exit-address-family
 !
 address-family ipv4 vrf 6VPE
  no synchronization
  redistribute connected
 exit-address-family
 !
 address-family ipv6 vrf 6VPE
  redistribute connected
  no synchronization
 exit-address-family
!         
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login    
!
end

PE2:

!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname PE2
!
boot-start-marker
boot-end-marker
!
vrf definition 6VPE
 rd 1:100
 !
 address-family ipv4
 route-target export 1:100
 route-target import 1:100
 exit-address-family
 !
 address-family ipv6
 route-target export 1:100
 route-target import 1:100
 exit-address-family
!
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
!
!
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
!
interface Loopback0
 ip address 10.0.0.3 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.210.0.13 255.255.255.252
 ip ospf network point-to-point
 speed auto
 duplex auto
 mpls ip
!
interface FastEthernet0/1
 ip address 10.210.0.9 255.255.255.252
 ip ospf network point-to-point
 speed auto
 duplex auto
 mpls ip
!         
interface FastEthernet1/0
 vrf forwarding 6VPE
 ip address 192.168.2.1 255.255.255.252
 duplex full
 ipv6 address 2001:192:168:2::1/64
 ipv6 address autoconfig
!
router ospf 1
 router-id 10.0.0.3
 log-adjacency-changes
 network 10.0.0.3 0.0.0.0 area 0
 network 10.210.0.9 0.0.0.0 area 0
 network 10.210.0.13 0.0.0.0 area 0
!
router bgp 1
 bgp router-id 10.0.0.3
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.0.0.5 remote-as 1
 neighbor 10.0.0.5 update-source Loopback0
 !
 address-family ipv4
  no synchronization
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 10.0.0.5 activate
  neighbor 10.0.0.5 send-community both
 exit-address-family
 !
 address-family vpnv6
  neighbor 10.0.0.5 activate
  neighbor 10.0.0.5 send-community both
 exit-address-family
 !
 address-family ipv4 vrf 6VPE
  no synchronization
  redistribute connected
 exit-address-family
 !
 address-family ipv6 vrf 6VPE
  redistribute connected
  no synchronization
 exit-address-family
!         
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login    
!
end

P1:

!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname P1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
no ip domain lookup
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
!

!
ip tcp synwait-time 5
!         
!
!
!
interface Loopback0
 ip address 10.0.0.2 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.210.0.2 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
 mpls ip
!
interface FastEthernet0/1
 ip address 10.210.0.10 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
 mpls ip
!
interface FastEthernet1/0
 ip address 10.210.197.2 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
 mpls ip
!
router ospf 1
 router-id 10.0.0.2
 log-adjacency-changes
 network 10.0.0.2 0.0.0.0 area 0
 network 10.210.0.2 0.0.0.0 area 0
 network 10.210.0.10 0.0.0.0 area 0
 network 10.210.197.2 0.0.0.0 area 0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!         
!
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
!
!
end

P2:

!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname P2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
no ip domain lookup
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
!

!
ip tcp synwait-time 5
!         
!
!
!
interface Loopback0
 ip address 10.0.0.4 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.210.0.14 255.255.255.252
 ip ospf network point-to-point
 speed auto
 full-duplex
 mpls ip
!
interface FastEthernet0/1
 ip address 10.210.0.6 255.255.255.252
 ip ospf network point-to-point
 speed auto
 full-duplex
 mpls ip
!
interface FastEthernet1/0
 ip address 10.210.197.6 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
 mpls ip
!
router ospf 1
 router-id 10.0.0.4
 log-adjacency-changes
 network 10.0.0.4 0.0.0.0 area 0
 network 10.210.0.6 0.0.0.0 area 0
 network 10.210.0.14 0.0.0.0 area 0
 network 10.210.197.6 0.0.0.0 area 0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!         
!
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 login
!
!
end

RR:

!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname RR
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
!
!
!
no ip domain lookup
ip cef    
ipv6 unicast-routing
ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
!
interface Loopback0
 ip address 10.0.0.5 255.255.255.255
!
interface FastEthernet0/0
 no ip address
 shutdown
 speed auto
 duplex auto
!
interface FastEthernet0/1
 no ip address
 shutdown
 speed auto
 duplex auto
!
interface FastEthernet1/0
 ip address 10.210.197.1 255.255.255.252
 ip ospf network point-to-point
 speed auto
 duplex auto
 mpls ip
!
interface FastEthernet1/1
 ip address 10.210.197.5 255.255.255.252
 ip ospf network point-to-point
 speed auto
 duplex auto
 mpls ip
!
router ospf 1
 router-id 10.0.0.5
 log-adjacency-changes
 network 10.0.0.5 0.0.0.0 area 0
 network 10.210.197.1 0.0.0.0 area 0
 network 10.210.197.5 0.0.0.0 area 0
!
router bgp 1
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.0.0.1 remote-as 1
 neighbor 10.0.0.1 update-source Loopback0
 neighbor 10.0.0.3 remote-as 1
 neighbor 10.0.0.3 update-source Loopback0
 !
 address-family ipv4
  no synchronization
  no auto-summary
 exit-address-family
 !
 address-family vpnv4
  neighbor 10.0.0.1 activate
  neighbor 10.0.0.1 send-community both
  neighbor 10.0.0.1 route-reflector-client
  neighbor 10.0.0.3 activate
  neighbor 10.0.0.3 send-community both
  neighbor 10.0.0.3 route-reflector-client
 exit-address-family
 !
 address-family vpnv6
  neighbor 10.0.0.1 activate
  neighbor 10.0.0.1 send-community both
  neighbor 10.0.0.1 route-reflector-client
  neighbor 10.0.0.3 activate
  neighbor 10.0.0.3 send-community both
  neighbor 10.0.0.3 route-reflector-client
 exit-address-family
!
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login
!
end

Espero este post sea de utilidad asi que no olviden comentar cualquier pregunta, sugerencia o inquietud,  de esos feedback retomo para crear nuevas entradas, hasta la próxima.


viernes, 4 de abril de 2014

Tunnel IPv6/IP sobre red de transporte IPv4

Hola a todos después de algún tiempo de estar fuera del blog retomo con este post sobre Tunnel Ipv6 sobre red de transporte Ipv4,

Basicamente lo que haremos es construir una red de transporte Ipv4 a traves de OSPFv2 para intercambio de rutas y conformaremos un Tunnel Ipv6IP entre un router que sera nuestra isla de Ipv6 y el destino que será un router que cuenta con capacidades tanto para enrular trafico v4 como v6.

Adicionalmente correremos OSPFv3 en el tunnel para el intercambio de rutas IPv6.


A continuacion se presenta la red a implementar:



Utilizaremos las loopbacks 0 IPv4 10.0.0.X donde X es el numero de cada Router, estas loopbacks son importantes ya que desempeñan el rol de Router ID para OSPF tanto para v4 como para v6.

R1:
interface Loopback 0
ip add 10.0.0.1 255.255.255.255

Configuraremos las loopbacks 100 Ipv6 en los routers R1, R3 y R4, el no configurarla en R2 es intencional ya que R2 solamente funcionara como transporte IPv4 en el cual encapsularemos transporte IPv6, para esto utilizaremos la red 2001:ABCD::X/128 donde X es el numero de router

R1:
interface Loopback 100
ipv6 address 2001:ABCD::1/128

Configuraremos un tunnel entre R1 y R3 por lo cual nos valdremos del proceso de OSPF en IPv4 para intercambiar las loopbacks 10.0.0.X las cuales utilizaremos como source y destination para establecer el tunnel.


R1:
interface Tunnel0
tunnel source Loopback0
tunnel destination 10.0.0.3
tunnel mode ipv6ip

El tunnel necesita subnet Ipv6 para funcionar correctamente esta al igual que todas las direcciones punto a punto de tipo locales las configuraremos a traves del feature autoconfig el cual utiliza la mac address para generar una dirección Ipv6 única en un enlace local.

R1:
interface Tunnel 0
ipv6 address autoconfig

A continuacion se presentan las configuraciones aplicadas en cada equipo



R1:

ipv6 unicast-routing << Activamos el enrutamiento del protocolo IPv6
!
!
interface Loopback0
 ip address 10.0.0.1 255.255.255.255
!
interface Loopback100
 no ip address
 ipv6 address 2001:ABCD::1/128
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
!
interface Tunnel0
 no ip address
 ipv6 address autoconfig << Usamos el feature autoconfig para configurar las IP de dinamicas
 ipv6 ospf 1 area 0  << A traves de este comando iniciamos  OSPFv3 en el tunnel
 tunnel source Loopback0
 tunnel destination 10.0.0.3
 tunnel mode ipv6ip
!
interface FastEthernet0/0
 ip address 10.210.12.1 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
router ospf 1
 router-id 10.0.0.1
 log-adjacency-changes
 network 10.0.0.1 0.0.0.0 area 0
 network 10.210.12.1 0.0.0.0 area 0
 network 192.168.1.0 0.0.0.255 area 0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!      
ipv6 router ospf 1
 router-id 10.0.0.1 << Definimos un router ID consistente para el OSPFv3
 log-adjacency-changes
!


R2: << R2 No tiene nada de Ipv6 configurado

!
interface Loopback0
 ip address 10.0.0.2 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.210.12.2 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 10.210.23.1 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
 mpls ip
!
router ospf 1
 router-id 10.0.0.2
 log-adjacency-changes
 network 10.0.0.2 0.0.0.0 area 0
 network 10.210.12.2 0.0.0.0 area 0
 network 10.210.23.1 0.0.0.0 area 0

R3:

ipv6 unicast-routing
!

interface Loopback0
 ip address 10.0.0.3 255.255.255.255
!
interface Loopback100
 no ip address
 ipv6 address 2001:ABCD::3/128
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
!
interface Tunnel0
 no ip address
 ipv6 address autoconfig
 ipv6 ospf 1 area 0
 tunnel source Loopback0
 tunnel destination 10.0.0.1 << Destinos y Origen del tunnel son Ipv4
 tunnel mode ipv6ip
!
interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
 ipv6 address autoconfig
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
!
interface FastEthernet0/1
 ip address 10.210.23.2 255.255.255.252
 ip ospf network point-to-point
 duplex auto
 speed auto
!
router ospf 1
 router-id 10.0.0.3
 log-adjacency-changes
 network 10.0.0.3 0.0.0.0 area 0
 network 10.210.23.2 0.0.0.0 area 0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
ipv6 router ospf 1
 router-id 10.0.0.3
 log-adjacency-changes
!


R4:

ipv6 unicast-routing
!

interface Loopback0
 ip address 10.0.0.4 255.255.255.255
!
interface Loopback100
 no ip address
 ip ospf 1 area 0
 ipv6 address 2001:ABCD::4/128
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
 ipv6 address autoconfig
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
!
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
!
router ospf 1
 log-adjacency-changes
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
ipv6 router ospf 1
 router-id 10.0.0.4
 log-adjacency-changes
!


Comprobamos el funcionamiento de nuestra solución, las tablas de enrolamiento son independientes para ambos protocolos, como podrán observar en R2 no existe ningún prefijo IPv6


Tablas de Enrutamiento IPv4 e IPv6


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

     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O       10.0.0.2/32 [110/11] via 10.210.12.2, 00:23:33, FastEthernet0/0
O       10.0.0.3/32 [110/21] via 10.210.12.2, 00:23:33, FastEthernet0/0
C       10.0.0.1/32 is directly connected, Loopback0
O       10.210.23.0/30 [110/20] via 10.210.12.2, 00:23:33, FastEthernet0/0
C       10.210.12.0/30 is directly connected, FastEthernet0/0


R1#sho ipv6 route
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
LC  2001:ABCD::1/128 [0/0]
     via ::, Loopback100
O   2001:ABCD::3/128 [110/11111] << Prefijos aprendidos por OSPFv3
     via FE80::A00:3, Tunnel0
O   2001:ABCD::4/128 [110/11121]
     via FE80::A00:3, Tunnel0
L   FE80::/10 [0/0]
     via ::, Null0
L   FF00::/8 [0/0]
     via ::, Null0



R2#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

     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
C       10.0.0.2/32 is directly connected, Loopback0
O       10.0.0.3/32 [110/11] via 10.210.23.2, 00:23:34, FastEthernet0/1
O       10.0.0.1/32 [110/11] via 10.210.12.1, 00:23:34, FastEthernet0/0
C       10.210.23.0/30 is directly connected, FastEthernet0/1
C       10.210.12.0/30 is directly connected, FastEthernet0/0

R2#show ipv6 route
IPv6 Routing Table - 0 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2

<< No hay prefijos en la tabla de Ipv6



R3#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

     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O       10.0.0.2/32 [110/11] via 10.210.23.1, 00:24:47, FastEthernet0/1
C       10.0.0.3/32 is directly connected, Loopback0
O       10.0.0.1/32 [110/21] via 10.210.23.1, 00:24:47, FastEthernet0/1
C       10.210.23.0/30 is directly connected, FastEthernet0/1
O       10.210.12.0/30 [110/20] via 10.210.23.1, 00:24:47, FastEthernet0/1

<< La tabla de Ipv4 solamente la estamos utilizando para intercambiar las rutas del origen y destino del tunnel bien podriamos utilizar rutas estaticas, BGP o cualquier otro protocolo dinámico para esta labor.
          

R3#show ipv6 route
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
O   2001:ABCD::1/128 [110/11111]
     via FE80::A00:1, Tunnel0
LC  2001:ABCD::3/128 [0/0]
     via ::, Loopback100
O   2001:ABCD::4/128 [110/10]
     via FE80::C203:13FF:FE0A:0, FastEthernet0/0
L   FE80::/10 [0/0]
     via ::, Null0
L   FF00::/8 [0/0]
     via ::, Null0

<< OSPFv3 es la version de OSPF para IPv6 existen también versiones de RIP, EIGRP y BGP para IPv6




R4#show ipv6 route
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
O   2001:ABCD::1/128 [110/11121]
     via FE80::C202:13FF:FE0A:0, FastEthernet0/0
O   2001:ABCD::3/128 [110/10]
     via FE80::C202:13FF:FE0A:0, FastEthernet0/0
LC  2001:ABCD::4/128 [0/0]
     via ::, Loopback100
L   FE80::/10 [0/0]
     via ::, Null0
L   FF00::/8 [0/0]
     via ::, Null0

<< En R4 no tenemos tabla de IPv4 ya que únicamente esta hablando IPv6



Prueba de Conectividad de Ipv6 desde R1 hasta R4


R1#ping ipv6 2001:ABCD::4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:ABCD::4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/58/64 ms

Espero les haya gustado y sea de utilidad este post el cual me inspire en una pregunta de Antonio Perez para desarrollarlo, no duden en preguntar y se agradecen correcciones de antemano.