Recentemente mudei meu hoster DNS (novamente), pois precisava de alguns recursos que meu hoster DNS anterior não oferece. Sempre que eu mudava de host DNS, meu servidor ficava indisponível por várias horas até que o DNS se corrigisse novamente. Eu sei que o DNS é um sistema distribuído que armazena entradas em cache por várias horas, mas deve haver uma maneira de mudar de provedor sem interrupção do serviço.
Estas são as principais etapas que tomei:
- Copiado todos os registros DNS do host DNS anterior para o novo.
- Consultou explicitamente os servidores DNS primários de ambos os hosters
dig @<...>
para garantir que ambos estavam configurados de forma idêntica - Informei meu registrador sobre o novo servidor de nomes DNS e forneci-lhes as novas configurações de NS, DNSKEY e DS; meu registrador encaminhou essas informações para o registro de TLD (no meu caso, a
.de
zona, ou seja, DENIC)
Aproximadamente uma hora depois de executar a etapa 3, meus servidores ficaram indisponíveis via DNS. A resolução de DNS foi interrompida no meu domínio. Demorou aproximadamente mais seis horas até que tudo voltasse a funcionar.
A menos que não esteja totalmente enganado, neste caso específico a interrupção ocorreu devido a uma incompatibilidade entre os registros NS e DNSKEY, por um lado, e o registro DS, por outro, durante aquelas seis horas. Os registros NS e DNSKEY já foram atualizados e apontavam para o novo host DNS enquanto o registro DS permaneceu o antigo por mais seis horas.
Qual é a abordagem correta para evitar tais problemas?
Adendo (30/07/2024)
Hoje, eu queria migrar meu segundo domínio do hoster DNS anterior para o novo hoster DNS e pensei que seria inteligente.
Desativei o DNSSEC com 48 horas de antecedência para evitar erros de assinatura. (É melhor não ter nenhum DNSSEC do que um DNSSEC com falha.) Mas então me deparei com outra armadilha.
Primeiro configurei as informações da zona DNS em meu novo hoster DNS e depois disse ao meu registrador para alterar o NS
registro do antigo para o novo hoster DNS. No entanto, a mudança não foi atômica. Em vez de alterar o NS
registro do antigo para o novo, eles alteraram o NS
registro do valor antigo para o "espaço reservado" f.nic.de.
e depois f.nic.de.
para o novo valor real. Essas duas etapas tiveram um intervalo de 5 minutos. Infelizmente, essa janela de tempo de 5 minutos foi suficiente para que o DNS do Google (8.8.8.8) detectasse o valor intermediário errado f.nic.de.
e tivesse um TTL de 14400, ou seja, 4h.
Claro, f.nic.de.
não tinha informações sobre meu domínio real. Portanto, embora o erro tenha existido apenas por 5 minutos, ele produziu outra interrupção de resolução de DNS de 4 horas em meu domínio para alguns usuários, dependendo de qual servidor DNS eles consultaram.
Até agora, acredito que o hoster do meu servidor virtual privado, que também "é dono" dos meus endereços IP e que também é o registrador dos meus domínios (mas não do meu hoster DNS), é simplesmente estúpido. Eles fornecem apenas um formulário web que permite inserir um NS
e um DNSKEY
registro. (O DS
registro é calculado implicitamente a partir de DNSKEY
). No entanto, não há opção para adicionar (ou remover ) registros. Só é possível substituir os registros existentes (um de cada tipo). No entanto, mesmo que alguém altere ambos os valores correta e consistentemente e depois envie o formulário da web, a alteração upstream (entre meu registrador e o registro) é imprevisível e fora de ordem. Dada a resposta abaixo, acho que não há nada que eu possa fazer a não ser discutir com meu registrador que eles devem colocar seus processos em ordem.