Recentemente, tive um problema em que um serviço remoto solicitando o endereço IP do meu servidor (com um provedor DNS hospedado) estava respondendo com:
DNS problem: SERVFAIL looking up A for mysql.xavamedia.nl
(Atualização: o serviço remoto mencionado aqui é Let's Encrypt; arquivei um bug no rastreador de problemas, o que me levou a esse caminho.)
Nos testes na minha rede local, pude ver que às vezes recebo uma resposta DNS vazia do servidor DNS hospedado. Aparentemente, isso é intermitente, porque acontece apenas quando os registros DNS não estão no cache e é apenas um problema quando o servidor DNS está realmente ocupado.
Aqui está uma descrição do Wireshark de uma mensagem de resposta vazia:
Obviamente, como a maioria das consultas e respostas DNS são enviadas pelo UDP, um resolvedor local apenas espera um pouco pela resposta e desiste. O que agora me pergunto é: existem diretrizes para os tempos de resposta do DNS? Meu hoster DNS meio que deu de ombros e disse que meu resolvedor local enviou a resposta vazia muito cedo. Eu nunca tive esse problema antes, mas estou surpreso com o modo de falha - uma resposta DNS vazia sem um código de erro.
Alguém conhece algumas diretrizes sobre como isso deve funcionar e quando / como posso provar que minha hospedagem DNS está fazendo algo errado?
dig
/nslookup
ou uma dissecção do Wireshark. (tcpdump
não será bom o suficiente) Se você estiver usandonslookup
, executeset debug
primeiro.