O que uma resposta realmente demonstra
Num incidente, começa por escrever a pergunta exata: nome completo, tipo, classe, servidor consultado, origem e hora. Depois separa o que foi pedido do que foi respondido. RD representa o pedido de recursão; RA anuncia disponibilidade dessa capacidade. AA caracteriza autoridade na resposta, não a saúde da aplicação. Uma captura com um endereço correto pode coexistir com HTTP 503. Guarda o cabeçalho e as secções antes de reduzir a observação a uma linha de ticket.
Resposta vazia não tem um significado único
Compara dois resultados para o mesmo nome num exercício. O primeiro tem NOERROR, nenhum AAAA e SOA na autoridade, sem alias ou referral: interpreta a ausência do tipo pedido. O segundo tem NOERROR, NS da zona filha na autoridade e endereços de nameservers na secção adicional: identifica uma delegação. Ambos podem mostrar ANSWER: 0. O contador sozinho não permite decidir entre ausência de dados e próximo passo de resolução. A decisão deve usar a mensagem completa e o contexto da consulta.
Seguir o alias antes de atribuir a falha
Imagina files.fund.test como nome estável de um serviço de ficheiros. A resposta contém o seu CNAME para ingest.fund.test e termina com NXDOMAIN. Recriar o mesmo CNAME não repara um destino inexistente. Desenha a cadeia, identifica o último nome e confirma qual equipa controla o destino aprovado. Não substituas o endereço por uma máquina disponível ao acaso: o endpoint também precisa dos dados, acessos e função corretos. A pergunta de suporte passa a ser sobre o destino pretendido e a alteração que o removeu.
Calcular uma ausência em cache
No modelo do exercício, o SOA tem TTL 900 e MINIMUM 180. A resposta negativa começa com 180 segundos. Se for recebida às 09:00:00, às 09:01:10 restam 110 segundos, sem refresh ou regras adicionais. Distingue ainda NODATA de AAAA de NXDOMAIN do nome: uma ausência específica de tipo não impede um A válido. Estes cálculos descrevem uma entrada identificada. Não são uma promessa de recuperação global, nem incluem políticas da aplicação, serve-stale ou cache de falhas do resolver.
Prática e passagem de turno
Executa o runner local e compara positive, nodata, nxdomain e aliasTargetMissing em evidence.json. Para cada saída, escreve uma conclusão suportada e uma conclusão que os dados não permitem. Por exemplo, o fixture envia SOA e TTL, mas não armazena entradas numa cache recursiva. Num handover, entrega a consulta reproduzível, a interpretação e o próximo teste delimitado. Se houver SERVFAIL depois de uma reparação, considera também cache de falhas e temporizadores, documentados em RFC 9520, em vez de o reclassificar como inexistência.
# From the project root; binds an ephemeral loopback port only
python3 content/labs/dns-evidence/run.py
# Inspect observations.nodata and observations.aliasTargetMissing
# in content/labs/dns-evidence/evidence.jsonCaso fictício: o job de ingestão recebe CNAME e NXDOMAIN. O operador preserva a mensagem, confirma o destino removido e encaminha uma correção delimitada ao responsável, sem recriar o alias existente.
Armadilhas comuns
Evita equiparar ANSWER: 0 a NXDOMAIN, interpretar RA como recursão executada ou usar o TTL do portal como TTL remanescente de um cliente.
Tópicos relacionados: Resolver, autoridade e contexto do cliente · TTL, cache negativa e mudança controlada · Transporte DNS e validação DNSSEC
Lê a mensagem completa, localiza o nome e tipo realmente afetados e separa a observação DNS da disponibilidade da aplicação.
Referência: RFC 2308 · DNS RFC 1034/1035 with RFC 2181, 2308, 3596, 4033, 7766 and 8767; dig BIND 9.20