Configurei a rede IPv6 em três máquinas A, B, C (B e C são contêineres LXD em execução em A). B e C estão diretamente conectados apenas a A. Eu atribuí endereços fdef:9062:4cf7:5::2/64
e fdef:9062:4cf7:5::2/64
respectivamente nas interfaces que conectam A a B e C. Eu atribuí o endereço fdef:9062:4cf7:5::1/64
em B e fdef:9062:4cf7:3::1/64
em C. I Adicionei rota fdef:9062:4cf7::1/48 via fdef:9062:4cf7:5::2/64
em B e fdef:9062:4cf7::1/48 via fdef:9062:4cf7:3::2/64
em C. Eu tenho net.ipv6.conf.all.forwarding=1
em todos os hosts e não corro radv
.
Agora, posso fazer ping para B e C a partir do host A, mas o ping de C (e vice-vera) funciona somente se B e C estiverem em um cache vizinho! Como se o kernel esquecesse de enviar o NDP para pacotes roteados, mas não para pacotes enviados diretamente por ping
.
Isso é um comportamento normal? Estou confuso, porque esperava que o roteamento IPv6 funcionasse da mesma forma que o roteamento IPv4.