Me encontré exactamente con el mismo problema y encontré un hilo sobre una Mac mini que tenía problemas de DNS en los debates de Apple extremadamente útil.
El quid de la cuestión: mDNSResponder parece cambiar ocasionalmente el orden de los servidores DNS que consulta y, por lo tanto, si consulta primero los servidores DNS de su ISP, no obtendrá un registro adecuado (o si está utilizando DNS dividido obtendrá tu IP pública).
La mejor solución para esto es asegurarse (como lo hizo) de que solo los servidores DNS necesarios se enumeran en la configuración de DNS. Esto puede requerir la eliminación de los servidores ISP DNS de su DHCP (como tuve que hacer también; todas las solicitudes se envían a través del servidor DNS local de todos modos).
La razón por la que a las utilidades les gusta dig
y nslookup
tendrán éxito de manera normal es porque están usando BIND y /etc/resolv.conf
directamente a diferencia del resto del sistema operativo.
Como referencia en Snow Leopard, el caché DNS ahora está almacenado por mDNSResponder y para borrarlo, debe reiniciar el proceso usando sudo killall -HUP mDNSResponder
. Puede obtener más información (registro, volcado del estado interno, etc.) utilizando diferentes indicadores para el 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.
Fuente: Snoop Dogg en ese mismo hilo.