Eu encontrei exatamente o mesmo problema e encontrei um tópico sobre um Mac mini ter problemas de DNS nas discussões da Apple é extremamente útil.
O cerne do problema: mDNSResponder parece ocasionalmente mudar a ordem dos servidores DNS que ele consulta e, portanto, se ele consultar os servidores DNS do seu provedor primeiro, ele não obterá um registro adequado (ou se você estiver usando o DNS dividido vai pegar seu IP público).
A melhor solução para isso é garantir (como você fez) que apenas os servidores DNS necessários estejam listados nas configurações de DNS. Isso pode exigir a remoção dos servidores DNS do ISP do seu DHCP (como eu tive que fazer também - todas as solicitações são encaminhadas através do servidor DNS local).
O motivo pelo qual utilitários como dig
e nslookup
serão bem-sucedidos normalmente estão usando o BIND e /etc/resolv.conf
diretamente ao contrário do restante do sistema operacional.
Para referência no Snow Leopard, o cache do DNS agora é armazenado pelo mDNSResponder e para limpá-lo, é necessário reiniciar o processo usando sudo killall -HUP mDNSResponder
. Você pode obter mais informações (log, dump internal state, etc.) usando diferentes flags para o comando killall
.
"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 nesse mesmo tópico.