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