Cómo vaciar la caché DNS en Windows, macOS y Linux
Para vaciar la caché DNS, ejecuta ipconfig /flushdns en Windows, sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder en macOS, o resolvectl flush-caches en Linux con systemd-resolved. El comando exacto depende de tu sistema operativo y, en Linux, de qué resolutor tiene en marcha.
Qué es la caché DNS y por qué ayuda vaciarla
Cada vez que un dispositivo resuelve un nombre de host a una dirección IP, guarda la respuesta durante un tiempo en lugar de volver a preguntar en la siguiente petición. Esa respuesta guardada vive en la caché DNS del sistema operativo, y es distinta de la caché DNS que tu navegador mantiene por encima de esa. La caché es lo que hace rápida la navegación: sin ella, cada petición a cada recurso de una página dispararía una consulta nueva.
La caché se convierte en un problema en cuanto un registro cambia. Si un sitio se mudó a otra dirección IP, cambió de proveedor de hospedaje o actualizó un CNAME, tu equipo puede seguir respondiendo con el valor antiguo hasta que la entrada en caché caduque. Los resolutores también guardan en caché las respuestas negativas, es decir "este nombre no existe", durante un periodo fijado por el registro SOA del dominio, así que un nombre que acaba de empezar a funcionar puede seguir fallando localmente durante varios minutos. Vaciar la caché obliga a que la siguiente consulta salga en fresco en lugar de reutilizar lo que estaba guardado.
Cómo vaciar el DNS en Windows
- Abre el Símbolo del sistema. Los propios pasos de solución de problemas de Microsoft usan una ventana elevada (clic derecho, Ejecutar como administrador) para los comandos de DNS, así que empieza por ahí si la versión normal se comporta de forma rara.
- Ejecuta
ipconfig /flushdns. Según la documentación de Microsoft Learn para el comando, esto "vacía y restablece el contenido de la caché del resolutor DNS del cliente", descartando tanto las entradas negativas como cualquier cosa guardada de forma dinámica. - Confirma que funcionó con
ipconfig /displaydns, que lista todo lo que hay actualmente en la caché del resolutor. Justo después de vaciarla, esto debería devolver una lista casi vacía; navega por un par de sitios y vuelve a ejecutarlo para ver cómo se repueblan entradas nuevas.
Si una dirección desactualizada sigue reapareciendo, es posible que los propios servidores DNS asignados por DHCP estén en caché junto con la concesión. Liberar y renovar el adaptador recoge ambas cosas:
ipconfig /release
ipconfig /renew
Cómo vaciar el DNS en macOS
El comando depende de la antigüedad de la versión de macOS del equipo, y usar el que no toca en un Mac actual no hace nada, sin avisar.
- Yosemite 10.10.4 y todas las versiones posteriores (esto cubre todas las versiones de macOS actualmente compatibles, incluidas Sequoia, Sonoma, Ventura, Monterey y Big Sur):
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. El primer comando limpia la caché del Directory Service; el segundo envía a mDNSResponder una señal HUP para que se reinicie y descarte lo que tenía guardado. - Solo Yosemite 10.10 a 10.10.3 usaba una herramienta distinta:
sudo discoveryutil mdnsflushcache. - Mavericks, Mountain Lion y Lion: bastaba con
sudo killall -HUP mDNSRespondersolo. - Snow Leopard (10.6 a 10.6.8): solo
sudo dscacheutil -flushcache, sin el paso del killall.
A menos que tengas un Mac lo bastante antiguo como para ser anterior a la actualización Yosemite de 2014, usa el primer comando. Las dos partes piden la contraseña de tu cuenta, y el comando no produce ninguna salida cuando funciona.
Cómo vaciar el DNS en Linux
Linux no tiene una única caché DNS que vaciar, porque cada distribución trae su propia pila de resolutor. Comprueba cuál está activa antes de elegir un comando.
Ejecuta primero resolvectl status. Si devuelve ajustes de DNS por interfaz, el equipo está usando systemd-resolved, que es el predeterminado en Ubuntu, Fedora y la mayoría de las distribuciones actuales. Si el comando no se encuentra, comprueba los otros dos servicios habituales: systemctl status nscd o systemctl status dnsmasq (o, si no se usa systemd, busca el proceso con ps aux | grep -E 'nscd|dnsmasq').
- systemd-resolved (systemd 239 y posteriores):
resolvectl flush-caches. El manual de systemd lo describe como vaciar "todas las cachés de registros de recursos DNS que el servicio mantiene localmente." Puedes comprobar que funcionó conresolvectl statistics, que muestra el tamaño actual de la caché. - systemd-resolved en versiones antiguas de systemd (anteriores al cambio de nombre en la 239):
sudo systemd-resolve --flush-caches. Algunas distribuciones actuales todavía conservan esto como alias de compatibilidad incluso después de añadirresolvectl, así que merece la pena probarlo siresolvectlfalta perosystemd-resolveno. - nscd:
sudo systemctl restart nscdreinicia todo el servicio y vacía su caché con él. Para invalidar solo la caché de hosts sin reiniciar,sudo nscd -i hostsfunciona en las distribuciones que ofrecen ese indicador. - dnsmasq: enviarle una señal HUP vacía la caché sin tumbar el servicio, según su propia página de manual:
sudo killall -HUP dnsmasq. Un simplesudo systemctl restart dnsmasqtambién funciona y además recarga su configuración.
Cómo vaciar la caché DNS del propio navegador
Chrome mantiene su propia caché DNS, aparte de la del sistema operativo, así que vaciar solo la caché del sistema a menudo no basta para que un cambio surta efecto. Abre chrome://net-internals/#dns y haz clic en Clear host cache. Los navegadores basados en Chromium (Edge, Brave, Opera y otros) exponen la misma página en la misma dirección.
Eso todavía puede no ser la solución completa. Chrome también mantiene un conjunto de conexiones ya abiertas a la dirección IP antigua y puede reutilizar una de ellas en lugar de abrir una nueva, incluso después de vaciar la caché DNS. Abre chrome://net-internals/#sockets y usa Flush socket pools para cerrarlas también. Si un sitio sigue cargando la versión antigua después de ambos pasos, prueba una ventana privada, ya que empieza sin ninguna conexión en caché.
Por qué la dirección antigua sigue apareciendo después de vaciar la caché
Si ya has vaciado todas las cachés del equipo y el navegador sigue mostrando el servidor antiguo, el retraso normalmente ya no es local. Un router doméstico suele mantener su propia caché DNS pequeña para cada dispositivo de la red, y reiniciarlo limpia esa capa. Más allá del router, el resolutor de tu proveedor de internet también mantiene su propia caché, y no tienes forma directa de vaciarla; se limpia sola cuando caduca el TTL de la entrada guardada.
El TTL, el valor de tiempo de vida de un registro DNS, es el límite real de la rapidez con la que puede propagarse un cambio. Cada resolutor entre tú y el servidor de nombres autoritativo puede conservar una respuesta durante exactamente esos segundos antes de estar obligado a volver a preguntar. Un registro con un TTL de una hora puede seguir devolviendo legítimamente la dirección antigua a algunos visitantes casi una hora después del cambio, sin importar lo que vacíes en tu propio equipo. Consulta cómo funciona la propagación DNS para saber qué controla ese plazo y cómo comprobar si un registro ha terminado de actualizarse en todas partes.
Preguntas frecuentes
¿Necesito reiniciar el equipo después de vaciar el DNS?
No. Cada comando anterior surte efecto de inmediato y solo limpia la caché en memoria; reiniciar no forma parte del proceso ni en Windows, ni en macOS, ni en Linux.
¿Por qué vaciar el DNS no solucionó el problema?
Hay tres cosas que suelen seguir reteniendo la respuesta antigua: la propia caché del navegador (vacíala aparte en chrome://net-internals/#dns), el router que da servicio a tu red, o que el TTL del registro simplemente todavía no haya caducado en el resto de internet. Si una consulta sigue fallando o agota el tiempo por completo en lugar de devolver una respuesta desactualizada, eso apunta a un servidor DNS que no responde y no a un problema de caché.
¿Cómo vacío el DNS en mi móvil?
Ni iOS ni Android exponen un comando manual para vaciar el DNS. Activar y desactivar el modo avión, o cambiar del Wi-Fi a los datos móviles y volver, obliga al dispositivo a descartar su estado de DNS en caché y a resolver de nuevo en la siguiente petición.
¿Vaciar el DNS arregla la carga lenta de páginas?
Raramente por sí solo. Una caché local corrupta o demasiado grande puede añadir un pequeño retraso, pero las consultas que son lentas de forma constante suelen deberse más al propio resolutor. Consulta por qué las consultas DNS son lentas para ver las causas más probables y cómo probarlas.
¿Cuál es la diferencia entre vaciar el DNS y borrar la caché del navegador?
La caché del navegador guarda el contenido de la página: HTML, CSS, imágenes y scripts. La caché DNS guarda solo la asignación de nombre de host a IP que se usa para encontrar el servidor en primer lugar. Vaciar una no vacía la otra, y una página desactualizada puede deberse a cualquiera de las dos.
¿Cómo confirmo que el vaciado funcionó?
En Windows, ejecuta ipconfig /displaydns justo después del vaciado; debería volver casi vacío. En Linux con systemd-resolved, resolvectl statistics muestra el tamaño actual de la caché. macOS no tiene un comando de inspección equivalente, así que la comprobación práctica es volver a consultar el dominio con dig example.com o ejecutar una verificación desde fuera de tu propia red con una herramienta como una consulta DNS que pregunte desde varias ubicaciones a la vez, lo cual también aclara si la respuesta desactualizada es local o viene de los propios servidores de nombres del dominio.