Como corrigir os erros NXDOMAIN e SERVFAIL

NXDOMAIN e SERVFAIL são os dois erros de DNS que vai encontrar mais vezes. No navegador parecem iguais — o site simplesmente não carrega — mas têm causas e soluções diferentes.

O que os erros significam realmente

NXDOMAIN — NXDOMAIN (Non-Existent Domain) é uma resposta autoritativa: o servidor de nomes responsável pela zona respondeu que o nome não existe. A consulta funcionou — apenas não existe esse registo.

SERVFAIL — O SERVFAIL é diferente: o resolver não conseguiu concluir a consulta. Algo está partido entre o seu resolver e os servidores de nomes autoritativos — servidores inacessíveis, uma delegação coxa ou uma validação DNSSEC falhada.

$ dig missing.example.com
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 21744

$ dig broken-dnssec.example.net
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31921

Causas comuns de NXDOMAIN

  • um erro de escrita no domínio ou no nome de anfitrião (www ou sem www, registo de subdomínio em falta)
  • o registo nunca foi criado — por exemplo, falta um CNAME para um subdomínio
  • o domínio expirou e foi removido da zona do TLD
  • a alteração ainda não se propagou e há uma resposta negativa antiga em cache

Causas comuns de SERVFAIL

  • todos os servidores de nomes autoritativos estão em baixo ou inacessíveis
  • delegação coxa — os registos NS apontam para servidores que não alojam a zona
  • falha na validação DNSSEC — assinaturas expiradas ou não coincidentes (muito comum depois de uma migração)
  • a zona foi transferida para um novo fornecedor mas os registos NS antigos ainda estão no registrar

Diagnostique em três passos

1. Veja o que dizem os servidores autoritativos

Faça uma consulta com o resolver definido como «Authoritative NS». Se a resposta autoritativa estiver correcta mas os resolvers públicos divergirem, o problema é de cache ou propagação, não uma zona partida. → DNS Lookup

2. Compare resolvers pelo mundo

Uma verificação de propagação em 18 resolvers diz-lhe de imediato se o problema é global (zona partida) ou parcial (caches ainda a expirar). → DNS Propagation

3. Verifique a cadeia de delegação e o DNSSEC

O DNS Trace percorre desde os servidores raiz, passando pelo TLD, até à sua zona e mostra onde a cadeia se parte. Se o domínio estiver assinado, uma verificação DNSSEC detecta assinaturas expiradas ou em falta — a clássica causa silenciosa de SERVFAIL. → DNS Trace · → DNSSEC Check

Correcções típicas

  • Domínio expirado → renove-o no registrar; conte com até 24-48 h para a zona do TLD actualizar
  • Registo em falta → adicione-o no seu fornecedor de DNS e mantenha o TTL entre 300 e 3600 s
  • Delegação coxa → faça com que os registos NS no registrar correspondam aos servidores que alojam realmente a zona
  • Falha de DNSSEC → volte a assinar a zona ou actualize o registo DS no registrar; se mudou de fornecedor, remova primeiro o DS obsoleto
  • Cache negativa desactualizada → aguarde o TTL mínimo do SOA, ou consulte outro resolver para confirmar que a correcção já está activa
Experimente no seu domínio

Veja a teoria na prática — execute Doutor DNS para o seu próprio domínio.