X

Cómo realizar un flush DNS

Un término medianamente conocido en el mundo de los sitios web y del hosting en general es lo que se conoce como flush DNS, que lo podemos entender como una limpieza de la caché DNS de un sistema. En este artículo te vamos a contar en qué consiste y cómo realizar este procedimiento en distintos sistemas operativos como Windows, Linux y Mac.

Qué es la caché DNS

Por supuesto antes de hablar sobre una limpieza de la caché DNS (o flush DNS) de un dispositivo tenemos que entender qué es la caché DNS exactamente.

Una caché DNS es básicamente un registro temporal de las consultas DNS que hemos realizado. Cuando accedemos a una URL por medio de nuestro navegador, lo que el navegador hace es enviar una solicitud al servidor DNS del sitio web que estamos visitando, solicitando la IP desde la cual el sitio web responde, de forma que el navegador pueda enviar al servidor web la solicitud para mostrar el contenido del sitio al usuario. Esto puede sonar como un proceso largo, pero en realidad ocurre extremadamente rápido, de hecho la solicitud al DNS y su devolución suelen demorar menos de un segundo.

La segunda vez que accedemos al sitio web, el panorama cambia ligeramente, porque para ahorrar esas fracciones de segundo que se demora en consultar al servidor DNS y obtener una respuesta, se ha generado lo que se conoce como caché DNS. Gracias a esta caché DNS, el sistema se salta el paso de consultar al servidor DNS, porque ya sabe que el sitio web que queremos visitar está alojado en determinado servidor y se hará la solicitud a dicho servidor de forma directa.

¿Qué ventajas tiene esto? Pues que obviamente el sitio web cargará un poquito más rápido. La diferencia no será grande, quizá un segundo como mucho, pero no deja de ser una ventaja por muy pequeña que sea. A nuestros ojos es posible que esta diferencia sea prácticamente imperceptible, pero de todas formas está ahí.

La caché DNS funciona como un sistema que nos indica desde dónde responde no solo un sitio web, sino todos los registros DNS de un dominio, y si queremos poner esto en un ejemplo práctico, podemos pensarlo de esta forma: hagamos de cuenta que la primera vez que necesitamos ir a casa de alguien le solicitamos que nos envíe la ubicación para poder llegar. La segunda vez, si tenemos buena memoria, ya tendremos la ubicación «guardada» en nuestra mente y podremos saltarnos el paso de solicitarla. La caché DNS funciona de forma similar, solo que aplicado a registros DNS.

Lo que ocurre al realizar un flush DNS

Ahora que tenemos más en claro lo que es la caché DNS, sí podemos comenzar a hablar un poco más sobre el flush DNS, o limpieza de caché DNS, como queramos llamarla. En términos simples, lo que hace un flush DNS es borrar el registro de direcciones IP y otros registros DNS que tengamos almacenado en nuestro dispositivo.

Como ya decíamos previamente, tener una caché DNS en realidad es ventajoso, ya que en la práctica hace que nos podamos saltar los pasos de la consulta DNS, pero también es cierto que la caché DNS a veces puede ser problemático, por lo tanto todos los sistemas operativos incluyen un proceso mediante el cual se puede borrar esta caché DNS, lo que como ya sabemos se conoce como flush DNS.

Es importante también entender que la caché DNS suele limpiarse de forma automática de vez en cuando sin que tengamos que intervenir, sin embargo pueden darse determinadas situaciones en las cuales borrar la caché DNS es algo necesario.

Veamos a continuación cuáles son algunas de las principales razones que nos pueden llevar a realizar un flush DNS en nuestro dispositivo.

Motivos para realizar un flush DNS

Como ya decíamos, la caché DNS es ventajosa, pero hay determinadas situaciones en que no lo es, y esto puede requerir realizar un flush DNS manual para limpiar esa caché. Este proceso suele realizarse por distintas razones, principalmente seguridad, privacidad y para descartar información DNS vieja.

Seguridad

Desde el punto de vista de la seguridad, realizar un flush DNS es una buena práctica si queremos evitar lo que se conoce como DNS spoofing, es que un tipo de ataque en el cual un tercero malintencionado logra tener acceso a nuestra caché DNS y alterar la información allí guardada, de forma que al ingresar a un sitio web estemos ingresando a una versión falsa del mismo.

En la mayoría de los casos, las víctimas de este ataque son dirigidos a sitios falsos que se asemejan a los reales, y se les engaña para colocar allí información sensible, como pueden ser credenciales de acceso, números de tarjeta de crédito, datos bancarios o cualquier tipo de información sensible.

Privacidad

Hay personas que se toman la privacidad en Intenet muy en serio, y no hablamos de simplemente borrar las cookies del navegador. La caché DNS obviamente les juega en contra en ese sentido, ya que a su manera es una forma de historial de los dominios que hemos consultado. Recordemos que la caché DNS funciona como una especie de libreta de direcciones y guarda un registro de los dominios accedidos.

Quienes desean mantener su privacidad fuera de los ojos de terceros suelen borrar la caché DNS con mucha frecuencia, ya que siempre hay gente ahí fuera intentando recoger esta información para su provecho.

Descartar registros DNS viejos

Esta es quizá la razón más frecuente para realizar un flush DNS, es decir limpiar los registros viejos para poder estar seguros de tener información fresca. Por ejemplo, si alguna vez mudamos un sitio web de un hosting a otro, es normal que la IP de nuestro dominio cambie, así que la caché DNS nos puede jugar una mala pasada porque podría hacernos ver el sitio web desde el servidor viejo en lugar del nuevo.

Esto puede suceder incluso con sitios web que no sean nuestros pero que se han mudado de servidor muy recientemente, puede que si accedemos a ellos mediante registros DNS guardados en caché estemos viendo una versión vieja del sitio o incluso páginas de error si el sitio ya fue retirado de ese servidor.

Ahora que tenemos un poco más claro qué es la caché DNS, que es el flush DNS y por qué se realiza este proceso, es hora de que veamos cómo llevarlo a cabo en distintos sistemas operativos, enfocándonos en los tres principales, es decir Windows, Linux y Mac.

Cómo realizar un flush DNS en Windows

Para hacer un flush DNS en Windows 10 y Windows 11 (las versiones anteriores ya no están soportadas por Microsoft) vamos a presionar la tecla Windows + R, y en el recuadro escribir «cmd» y presionar Enter. Esto abrirá la herramienta de línea de comandos de Windows, para usarla quizá sea necesario tener privilegios de administrador.

Asumiendo que tenemos privilegios de administrador y la herramienta se abrió correctamente, veremos una pantalla negra donde simplemente debemos escribir lo siguiente:

ipconfig /flushdns

Y presionar Enter. Esto rápidamente borrará la caché DNS de nuestro sistema. Sí, así de sencillo es el proceso, toma apenas unos segundos.

En versiones más viejas como Windows 7, Vista o XP, el proceso es similar, simplemente buscamos la herramienta cmd, la abrimos, colocamos el comando ya mencionado y presionamos Enter.

Ejecutar un flush DNS en Linux

En sistemas Linux vamos a utilizar la herramienta Terminal, que viene incluida por defecto en todas las distros.
Una vez abierta la herramienta, el comando que debemos ejecutar va a depender de la distro que estemos utilizando, y qué tan actual sea.

Asumiendo que estamos usando una distro reciente, como por ejemplo Ubuntu 22.04 o Fedora 39/40, y que además contamos con privilegios sudo, podemos ejecutar los siguientes comandos:

sudo resolvectl flush-caches

sudo systemd-resolve --flush-caches

Como decíamos, los comandos a ejecutar para hacer un flush DNS en Linux dependen en gran parte de la distro utilizada, pero es casi seguro que será uno de estos dos, es solo cuestión de probar ambos.

Importante recalcar que estos comandos no brindan ningún resultado visual si la tarea se ejecuta, así que si queremos ver si la caché efectivamente fue borrada podemos usar los siguientes:

sudo systemd-resolve --statistics

sudo resolvectl statistics

En la imagen de ejemplo de abajo, donde los comandos fueron ejecutados como root (por eso la ausencia del «sudo»), podemos ver que primero se realiza el flush DNS y posteriormente se puede ver que la caché está vacía (Current Cache Size: 0).

Realizando un flush DNS en Mac

Para hacer un flush DNS en Mac, asumiendo que tenemos una versión lanzada en los últimos años como Monterey, Ventura o Sonoma, el proceso es bastante parecido al de Linux, simplemente debemos abrir la herramienta Terminal y ejecutar el siguiente comando, asegurando que tenemos un usuario con suficientes privilegios:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Al ejecutar el comando es posible que el sistema nos solicite ingresar nuestra clave de usuario dado que estamos ejecutando un comando como sudo.

Si tenemos una versión un poco más vieja podemos ejecutar el siguiente comando en la Terminal de nuestra Mac, es más simple aún:

sudo killall -HUP mDNSResponder

Conclusión

El flush DNS es un práctica no muy común pero que en algunas ocasiones se vuelve necesaria cuando necesitamos refrescar la caché DNS de nuestro dispositivo, generalmente para evitar cargar sitios web usando registros DNS viejos, aunque también se puede realizar por motivos de seguridad y privacidad.

El proceso para realizar un flush DNS en Windows, Linux o Mac es sumamente sencillo, basta con abrir una herramienta de línea de comandos y ejecutar un comando simple para limpiar la caché DNS en pocos segundos.

Artículos relacionados