Verificação de propagação DNS
Você alterou um registro e algumas pessoas ainda recebem a resposta antiga. Esta verificação pergunta ao seu próprio servidor de nomes o que vale agora e depois pergunta a 24 resolvedores públicos o que eles acreditam neste momento.
Nada é empurrado para lugar nenhum
“Propagação” dá a impressão de que a sua alteração viaja a partir do seu provedor de DNS até cobrir a internet inteira. O DNS não funciona assim. Seus servidores de nomes guardam o registro e esperam ser consultados. Eles não mandam nada para ninguém.
As máquinas que consultam nomes para as pessoas se chamam resolvedores. Seu provedor de internet tem um, e o Google (8.8.8.8) e a Cloudflare (1.1.1.1) também. Na primeira vez que um resolvedor é consultado sobre www.example.com, ele busca a resposta no seu servidor de nomes e guarda uma cópia. Todo registro traz um número, o TTL (time to live), que diz por quantos segundos a cópia pode ser reutilizada. O resolvedor não pergunta de novo até esse contador chegar a zero.
Então, depois de uma edição, cada resolvedor passa para o novo valor no seu próprio ritmo, quando a cópia do antigo expira. Um resolvedor que não tinha cópia vê o novo valor na hora.
O que esta verificação compara
- Ela encontra os servidores de nomes autoritativos para o nome e pergunta diretamente a um deles, sem cache no meio. Essa resposta é a referência, mostrada com o TTL completo.
- Ela manda a mesma pergunta, no mesmo instante, a 24 resolvedores públicos: 17 mantidos por provedores num lugar conhecido (Estados Unidos, Brasil, Espanha, Alemanha, Rússia, Índia, China, Coreia do Sul, Austrália, Zimbábue e outros) e 7 redes mundiais como Google, Cloudflare, Quad9 e OpenDNS.
- Ela compara cada resposta completa com a referência. Se um nome tem vários valores, o conjunto inteiro precisa bater.
Você escolhe o tipo de registro: A, AAAA, CNAME, MX, NS, TXT ou CAA. Um nome digitado com www. é verificado como foi digitado, já que www é um registro separado.
Como ler o mapa e a tabela
- Atualizado
- O resolvedor devolve os mesmos valores que o seu servidor de nomes.
- Diferente
- Ele devolve outra coisa, normalmente o valor anterior. A coluna TTL mostra quantos segundos ainda restam à cópia dele, e é esse o tempo que você vai esperar por aquele resolvedor.
- Sem resposta
- O resolvedor excedeu o tempo ou recusou. Isso não diz nada sobre o seu registro.
Se os resolvedores devolvem três ou mais conjuntos distintos de valores, a verificação deixa de interpretar as diferenças como atraso. Um domínio servido por uma rede de distribuição de conteúdo, ou que usa roteamento geográfico, entrega endereços diferentes por região de propósito. Sites grandes como wikipedia.org ou netflix.com sempre aparecem assim.
“Não existe (NXDOMAIN)” para um registro que você acabou de criar também é uma resposta em cache. Os resolvedores lembram que um nome não existia pelo tempo que o registro SOA da zona indica, muitas vezes entre 5 minutos e 1 hora.
Planejar uma alteração para a espera ser curta
Você não consegue esvaziar o cache dos outros. O que você pode fazer é decidir com antecedência quanto tempo ele dura.
- Pelo menos um TTL inteiro antes da mudança, baixe o TTL do registro para
300. Se era 86400, faça isso na véspera. - Faça a alteração. Agora todo resolvedor acompanha em até cinco minutos.
- Mantenha o servidor antigo funcionando durante essa janela para que ninguém caia num endereço morto.
- Quando tudo estiver funcionando, suba o TTL de volta para 3600 ou mais. TTLs curtos significam mais consultas e primeiras visitas um pouco mais lentas.
Trocar os próprios servidores de nomes é mais lento. A lista de servidores de nomes fica no registro da sua extensão, com um TTL que você não controla: 48 horas para .com. Mantenha a zona ativa no provedor de DNS antigo por dois dias depois da troca.
As redes mundiais respondem a partir do ponto delas mais próximo do nosso servidor, então o resultado do Google ou da Cloudflare descreve um dos seus locais, não todos. Seu computador, seu navegador e seu roteador também guardam cache, e esta verificação não consegue ver isso.
Perguntas frequentes
Quanto tempo leva a propagação DNS?
No máximo o TTL que o registro tinha antes de você alterá-lo. São 5 minutos para um TTL de 300 e um dia para 86400. As “24 a 48 horas” que se costuma ler são um limite seguro, e só valem de verdade para uma troca de servidores de nomes.
Dá para acelerar a propagação DNS?
Não depois do fato, exceto em duas redes que têm um formulário público para descartar um nome em cache: Google Public DNS (“Flush Cache”) e Cloudflare 1.1.1.1 (“Purge Cache”). Para todos os outros, baixe o TTL antes da sua próxima alteração.
Todos os resolvedores estão atualizados, então por que ainda vejo o site antigo?
Seu aparelho tem o próprio cache. Rode ipconfig /flushdns no Windows ou sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder no macOS e reinicie o navegador. Um roteador doméstico também pode segurar a resposta antiga, e reiniciá-lo resolve isso.
Por que os resolvedores mostram endereços IP diferentes para o mesmo domínio?
Ou alguns ainda guardam o valor anterior, ou o domínio responde de forma diferente por região por meio de uma CDN ou de roteamento geográfico. A verificação distingue os dois casos contando as respostas distintas.
Que TTL usar nos registros DNS?
3600 (uma hora) serve para a maioria dos registros. Desça para 300 nos dias em torno de uma migração e suba para 86400 em registros que nunca mudam, como o MX de um grande provedor de e-mail.