sábado, 17 de enero de 2015

Configuracion de IPv6 con protocolos de ruteo

Al igual que con IPv4 , es posible usar protocolos de ruteo entre routers para compartir las rutas de IPv6.

A continuacion una lista de los protocolos de IPv6 y su respectiva configuracion.

RIPng (new generation)

Diseñado especialemente para soportar IPv6 , RIPng usa la direccion FF02:9 como la direccion destino para las actualizaciones.

Ejemplo de la configuración:

 https://supportforums.cisco.com/document/93286/configuration-example-rip-ipv6-ripng


EIGRP IPv6

EIGRP desde sus inicios soporta IPv6 ,port lo que la mayoria de IOS de cisco soportar la configuracion del siguiente link , EIGRP utiliza la dirección de multicast ff02::a como direccion destino para sus actualizaciones.


Ejemplo de la configuracion:
http://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/113267-eigrp-ipv6-00.html


OSPFv3

OSPF a evolucionado hasta su tercera version para soportar IPv6 , esta version tambien soporta IPv4 como sus predecesores.

OSPFv3 utiliza las direcciones multicast de destino ff02::5 y ff02::6 .

Las diferencias entre OSPFv2 y OSPFv3 pueden ser encontadas en el siguiente link:
http://packetlife.net/blog/2010/mar/2/ospfv2-versus-ospfv3/

Ejemplo de la configuracion:
http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/112100-ospfv3-config-guide.html


Espero sea de ayuda

- Randy -


domingo, 11 de enero de 2015

Configuracion de IPv6 para rutas estaticas


Los routers agrega/remueven rutas directamente conectadas , basado en la configuración y el estado de la interfaz.

Primero el router buscan por alguna direccion unicast configurada en la interfaz y revisa que esta este arriba "up" "up".

El router agrega la ruta en el siguiente orden:

1.  Router crea rutas IPv6 basado en cada IP unicast en la interfaz (comando ipv6 address).
     A. El Router crea la ruta para la subred (ruta conectada)
     B. El router crea un ruta host  prefijo /128 para la IPv6 del router.
2. Routers no crean rutas basadas en la direccion de link-local asociadas a la interfaz.
3. Routers remueven la ruta local y la directamente conectada de la tabla si esta falla y la agreaga de nuevo cuando la interfaz vuelve a estar activa.

Ejemplo:

interface serial0/0/0
ipv6 address 2001:db8:1111:4::1/64
!
interface serial0/0/1
ipv6 address 2001:db8:1111:5::1/64
!
interface gigabitethernet0/0
ipv6 address 2001:db8:1111:1::1/64

R1# show ipv6 route
IPv6 Routing Table - default - 7 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, l - LISP 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:DB8:1111:1::/64 [0/0]
via GigabitEthernet0/0, directly connected
L 2001:DB8:1111:1::1/128 [0/0]
via GigabitEthernet0/0, receive
C 2001:DB8:1111:4::/64 [0/0]
via Serial0/0/0, directly connected
L 2001:DB8:1111:4::1/128 [0/0]
via Serial0/0/0, receive
C 2001:DB8:1111:5::/64 [0/0]
via Serial0/0/1, directly connected
L 2001:DB8:1111:5::1/128 [0/0]
via Serial0/0/1, receive
L FF00::/8 [0/0]
via Null0, receive


R1# show ipv6 route local

L 2001:DB8:1111:1::1/128 [0/0]
via GigabitEthernet0/0, receive
L 2001:DB8:1111:4::1/128 [0/0]
via Serial0/0/0, receive
L 2001:DB8:1111:5::1/128 [0/0]
via Serial0/0/1, receive
L FF00::/8 [0/0]
via Null0, receive


Rutas estáticas de IPv6

El comando ipv6 route sigue la siguiente  la misma lógica que el comando ip route para las IPv4. 


Con el comando  ip route se configura la subred y mascara de la red que deseamos alcanzar , ejemplo: ip route 192.168.10.0 255.255.255.0 192.168.10.2 , el equivalente del comando Ipv6 route configuramos el prefijo y la longitud del prefijo.

Ejemplo: 
R1(config)# ipv6 route 2001:db8:1111:2::/64 s0/0/0

R1# show ipv6 route static
! Legend omitted for brevity
S 2001:DB8:1111:2::/64 [1/0]
via Serial0/0/0, directly connected

R1# show ipv6 route 2001:db8:1111:2::22
Routing entry for 2001:DB8:1111:2::/64
Known via "static", distance 1, metric 0
Route count is 1/1, share count 0
Routing paths:
directly connected via Serial0/0/0
Last updated 00:01:29 ago

Las rutas estáticas de IPv6 si desearan usar la IP del siguiente salto en lugar de la interfaz tienen dos opciones: usar la dirección unicast del router vecino (  global unicast o unique local) , o la dirección de link-local. 

IPv6 soporta al igual que IPv4 rutas por defecto , la lógica es muy simple:

  •  Si el router no cuenta con una ruta IPv6 por defecto , el paquete se descarta. 
  • Si el router tiene una ruta IPv6 por defecto , el router reenvía el paquete basado en la información de la ruta. 
Ejemplo: 
B1(config)# ipv6 route ::/0 S0/0/1

Espero se de ayuda.

-Randy -

jueves, 8 de enero de 2015

Conceptos basicos de IPv6


Con la llegada de IPv6  , las empresas requieren implementar IPv6 en todos sus  usuarios finales , servidores , routers y otros hosts.

Pero este proceso no es fácil y no es cuestión de un fin de semana o un par de meses, esta migración esta ocurriendo ahora mismo pero muy despacio , se calcula que hasta 2025 las empresas empezaran a usar IPv6 en el 80% de sus redes.  

Mientras tanto se utilizar varios esquemas de migración en las que las redes IPv4 y IPv6 pueden coexistir.

Un tipo de estrategia es implementar una configuración  "Dual Stack"  , en la que un dispositivo puede simultáneamente procesar IPv4 y IPv6 trafico.

Otra estrategia es "Manual IPv6-over-IPv4 (6to4) tunneling"  en la que los paquetes de IPv6 se encapsulan en IPv4 hasta que  llegan a su destino . Esta estrategia requiere que los dispositivos soporten "Dual Stack"

Otro método de migración es "Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) tunneling " consiste en crear links virtuales  para conectar las localidades de IPv6  virtualmente a través de las redes IPv4.

Similar "Teredo Tunneling "en lugar de usar los routers para encapsular  los paquetes , utiliza los host locales.

NAT Proxying and Translation (NAT-PT) similar al NAT en IPv4 , su principal función es traducir las IPv6 a IPv4 y viceversa.



Configuración estática de una dirección Unicast

Prácticamente todos los dispositivos de red Cisco nos ofrecen la capacidad de usar IPv6 en nuestras configuraciones.

Cisco routers nos brindan dos opciones para la configuración estáticas de direcciones IPv6.


La primera seria configurar la totalidad de la IP (128 bits)  , con la segunda opción se puede configurar un prefijo de 64 bits y el router automáticamente escogerá la segunda mitad (64 bits ) restante de la dirección IP.  Esta parte que aporta el router es conocida como Interface ID.

La dirección puede ser abreviada o puede contener los 32 bits requeridos.

El ruteo de direcciones IPv6 necesita ser habilitado en el dispositivo antes de que el router puede manejar el trafico de IPv6 , esto se logra con el comando "ipv6 unicast-routing ", el ruteo de paquetes IPv4 ya viene habilitado por defecto.

Al habilitar IPv6 en un router con el comando "ipv6 unicast-routing " pasa lo siguiente en la(s) interfaz.
  •  Se le asigna una dirección IPv6 unicast a la interfaz.
  • Se habilita el ruteo de paquetes IPv6 in/out. 
  • Se define un prefijo (subred) IPv6 .
  • Se agregan las rutas IPv6 a ese prefijo

Ejemplo de la configuración:

ipv6 unicast-routing 

interface GigabitEthernet0/0

 ipv6 address 2001:DB8:1111:1::1/64

interface Serial0/0/0

ipv6 address 2001:0db8:1111:0002:0000:0000:0000:0001/64


or 

ipv6 address 2001:db8:1111:2::1/24


Muchos "Show commands" de IPv6 son muy parecidos a los que usamos para troubleshotear las redes IPv4 hoy en día.

Por ejemplo:


  •  "Show ipv6 interface brief"   seria similar al comando "Show ip interfaces brief "
  •  "Show ipv6 interface "  funcionaria igual que el comando "Show ip interfaces" 

Ejemplo de los comandos anteriores: 

R1# show ipv6 interface GigabitEthernet 0/0
GigabitEthernet0/0 is up, line protocol is up  IPv6 is enabled,
link-local address is FE80::1FF:FE01:101  No Virtual link-local address(es):
 Description: LAN at Site 1  Global unicast address(es):    2001:DB8:1111:1::1,
 subnet is 2001:DB8:1111:1::/64
Joined group address(es):    FF02::1    FF02::2    FF02::A    FF02::1:FF00:1    FF02::1:FF01:101  MTU is 1500 bytes  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled  ICMP unreachables are sent
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds (using 30000)
 ND advertised reachable time is 0 (unspecified)
 ND advertised retransmit interval is 0 (unspecified)
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
 ND advertised default router preference is Medium
Hosts use stateless autoconfig for addresses.

# show ipv6 interface brief
GigabitEthernet0/0     [up/up]    FE80::1FF:FE01:101    2001:DB8:1111:1::1
GigabitEthernet0/1     [administratively down/down]    unassigned
Serial0/0/0            [up/up]    FE80::1FF:FE01:101    2001:DB8:1111:2::1
Serial0/0/1            [administratively down/down]    unassigned


La segunda manera de configurar una dirección IP consiste en el router genere un único identificador de la interfaces usando el método EUI-64 (Extended unique identifier)

El cual consiste en configurar los  64 bits de prefijo para la interfaces y el router generara los 64 bits restantes

Las reglas para generar este EUI-64 son las siguientes:


  1. Tomar 6 bytes (12-hex) de la dirección MAC en dos mitades (6 hex) cada uno. 
  2. Insertar FFFE en medio de las dos mitades.
  3. Invertir el séptimo bit del interfaz ID.
Para ejemplos de referencia:




El bit invertido es conocido como el universal/local bit , si contiene un valor de 0 significa que la dirección MAC es una dirección "burned-in" , si contiene un 1 es porque la dirección MAC ha sido sobrescribir o alterada. Rara vez se muestra un uno , ya que los administradores no acostumbran a cambiar las direcciones MAC de sus equipos.


Ejemplo de la configuración usando EUI-64 


 ipv6 unicast-routing 

interface GigabitEthernet0/0
ipv6 address 2001:DB8:1111:1::/64 eui-64 

interface Serial0/0/0

 ipv6 address 2001:DB8:1111:2::/64 eui-64 


En caso de usar una interfaz serial como en el ejemplo anterior , estas no tienen una dirección MAC asociada , para este tipo de interfaces , el router escoge la dirección MAC de la interfaz con el numero mas bajo , en el ejemplo anterior se usaría la MAC  de la interfaz Gig 0/0.

NOTA: En la configuración anterior se debe usar como IP el prefijo , no la dirección completa.
En caso de escribir la dirección IP completa , Cisco IOS acepta el comando y lo convierte a la dirección prefijo.

Ejemplo:

 ipv6 address 2000:1:1:1::1/64 eui-64

Pasaría a ser

ipv6 address 2000:1:1:1::/64 eui-64



Configuración dinámica de direcciones Unicast. 

IPv6 al igual que IPv4 puede ser aprendida dinamicamente , el host puede aprender su dirección IPv6 por medio de DHCP o usando "Stateless Address Auto Configuration " (SLAAC). 

IPv6 soporta dos configuraciones dinámicas para sus IPs , DHCP y SLAAC.

A continuación las respectivas configuraciones:

DHCP

 interface FastEthernet0/0
ipv6 address dhcp


SLAAC

interface FastEthernet0/1
 ipv6 address autoconfig


Direcciones IP especiales de IPv6 

 Dirección Link-Local:  estas direcciones no son usadas para el trafico normal de IPv6 relacionado con datos y aplicaciones , las utilizan protocolos especiales y funciones de ruteo.


Cada IPv6 host usa una dirección unicast adicional (Direccion link) , los paquetes enviados a esta dirección , no puede salir de la subred local IPv6  , ya que los router no re-envian los paquetes enviados a estas direcciones.

 IPv6 utiliza las direcciones link para una variedad de protocolos. Muchos protocolos necesitan enviar mensajes a una subred en especifico, las redes link local son muy útiles ya que evitan contaminar la red con paquetes innecesarios , alcanzando solo las subredes que se necesitan.

Un ejemplo de estos protocolos es NDP (Neighbor Discovery Protocol) el cual viene a remplazar las funciones del protocolo ARP en IPv4.

Mas información de NDP en el siguiente link:

https://supportforums.cisco.com/document/77521/ipv6-neighbor-discovery-protocol-ndp


Router utilizan la dirección link local como la IP del siguiente salto para rutas de IPv6.

Con IPv6 también se define una puerta de enlace   (default gateway )  como en IPv4 , en este caso la puerta de enlace seria la dirección de link local.


Unicast (no multicast)

 Direcciones Link-local representan a un host único y los paquetes destinados a estas direcciones deben ser procesadas solo por IPv6 hosts.

Los paquetes de con IP de link-local nunca son enviados fuera de su red local , ya que los routers no reenvían estos paquetes.

Cada interfaz de  un IPv6 host genera su propia IP de link-local automáticamente.

Uno de los usos mas comunes para las IP de link local es el uso de protocolos que necesitan mantenerse en la red local.


Las direcciones de link-local siempre deben empezar con el siguiente prefijo: FE80.

La dirección de link-local puede ser creada automáticamente o especificada manualmente con el subcomando  "link-local".


Direcciones de multicast IPv6

Las direcciones de multicast para IPv6 son usadas para diferentes propósitos , principalmente por protocolos que necesitan enviar un paquetes a múltiples hosts.
Si un host quiere enviar un paquete a todos los host que usan IPv6 , para esto se usaría la dirección (FF02::1). 

Si el paquete necesita ir solo  a los routers que corren IPv6 se usaría la dirección FF02::2. 

Las actualizaciones  de EIGRP IPv6 usarían la dirección FF02:A , mientras que OSPF utiliza FF02::5 y FF02:6 

Los mensajes de multicast puede ser limitados a su red local utilizando las IPs de link-local , si necesitan ser enviadas a otras redes utilizarían un "organization-local scope". 


Direcciones especiales de IPv6 

Direcciones desconocidas  IPv6  :: 

Loopback IPv6  ::1




Espero sea de ayuda

- Randy -