Encontrei exatamente o mesmo problema e achei extremamente útil um tópico sobre um Mac mini com problemas de DNS nas discussões da Apple.
O cerne da questão: o mDNSResponder parece ocasionalmente alterar a ordem dos servidores DNS consultados e, portanto, se consultar os servidores DNS do seu ISP primeiro, não obterá um registro adequado (ou, se você estiver usando DNS dividido, obterá seu IP público).
A melhor solução para isso é garantir (como você fez) que apenas os servidores DNS necessários estejam listados em suas configurações de DNS. Isso pode exigir a remoção dos servidores DNS do ISP do seu DHCP (como eu também fiz - todas as solicitações são encaminhadas pelo servidor DNS local).
A razão pela qual os utilitários gostam dig
e nslookup
terão sucesso normalmente é que eles estão usando o BIND e /etc/resolv.conf
diretamente ao contrário do resto do sistema operacional.
Para referência no Snow Leopard, o cache DNS agora é armazenado pelo mDNSResponder e, para limpá-lo, você precisa reiniciar o processo usando sudo killall -HUP mDNSResponder
. Você pode obter mais informações (registro, despejo de estado interno etc.) usando sinalizadores diferentes no killall
comando.
"sudo killall -USR1 mDNSResponder" to enable operation logging.
"sudo killall -USR2 mDNSResponder" to enable packet logging.
"sudo killall -HUP mDNSResponder" to clear the DNS cache.
"sudo killall -INFO mDNSResponder" to dump mDNSRepsonder's internal state.
Fonte: Snoop Dogg no mesmo tópico.