Prueba de failover de gateways en redes con IPv6

Fecha: 13 de julio del 2023

 

Escenario

 

Este laboratorio analiza la pérdida de conectividad y su (posible) posterior recuperación, en el caso de dos redes IPv6

interconectadas con dos gateways, y con las PCs de ambas redes con autoconfiguración IPv6.

No implementamos HSRP, sino que evaluamos que si a través de anuncios ICMP es posible reconfigurar el gateway.

Aclaramos que ambas redes pierden uno de los routers, este no es un escenario no asimétrico, son redes directamente

conectadas y no utilizamos ningún tipo de enrutamiento.

 

 

 

1.- Verificación inicial:

 

Una vez configuradas las interfaces de los routers, estas realizan un router advertisement o un neighbor advertisement

como respuesta a un neighbor solicitation, las PC configuradas en autoconfiguración, reciben el prefijo de red desde los

routers y se autoconfiguran acorde al mismo.

 

Toda la negociación entre PC y router se realiza mediante las direcciones Link Local FE80::/14 y la comunicación entre

PCs se realizan mediante las direcciones globales 2340:1234:5678:subred:host-id

 

1.1.- En Router-A:

 

Router-A#sh ipv6 int brief

Vlan10                 [up/up]

    FE80::CE46:D6FF:FE2B:5A54

    2340:1234:5678:10::1

Vlan20                 [up/up]

    FE80::CE46:D6FF:FE2B:5A54

    2340:1234:5678:20::1

Router-A#

 

Router-A#sh ipv6 neighbors

IPv6 Address                                                  Age Link-layer Addr  State    Interface

2340:1234:5678:10:5076:BB03:3098:285        0   e86a.64dc.e2f5  STALE Vl10 (PC-A)

FE80::1E98:CACA:BC6:36B                            1   e86a.64dc.e2f5  STALE Vl10

2340:1234:5678:20:D5D1:A86C:603E:61B      0   001b.387e.f171  STALE Vl20 (PC-B)

FE80::D5D1:A86C:603E:61B                           0   001b.387e.f171  REACH Vl20

 

Router-A#

 

1.2.- En Router-B:

 

Router-B#sh ipv6 int brief

Vlan10                     [up/up]

    FE80::7281:5FF:FEB5:7782

    2340:1234:5678:10::2

Vlan20                     [up/up]

    FE80::7281:5FF:FEB5:7782

    2340:1234:5678:20::2

Router-B#

 

Router-B#sh ipv6 neighbors

IPv6 Address                                                  Age Link-layer Addr State      Interface

2340:1234:5678:10:5076:BB03:3098:285       2   e86a.64dc.e2f5   STALE Vl10 (PC-A)

FE80::1E98:CACA:BC6:36B                            1    e86a.64dc.e2f5  STALE Vl10

2340:1234:5678:20:D5D1:A86C:603E:61B     4    001b.387e.f171  STALE Vl20 (PC-B)

FE80::D5D1:A86C:603E:61B                           0   001b.387e.f171  REACH Vl20

 

Router-B#

 

1.3.- En PC-A:

 

Randomize Identifiers

Randomize Identifiers feature has been introduced as a part of the privacy extension for SLAAC

(Stateless Address Auto-configuration). This feature is enabled by default, so wherever a Windows

 host generates an IPv6 address with SLAAC, it always uses a Random Interface ID.

 

La función de aleatorización de identificadores se ha introducido como parte de la extensión de

privacidad para SLAAC (configuración automática de direcciones sin estado). Esta función está

habilitada de forma predeterminada, por lo que cada vez que un host de Windows genera una

dirección IPv6 con SLAAC, siempre usa una ID de interfaz aleatoria.

 

Fuente: https://www.networkacademy.io/ccna/ipv6/ipv6-on-windows

 

 

C:\>ipconfig

 

Configuración IP de Windows

 

Adaptador de Ethernet Ethernet:

 

   Sufijo DNS específico para la conexión. . :

   Dirección IPv6  . . . . . . . . . . . . . . . . . : 2340:1234:5678:10:5076:bb03:3098:285

   Dirección IPv6 temporal . . . . . . . . . . : 2340:1234:5678:10:d448:6684:786d:f7

   Vínculo: dirección IPv6 local . . . . . .  : fe80::1e98:caca:bc6:36b%14

   Puerta de enlace predeterminada . .  : fe80::7281:5ff:feb5:7782%14 (Router-B)

                                                                fe80::ce46:d6ff:fe2b:5a54%14 (Router-A)

C:\>

 

 

 

1.4.- En PC-B:

 

C:\>ipconfig

 

Configuración IP de Windows

 

Adaptador de Ethernet Conexión de area local:

 

   Sufijo DNS específico para la conexión. . :

   Dirección IPv6 . . . . . . . . . . . . . . . .  : 2340:1234:5678:20:d5d1:a86c:603e:61b

   Dirección IPv6 temporal. . . . . . . . .  : 2340:1234:5678:20:9d88:4fce:e3c:ea5d

   Vínculo: dirección IPv6 local. . . . . . : fe80::d5d1:a86c:603e:61b%11

   Puerta de enlace predeterminada. . : fe80::7281:5ff:feb5:7782%11 (Router-B)

                                                              fe80::ce46:d6ff:fe2b:5a54%11 (Router-A)

C:\>

 

 

Aquí Podemos ver el detalle del neighbor advertisement que donde reporta la funcionalidad de router:

 

Frame 2: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface

Ethernet II, Src: 70:81:05:b5:77:82, Dst: 00:1b:38:7e:f1:71

Internet Protocol Version 6, Src: fe80::7281:5ff:feb5:7782, Dst: fe80::d5d1:a86c:603e:61b (Src: Router-B)

Internet Control Message Protocol v6

    Type: Neighbor Advertisement (136)

    Code: 0

    Checksum: 0xea5d [correct]

    [Checksum Status: Good]

    Flags: 0xe0000000, Router, Solicited, Override

        1... .... .... .... .... .... .... .... = Router: Set (Router-B)

        .1.. .... .... .... .... .... .... .... = Solicited: Set

        ..1. .... .... .... .... .... .... .... = Override: Set

        ...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0

    Target Address: fe80::7281:5ff:feb5:7782                 

    ICMPv6 Option (Target link-layer address : 70:81:05:b5:77:82)

        Type: Target link-layer address (2)

        Length: 1 (8 bytes)

        Link-layer address: 70:81:05:b5:77:82

 

Frame 4: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface

Ethernet II, Src: cc:46:d6:2b:5a:54, Dst: 00:1b:38:7e:f1:71

Internet Protocol Version 6, Src: fe80::ce46:d6ff:fe2b:5a54, Dst: fe80::d5d1:a86c:603e:61b (Src: Router-A)

Internet Control Message Protocol v6

    Type: Neighbor Advertisement (136)

    Code: 0

    Checksum: 0xbd33 [correct]

    [Checksum Status: Good]

    Flags: 0xe0000000, Router, Solicited, Override

        1... .... .... .... .... .... .... .... = Router: Set (Router-A)

        .1.. .... .... .... .... .... .... .... = Solicited: Set

        ..1. .... .... .... .... .... .... .... = Override: Set

        ...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0

    Target Address: fe80::ce46:d6ff:fe2b:5a54

    ICMPv6 Option (Target link-layer address : cc:46:d6:2b:5a:54)

        Type: Target link-layer address (2)

        Length: 1 (8 bytes)

        Link-layer address: cc:46:d6:2b:5a:54

 

 

2.- Verificación de conectividad PC-A a PC-B:

 

2.1.- De host a host:

 

C:\>ping 2340:1234:5678:20:d5d1:a86c:603e:61b

 

Haciendo ping a 2340:1234:5678:20:d5d1:a86c:603e:61b con 32 bytes de datos:

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=4ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

 

 

2.2.- De cual gateway utiliza:

 

C:\>tracert 2340:1234:5678:20:d5d1:a86c:603e:61b

 

Traza a 2340:1234:5678:20:d5d1:a86c:603e:61b sobre caminos de 30 saltos como máximo.

 

  1    <1 ms    <1 ms    <1 ms  2340:1234:5678:10::1

  2      1 ms      1 ms      1 ms  2340:1234:5678:20:d5d1:a86c:603e:61b

 

Traza completa.

 

C:\>

 

 

3.- Simulamos caída de Router-A:

 

 

Haciendo ping a 2340:1234:5678:20:d5d1:a86c:603e:61b con 32 bytes de datos:

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=5ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=2ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms (cae Router-A)

Tiempo de espera agotado para esta solicitud.

Host de destino inaccesible.

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms (conmuta a Router-B)

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

 

 

3.1- Verificamos el Gateway:

 

C:\>tracert 2340:1234:5678:20:d5d1:a86c:603e:61b

 

Traza a 2340:1234:5678:20:d5d1:a86c:603e:61b sobre caminos de 30 saltos como máximo.

 

  1    <1 ms    <1 ms    <1 ms  2340:1234:5678:10::2

  2    <1 ms    <1 ms    <1 ms  2340:1234:5678:20:d5d1:a86c:603e:61b

 

Traza completa.

 

C:\>

 

 

3.2.- Vuelve Router-A:

 

Podemos verificar que no existe pérdida de tráfico al retornar el gateway.

 

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo<1m

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo<1m

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms (vuelve a Router-A)

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

 

 

3.3.- Verificamos el Gateway:

 

C:\>tracert 2340:1234:5678:20:d5d1:a86c:603e:61b

 

Traza a 2340:1234:5678:20:d5d1:a86c:603e:61b sobre caminos de 30 saltos como máximo.

 

  1     1 ms     1 ms    <1 ms  2340:1234:5678:10::1

  2     1 ms     1 ms      1 ms  2340:1234:5678:20:d5d1:a86c:603e:61b

 

Traza completa.

 

 

4.- 2da prueba de caída de Router-A:

 

Realizamos esta prueba para verificar el resultado de la primera, veremos que se pierde algo más de tráfico.

 

 

 

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=2ms (cae Router-A)

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Host de destino inaccesible. (aquí expiró el neighbor / ARP y ya no puede resolver el gateway)

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms (conmuta a Router-B)

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

 

 

 

 

5.- 3ra prueba de caída de Router-A:

 

Realizamos esta prueba para comparar los dos primeros resultados (2 pings en la primera prueba contra 9 en la segunda).

 

 

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms (cae Router-A)

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Tiempo de espera agotado para esta solicitud.

Host de destino inaccesible.

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms (casi el mismo resultado)

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo<1m

Respuesta desde 2340:1234:5678:20:d5d1:a86c:603e:61b: tiempo=1ms

 

 

6.- Resumen:

 

La alta disponibilidad es posible, aunque no tan inmediata como la implementación de IP fijas y HSRP o VRRP en los gateways.

La recuperación no causa pérdida de conectividad, y luego de que el Router-A se anuncie, la PC-A lo adopta nuevamente como

default gateway, aunque es un posible condicional de cual router descubre primero la PC al momento inicial de solicitar uno.

 

 

(2023) Por Dios ! la ruta está trabada y fria...

Rosario, Argentina