DNS

Como Problemas de DNS Podem Deixar seu Site Fora do Ar

Seu servidor pode estar funcionando perfeitamente e, mesmo assim, os visitantes não conseguem acessá-lo se o DNS falhar. Entenda como funciona a resolução de DNS, os problemas que causam quedas, como diagnosticá-los e como alterar registros com segurança.

Capa do guia: DNS
Índice

Algumas das quedas mais confusas acontecem quando o servidor web está funcionando bem, a aplicação não tem erros e, ainda assim, ninguém consegue acessar o site. Muitas vezes a causa é o DNS (Domain Name System, ou sistema de nomes de domínio). Este artigo explica como o DNS funciona, quais problemas tiram sites do ar, como diagnosticá-los e como fazer mudanças de DNS sem deixar o site fora do ar.

Como o DNS funciona, em resumo

Os computadores se conectam uns aos outros usando endereços IP, como 203.0.113.10 (IPv4) ou 2001:db8::10 (IPv6). O DNS traduz nomes fáceis para humanos, como example.com, nesses endereços. O sistema é descrito nas especificações originais RFC 1034 e RFC 1035, ampliadas por muitos padrões posteriores.

Quando um visitante digita o seu domínio, acontece mais ou menos isto:

  1. O aparelho do visitante pergunta a um resolvedor recursivo, normalmente mantido pelo provedor de internet, pela rede da empresa ou por um serviço público de DNS.
  2. Se o resolvedor não tiver uma resposta em cache, ele pergunta aos servidores raiz e depois aos servidores do domínio de primeiro nível (como .com ou .com.br), que o encaminham para os servidores de nomes autoritativos do seu domínio.
  3. Seus servidores de nomes autoritativos respondem com os registros que você configurou, como o registro A com o endereço IP do seu servidor.
  4. O resolvedor guarda a resposta em cache pelo TTL (time to live, ou tempo de vida) do registro e a devolve ao aparelho do visitante, que então se conecta ao seu servidor.

Se qualquer elo dessa cadeia falhar ou devolver a resposta errada, os visitantes nunca chegam ao seu servidor.

Registros que importam para sites

RegistroFunção
AAssocia um nome a um endereço IPv4.
AAAAAssocia um nome a um endereço IPv6.
CNAMETorna um nome um apelido de outro nome, por exemplo www apontando para o hostname de uma CDN.
NSLista os servidores de nomes autoritativos do domínio.
MXLista os servidores de e-mail do domínio (importante para o e-mail, não para o site).
TXTGuarda textos, como políticas SPF e códigos de verificação.
CAARestringe quais autoridades certificadoras podem emitir certificados para o domínio.

Problemas de DNS comuns que causam quedas

1. Registro de domínio vencido

Se o registro do domínio vence, o registro (a entidade responsável pela extensão) deixa de publicar a delegação para os servidores de nomes e o domínio para de resolver por completo. Isso costuma acontecer porque o pagamento da renovação falhou ou porque os lembretes foram para um e-mail antigo.

2. Registros errados ou faltando depois de uma migração

Mudar de hospedagem ou de provedor de DNS é um dos momentos mais arriscados. Erros típicos incluem apontar o registro A para um IP antigo, esquecer o registro www ou trocar os servidores de nomes para um novo provedor antes de recriar todos os registros lá.

3. Exclusão acidental ou erro de digitação

Um único dígito errado em um endereço IP, ou um registro apagado durante uma limpeza, já basta para deixar um site inacessível.

4. Queda do provedor de DNS

Se o seu provedor de DNS autoritativo sair do ar, os resolvedores não conseguem obter respostas novas quando as cópias em cache expiram. Usar um provedor confiável e, para domínios críticos, mais de um provedor reduz esse risco.

5. Cache desatualizado depois de mudanças

Os resolvedores guardam as respostas em cache pelo TTL. Se você muda um registro que tinha TTL de 24 horas, alguns visitantes podem continuar recebendo a resposta antiga por até um dia. Se o servidor antigo já estiver desligado, esses visitantes ficam com o site fora do ar.

6. Registros IPv6 apontando para o nada

Se um domínio tem um registro AAAA, mas o servidor não aceita conexões por IPv6 de verdade, visitantes em redes IPv6 podem ter falhas ou uma alternância lenta para IPv4, enquanto quem está em IPv4 vê o site funcionando. É um problema confuso do tipo "aqui funciona".

7. DNSSEC mal configurado

O DNSSEC acrescenta assinaturas criptográficas às respostas de DNS. Ele melhora a segurança, mas uma divergência entre as chaves registradas no registro do domínio e as assinaturas servidas pelo seu provedor, por exemplo depois de trocar de provedor, faz os resolvedores que validam DNSSEC rejeitarem o seu domínio por completo.

8. CNAME na raiz da zona

O DNS padrão não permite um CNAME na raiz de um domínio (example.com) junto com outros registros obrigatórios. Alguns provedores oferecem alternativas (muitas vezes chamadas de ALIAS, ANAME ou CNAME flattening). Errar aqui pode quebrar o domínio sem www enquanto o www continua funcionando.

Como diagnosticar problemas de DNS

Reconheça os sintomas

Erros do navegador como "Servidor não encontrado", "Não é possível acessar esse site" ou DNS_PROBE_FINISHED_NXDOMAIN significam que o nome não pôde ser resolvido. Um monitor de uptime informa isso como falha de DNS, e não como tempo esgotado ou erro HTTP.

Consulte os registros

Use a nossa ferramenta gratuita de consulta DNS para ver os registros A, AAAA, CNAME, MX, NS e TXT de um domínio a partir do nosso resolvedor. No terminal, o dig dá mais controle:

# O registro A visto pelo seu resolvedor padrão
dig example.com A +short

# Quais servidores de nomes são autoritativos para o domínio?
dig example.com NS +short

# Pergunte direto a um servidor autoritativo, sem passar pelos caches
dig @ns1.example-dns.net example.com A

# Siga todo o caminho de delegação a partir da raiz
dig example.com +trace

No Windows, nslookup example.com oferece um equivalente básico.

Compare as respostas

  • Se o servidor autoritativo devolve a resposta certa, mas o seu resolvedor não, provavelmente você está vendo um valor antigo em cache. Espere o TTL expirar.
  • Se o servidor autoritativo devolve a resposta errada, corrija o registro no seu provedor de DNS.
  • Se o +trace para no domínio de primeiro nível, verifique o registro do domínio e a delegação dos servidores de nomes no seu registrador.

Como alterar registros DNS com segurança

  1. Documente os registros atuais antes de mudar qualquer coisa. Exporte a zona, se o seu provedor permitir.
  2. Reduza o TTL com antecedência. Um ou dois dias antes de uma mudança planejada, diminua o TTL dos registros que você vai alterar (por exemplo, para 300 segundos). Depois que o TTL antigo, mais longo, tiver passado, as mudanças vão se propagar rapidamente.
  3. Mantenha o servidor antigo funcionando até o tráfego ter migrado totalmente para o novo.
  4. Ao trocar de provedor, recrie todos os registros primeiro, confira-os consultando diretamente os servidores de nomes do novo provedor e só então troque os servidores de nomes no registrador.
  5. Trate o DNSSEC com cuidado durante a troca de provedor, seguindo as instruções dos dois provedores.
  6. Confira de fora com uma consulta DNS e com a ferramenta para verificar se o site está online, e depois volte o TTL para um valor normal.

Checklist de prevenção

  • Ative a renovação automática dos seus domínios e mantenha os dados de contato no registrador atualizados.
  • Use um provedor de DNS confiável e restrinja quem pode editar os registros.
  • Ative a autenticação em duas etapas nas contas do registrador e do DNS para reduzir o risco de sequestro do domínio.
  • Remova os registros AAAA, a menos que o servidor esteja realmente acessível por IPv6.
  • Monitore o seu site de fora para que as falhas de DNS sejam detectadas rapidamente.

O UptimeStats classifica as falhas de DNS separadamente de tempo esgotado, erros de SSL e erros HTTP, para que um problema de DNS seja identificado como tal no alerta e no histórico de incidentes. Para conhecer outras causas de quedas, veja O que deixa um site fora do ar?

Artigos relacionados