Não sou especialista em DNS ou IPv6, mas estou tentando migrar nosso site www para uma nova hospedagem. O antigo tinha registros A e AAAA que atualizei (e verifiquei se o IPv6 está habilitado e responde no novo host)
Agora a situação é que os pings do IPv4 e do http vão para o novo site, mas o IPv6 ainda vai para o antigo.
Estou depurando a situação e estranhamente dig our.domain AAAA
dá o endereço correto e traceroute6 our.domain
imediatamente retorna o antigo ipv6
como isso é possível? devo apenas esperar pela propagação ou há algo errado? os navegadores parecem preferir o IPv6, então as coisas estão um pouco estranhas agora quando protocolos diferentes apontam para hosts diferentes
dig
pede ao servidor DNS – ele é escrito especificamente para falar com um servidor DNS e nada mais. Mastraceroute
pede ao seu SO, que pode obtê-lo de muitas outras fontes além do servidor DNS.Por exemplo, o sistema operacional pode procurar em /etc/hosts, ou usar seu cache DNS interno – o Linux pode ter systemd-resolved ou nscd como seu cache DNS – ou (em situações raras) ser configurado para consultar NIS ou LDAP. (Veja o
/etc/nsswitch.conf
arquivo.)E quando ambas as ferramentas consultam o DNS de acordo com /etc/resolv.conf, elas podem escolher o servidor DNS em uma ordem diferente (primeiro vs aleatório). Se você tem o tipo de configuração em que alguém colocou 1.1.1.1 e 8.8.8.8 nas configurações de DNS, por exemplo, então dados em cache diferentes serão vistos.
Aguarde até que os dados antigos em cache expirem. Essa é a opção mais fácil, a menos que você esteja com pressa. Se você alterou apenas os registros AAAA, o TTL do seu registro AAAA anterior define por quanto tempo ele permanecerá em cache (no máximo).
Se você trocou todos os servidores de nomes, o que importa é o TTL dos registros NS da sua delegação anterior (geralmente definido como 2 dias).
Olhe para o final da sua
dig
saída para ver qual servidor ele consultou. Olhe para o seu resolv.conf e executedig
contra cada um desses servidores individualmente, para ver se todos eles retornam os mesmos resultados.Se o seu nsswitch.conf tiver o
resolve
módulo, então executeresolvectl
para ver quais servidores DNS estão definidos lá. Execute dig neles também. Use também resolvectl para limpar o cache local.