Cómo vaciar la caché de DNS en OS X Yosemite con discoveryutil
Tabla de contenido:
- Borrar caché de DNS en OS X Yosemite 10.10.4 y OS X 10.10.5
- Borrado de cachés de DNS en OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Algunos usuarios de Mac pueden encontrar situaciones en las que necesitan vaciar la caché de DNS en OS X para que un servidor de nombres se resuelva correctamente, o para que su computadora individual detecte algún cambio de dirección de DNS. Esto es particularmente relevante para los administradores de sistemas, administradores de redes y desarrolladores web, pero ciertamente hay situaciones en las que otros usuarios también pueden necesitar volcar y restablecer las cachés de DNS, como si un usuario ha modificado el archivo /etc/hosts y necesitan los cambios. surta efecto sin reiniciar la Mac.
Los usuarios de Mac desde hace mucho tiempo sabrán que el restablecimiento de la caché de DNS ha cambiado en casi todas las versiones de Mac OS X, y OS X Yosemite no es diferente, probablemente debido a que se descubrió que se reemplazó mDNSResponder y luego se volvió a cambiar a mDNSResponder una vez más De todos modos, vaciar la caché de DNS en Yosemite sigue siendo un comando de terminal, pero difiere ligeramente según la versión exacta que esté usando del sistema operativo, y en realidad le permite borrar DNS de multidifusión o DNS de unidifusión, o ambos. Probablemente querrá borrar ambos por si acaso si está intentando restablecer todas las cachés de DNS en la Mac.
Borrar caché de DNS en OS X Yosemite 10.10.4 y OS X 10.10.5
Desde OS X 10.10.4 pasando a 10.10.5, incluido 10.11, Apple se deshizo de discoveryd y lo reemplazó (o mejor dicho, volvió a) mDNSResponder. Por lo tanto, para borrar las cachés de DNS en OS X Yosemite 10.10.4 y 10.11 El Capitan, y presumiblemente en adelante, la cadena de comandos es la siguiente:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say cache flushed
Ese comando vacía todas las cachés de DNS para OS X 10.10.4+.
Los usuarios de Mac desde hace mucho tiempo pueden recordar que la cadena de comando es básicamente lo que funcionó en la versión anterior a Yosemite. Dicho esto, las versiones anteriores de OS X Yosemite anteriores a la 10.10.4 usarán una cadena de comando diferente que se analiza a continuación.
Borrado de cachés de DNS en OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Tendrá que usar la Terminal para restablecer la memoria caché, puede encontrar la aplicación Terminal en /Aplicaciones/Utilidades/ o iniciarla con Spotlight. Para borrar completamente todos los cachés de DNS en la última versión de OS X, apunte tanto a MDNS (Multicast DNS) como a UDNS (Unicast DNS) con dos comandos diferentes.
Borrar caché MDNS
sudo discoveryutil mdnsflushcache
Presione regresar e ingrese la contraseña de administrador cuando se le solicite.
Borrar caché UDNS
sudo discoveryutil udnsflushcaches
Otra vez, presione regresar e ingrese la contraseña de administrador cuando se le solicite. Tenga en cuenta que cachés es plural con el último comando, una diferencia de sintaxis sutil pero importante.
Vaciar y restablecer todas las cachés de DNS en OS X Yosemite
También puede unir los dos comandos anteriores si lo desea, el siguiente incluso anunciará verbalmente cuando se hayan borrado los cachés:
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed
De hecho, las cachés de MDNS y UDNS son diferentes, pero descubrí que para que la caché de DNS funcional se borre realmente en OS X Yosemite, ambos comandos son necesarios. Es muy posible que solo necesite borrar uno u otro para sus propias necesidades.
Para aquellos que se preguntan, OS X Yosemite eliminó mDNSResponder, por lo que no es necesario eliminar ese proceso de mDNSResponder para actualizar las cachés de DNS como en versiones anteriores de Mac OS X.
Comprobación de los detalles de la caché de DNS en OS X Yosemite
Si está cambiando o va a cambiar el DNS, y quiere ver algunos detalles sobre lo que está almacenado en caché actualmente, puede usar los siguientes comandos:
Obtener estadísticas de caché UDNS:
sudo discoveryutil udnscachestats
También puede recuperar información específica sobre la caché de DNS de multidifusión con lo siguiente:
sudo discoveryutil mdnscachestats
Ambos ofrecerán detalles sobre la cantidad de entradas de DNS que se almacenan en caché, ofreciendo un informe que debería tener este aspecto:
Estadísticas de caché UDNS: En caché 962 de 1750
Si ejecuta esos comandos antes y después de ejecutar las variaciones de flushcache, encontrará que deben restablecerse a 0 entradas de caché, así:
Estadísticas de caché MDNS: lo0: En caché 0 de 2000
¿Cómo sabes si cambió?
Después de vaciar la memoria caché, si desea determinar si un servidor de nombres o IP realmente ha cambiado, puede usar el comando 'dig' con la URL así:
dig osxdaily.com
dig es similar a nslookup, excepto que tiene un mejor resultado e incluye algunos detalles más, incluido el tiempo de consulta, el servidor DNS establecido utilizado para acceder al dominio y una marca de tiempo, todo lo cual puede ser valioso al solucionar problemas del servidor de nombres. Por cierto, si el tiempo de consulta para esto parece lento, debe usar una herramienta como namebench para encontrar un servidor DNS más rápido para usted, a menudo Google DNS u OpenDNS.
¿Conoce otro truco de caché de DNS para las últimas versiones de OS X? Cuéntanoslo en los comentarios.