Eu tenho um servidor dedicado hospedado em um data center local e o VMware Esxi 7 está instalado nele. Recentemente, encomendei um intervalo IPv6 e assim que me disseram que o intervalo IPv6 está ativado, percebi que todas as VMs no VMware Esxi receberam automaticamente um IPv6 sem que eu tivesse configurado nada no VMware Esxi ou nos sistemas operacionais convidados, como um Ubuntu 22 VM.
Percebi que minha conectividade IPv6 foi perdida na VM Ubuntu 22 (ou em qualquer outra VM) após exatamente 30 minutos! Depois de reiniciar a VM, o IPv6 começa a funcionar e para de funcionar novamente exatamente 30 minutos.
Esta é a saída do comando ip -6 route no Ubuntu 22 VM quando o IPv6 está funcionando:
root@testsocat:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a05:1a18:0:12::/64 dev ens160 proto ra metric 1024 expires 2591592sec pref medium
fe80::/64 dev ens160 proto kernel metric 256 pref medium
default via fe80::82e0:1dff:fe6f:3e00 dev ens160 proto ra metric 1024 expires 1392sec mtu 1500 pref medium
Esta é a saída do comando ip -6 route no Ubuntu 22 VM quando o IPv6 não está funcionando e desapareceu após 30 minutos:
root@testsocat:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a05:1a18:0:12::/64 dev ens160 proto ra metric 1024 expires 2589957sec pref medium
fe80::/64 dev ens160 proto kernel metric 256 pref medium
Como você pode ver, esta entrada é removida após 30 minutos:
default via fe80::82e0:1dff:fe6f:3e00 dev ens160 proto ra metric 1024 expires 1392sec mtu 1500 pref medium
Em seguida, adicionei manualmente a rota do gateway de volta com este comando:
ip -6 route add default via fe80::82e0:1dff:fe6f:3e00 dev ens160
Ao fazer isso, o IPv6 volta a funcionar e não para de funcionar mesmo depois de 30 minutos!
O data center insiste que a configuração do intervalo IPv6 está correta e que o problema está do nosso lado. No entanto, testei isso em várias VMs (Ubuntu, Centos e Windows). Acontece em todos eles. Além disso, não vejo nenhuma configuração no VMware que possa fazer com que os endereços IPv6 parem de funcionar após 30 minutos.
Alguém pode me ajudar a entender o que está errado aqui? Por que o IPv6 atribuído automaticamente desaparece das VMs exatamente em 30 minutos? Por que funciona novamente quando reinicio a VM? Por que ele não para de funcionar quando adiciono manualmente a rota do gateway no sistema operacional convidado?
Tenho outro servidor dedicado com a mesma configuração em outro datacenter que possui faixa IPv6, mas não apresenta esse problema. Eles bagunçaram algum parâmetro ao configurar meu intervalo IPv6?
Eu ficaria muito grato se você pudesse me ajudar a entender o que está errado e consertar. Estou lidando com isso há dias.
EDIT 1: Usando "rdisc6 ens160", consegui fazer com que a rota padrão aparecesse novamente. Aqui está a saída do comando na íntegra:
root@testsocat:~# rdisc6 ens160
Soliciting ff02::2 (ff02::2) on ens160...
Hop limit : 64 ( 0x40)
Stateful address conf. : No
Stateful other conf. : No
Mobile home agent : No
Router preference : medium
Neighbor discovery proxy : No
Router lifetime : 1800 (0x00000708) seconds
Reachable time : unspecified (0x00000000)
Retransmit time : unspecified (0x00000000)
Source link-layer address: 80:E0:1D:6F:3E:00
MTU : 1500 bytes (valid)
Prefix : 2a05:1a18:0:12::/64
On-link : Yes
Autonomous address conf.: Yes
Valid time : 2592000 (0x00278d00) seconds
Pref. time : 604800 (0x00093a80) seconds
from fe80::82e0:1dff:fe6f:3e00
root@testsocat:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a05:1a18:0:12::/64 dev ens160 proto ra metric 1024 expires 2591981sec pref medium
fe80::/64 dev ens160 proto kernel metric 256 pref medium
default via fe80::82e0:1dff:fe6f:3e00 dev ens160 proto ra metric 1024 expires 1781sec mtu 1500 pref medium
EDIT 2: usando "tshark -n -i ens160 -f icmp6 -Y "icmpv6.type == 134" -VO "frame,icmpv6", isto é o que consegui:
** (tshark:5007) 00:28:32.821551 [Main MESSAGE] -- Capture started.
** (tshark:5007) 00:28:32.822018 [Main MESSAGE] -- File: "/tmp/wireshark_ens160 7OI6P2.pcapng"
Frame 2: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interfac e ens160, id 0
Interface id: 0 (ens160)
Interface name: ens160
Encapsulation type: Ethernet (1)
Arrival Time: Jul 10, 2024 00:29:25.087268913 UTC
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1720571365.087268913 seconds
[Time delta from previous captured frame: 0.002588177 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 0.002588177 seconds]
Frame Number: 2
Frame Length: 118 bytes (944 bits)
Capture Length: 118 bytes (944 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:ea:8d:6f
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::6f36:a5e 0:992f:72bd
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0xff54 [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0x00, Prf (Default Router Preference): Medium
0... .... = Managed address configuration: Not set
.0.. .... = Other configuration: Not set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 80:e0:1d:6f:3e:00
ICMPv6 Option (MTU : 1500)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1500
ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2a05:1a18:0:12::
EDIT 3: Um segundo pacote RA chegou! o carimbo de data / hora é interessante. O primeiro foi enviado às 00:29:25, o segundo foi enviado às 01:04:24. Há um intervalo de 35 minutos entre eles e a vida útil do roteador é de 30 minutos!
Frame 45: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface ens160, id 0
Interface id: 0 (ens160)
Interface name: ens160
Encapsulation type: Ethernet (1)
Arrival Time: Jul 10, 2024 01:04:24.430745189 UTC
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1720573464.430745189 seconds
[Time delta from previous captured frame: 0.002469817 seconds]
[Time delta from previous displayed frame: 2099.343476276 seconds]
[Time since reference or first frame: 2099.346064453 seconds]
Frame Number: 45
Frame Length: 118 bytes (944 bits)
Capture Length: 118 bytes (944 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:12:f4:07
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::905f:89e5:45e4:2838
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0x97f7 [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0x00, Prf (Default Router Preference): Medium
0... .... = Managed address configuration: Not set
.0.. .... = Other configuration: Not set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 80:e0:1d:6f:3e:00
ICMPv6 Option (MTU : 1500)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1500
ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2a05:1a18:0:12::
EDIT 4: OK, agora estou confuso! os pacotes RA 3 e 4 chegaram e desta vez são enviados mais cedo. o terceiro pacote chegou às 01:26:15 (intervalo de 22 minutos entre este e o anterior) e o quarto pacote chegou às 01:30:35 (4 minutos depois do terceiro).
Frame 50: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface ens160, id 0
Interface id: 0 (ens160)
Interface name: ens160
Encapsulation type: Ethernet (1)
Arrival Time: Jul 10, 2024 01:26:15.149204151 UTC
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1720574775.149204151 seconds
[Time delta from previous captured frame: 0.001792901 seconds]
[Time delta from previous displayed frame: 1310.718458962 seconds]
[Time since reference or first frame: 3410.064523415 seconds]
Frame Number: 50
Frame Length: 118 bytes (944 bits)
Capture Length: 118 bytes (944 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:78:ad:1b
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::402b:9e4e:408f:3ae4
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0xc66b [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0x00, Prf (Default Router Preference): Medium
0... .... = Managed address configuration: Not set
.0.. .... = Other configuration: Not set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 80:e0:1d:6f:3e:00
ICMPv6 Option (MTU : 1500)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1500
ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2a05:1a18:0:12::
Frame 55: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface ens160, id 0
Interface id: 0 (ens160)
Interface name: ens160
Encapsulation type: Ethernet (1)
Arrival Time: Jul 10, 2024 01:30:35.107428556 UTC
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1720575035.107428556 seconds
[Time delta from previous captured frame: 0.002612786 seconds]
[Time delta from previous displayed frame: 259.958224405 seconds]
[Time since reference or first frame: 3670.022747820 seconds]
Frame Number: 55
Frame Length: 118 bytes (944 bits)
Capture Length: 118 bytes (944 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:ea:8d:6f
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::6f36:a5e0:992f:72bd
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0xff54 [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0x00, Prf (Default Router Preference): Medium
0... .... = Managed address configuration: Not set
.0.. .... = Other configuration: Not set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 80:e0:1d:6f:3e:00
ICMPv6 Option (MTU : 1500)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1500
ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2a05:1a18:0:12::
A rota padrão no IPv6 é configurada sempre que o host recebe um Router Advertisement (RA). O roteador do datacenter transmite RAs em um determinado intervalo – por exemplo, se o RA tiver uma “vida útil” de 1 hora, ele será transmitido a cada 20–40 minutos e, sem nenhum RA, sua rota padrão expiraria em 1 hora.
Inicialmente, quando a interface é ativada, o host solicita um RA imediato enviando uma Solicitação de Roteador, mas a partir desse ponto ele espera que os RAs cheguem dentro do cronograma. Isto é – os anfitriões não enviam Solicitações periódicas; em vez disso, o roteador deve transmitir periodicamente um novo RA antes que a "vida útil" do RA anterior termine, quer algum host tenha solicitado ou não.
Coisas para tentar:
Instale o ndisc6 e execute
rdisc6
para enviar uma solicitação de roteador. Se isso obtiver um RA em resposta, e se o seu host configurar imediatamente uma rota padrão novamente, isso excluirá qualquer problema do lado do host - mas se o host ignorar o RA recebido, pode ser um problema de firewall ou sysctl.(Não faça crontab, exceto como último recurso.)
Instale o tshark (Wireshark CLI) para capturar todos os anúncios de roteador que chegam e observe o tempo relativo entre eles. (Isso também poderia ser feito usando tcpdump, mas não me lembro do filtro libpcap apenas para RAs, então uso o tshark porque ele também suporta filtros de exibição do Wireshark.)
Para uma visão mais detalhada que mostra o conteúdo de cada RA:
Conforme mencionado, você deve esperar ver RAs não solicitados chegando a cada 1/3 a 2/3 da vida útil do roteador (ligeiramente aleatório). Se o intervalo entre RAs for muito longo, isso é definitivamente um problema do roteador.