¿Qué es la caché de DNS?
Windows, Linux y macOS guardan la información de resolución de nombres en forma de caché DNS (Domain Name System). Esto acelera los tiempos de carga del proyecto ya que la caché contiene direcciones IP para los dominios consultados. En lugar de tener que redireccionar a los servidores DNS, el sistema responde las consultas desde la caché.
La caché de DNS contiene la siguiente información:
- Datos de recursos
- Tipo de registro
- Nombre de registro
TTL (tiempo de vida) - Clase
- Longitud de los datos de recursos
La caché de DNS puede estar dañada por varias razones diferentes, incluidos ataques de red o virus. Cuando eso sucede, la asignación de direcciones IP se corrompe para ciertos sitios web populares.
Por ejemplo, en lugar de ir a www.facebook.com, su navegador puede redirigirlo a una dirección IP de un sitio web malicioso que un atacante insertó en los registros DNS de su computadora. O puede obtener una gran cantidad de errores 404.
Al borrar la caché de DNS, se elimina toda la información de búsqueda de DNS guardada. Luego, su computadora obtiene datos actualizados de los servidores DNS la próxima vez que envíe una solicitud de búsqueda.
Limpiar DNS cache en Windows
Limpiar la caché de DNS es un proceso fácil y rápido. El procedimiento es el mismo para casi todos los sistemas Windows. En el ejemplo siguiente, usaremos Windows 10.
Para vaciar DNS en su máquina con Windows:
1. Cargue el símbolo del sistema como administrador. Abra el menú Inicio y comience a escribir en (Escribe aquí para buscar) el símbolo del sistema o cmd hasta que lo vea en los resultados.
2. A continuación se le muestra la siguiente pantalla, en la cual escriba la siguiente línea de comandos:
ipconfig /flushdns
3. El proceso debería durar sólo unos segundos. Debería ver el mensaje de confirmación de la caché de resolución de DNS cuando haya terminado:
Limpiar DNS cache en Linux
Las distribuciones de Linux son un poco diferentes a las de las máquinas Windows y Mac. Cada distribución de Linux puede utilizar un servicio DNS diferente. Algunas distribuciones, como Ubuntu, no tienen ningún servicio DNS predeterminado.
Depende del servicio que tenga en su distribución y si está habilitado de forma predeterminada. Algunos de ellos son NCSD (Name Service Caching Daemon), dnsmasq y BIND (Berkely Internet Name Domain).
Para cada distribución, debe iniciar una ventana de terminal. Presione Ctrl + Alt + T en su teclado y use el comando correspondiente para borrar la caché de DNS para el servicio en el que se está ejecutando su sistema Linux.
Flush Local NCSD DNS Cache
Utilice este comando para borrar la caché DNS NCSD en su máquina Linux:
sudo /etc/init.d/nscd restart
Ingrese su contraseña si es necesario. El proceso se detiene y luego inicia el servicio NCSD en segundos.
Vaciar la caché de DNS dnsmasq local
Utilice este comando para borrar la caché de DNS dnsmasq en su máquina Linux:
sudo /etc/init.d/dnsmasq reiniciar
Ingrese su contraseña nuevamente, si el terminal se lo solicita. Verá la respuesta cuando el servicio se detenga y comience de nuevo.
Vaciar la caché de DNS BIND local
Si usa BIND para el servicio DNS, hay algunos comandos que puede usar para vaciar su caché DNS. Es posible que deba ingresar su contraseña para finalizar el proceso.
sudo /etc/init.d/named reiniciar reiniciar sudo rndc sudo rndc exec
sudo rndc flushname google.com
Limpiar DNS cache en macOS
Hay algunos comandos diferentes para usar para vaciar la caché de DNS en OS X y macOS, según la versión que esté ejecutando.
Como el procedimiento es el mismo en todas las versiones, este artículo detalla cómo borrar DNS en macOS Mojave (10.14) y luego enumera los comandos para otras versiones en una tabla.
Para borrar la caché de DNS en macOS Mojave, use la aplicación Terminal:
- Ejecute terminal.app utilizando su método preferido. Puede iniciar la aplicación desde Aplicaciones -> Utilidades o presionar Comando + Espacio para iniciar Spotlight y buscar Terminal.
- Escriba sudo killall -HUP mDNSResponder y presione Retorno en su teclado.
- Ingrese la contraseña de administrador para la cuenta en cuestión y presione Regresar.
No hay notificación cuando finaliza el proceso. Sin embargo, puede agregar otro comando para cambiar eso.
sudo killall -HUP mDNSResponder; say dns cleared successfully
Limpiar los comandos DNS en versiones anteriores de macOS y Mac OS X
La siguiente lista enumera los comandos para borrar la caché de DNS en la mayoría de las versiones de macOS y Mac OS X. Puede copiarlos y pegarlos directamente en su terminal.
Mojave (version 10.14) / High Sierra (version 10.13) / Sierra (version 10.12) / Mountain Lion (version 10.8) / Lion (version 10.7)
sudo killall -HUP mDNSResponder
El Capitan (version 10.11) / Mavericks (version 10.9)
sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder
Yosemite (version 10.10)
sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcaches
Snow Leopard (version 10.6) / Leopard (version 10.5)
sudo dscacheutil -flushcache
Tiger (version 10.4)
lookupd -flushcache