Limpiar el caché de DNS en Linux
Limpiar el caché de DNS en Linux

Cómo limpiar el caché de DNS en cualquier Linux

Las computadoras mantienen registros de cada sitio web que visitas en un “caché de DNS“. El propósito de este caché es ahorrar tiempo cuando el usuario intenta acceder a un dominio; El sistema no tiene que buscarlo manualmente cada vez. En general, el almacenamiento en caché de DNS hace que tu uso de Internet sea más rápido, y es por eso que prácticamente todos los sistemas operativos, desde macOS, hasta Windows y Linux, lo hacen.

Aún así, por más útil que sea el almacenamiento en caché de DNS, a veces pueden surgir problemas, como ver un sitio web antiguo en lugar del nuevo actualizado, no poder conectarse a un servidor remoto, etc. Una excelente manera de evitar este tipo de errores en las computadoras con Linux es “vaciar o borrar” el caché de DNS en Linux. Cuando limpies el caché de DNS, se actualizará la base de datos de DNS y solucionará muchos de los problemas de resolución que experimentan muchos usuarios.

Estado de NetworkManager
Estado de NetworkManager

1. Flush DNS – Systemd Resolved

En este punto, la mayoría de los usuarios de Linux están ejecutando un sistema operativo que tiene incorporado el sistema Systemd init. Si bien el tema de Systemd es divisivo en la comunidad, hay una cosa que todos saben: Systemd hace que los ajustes y el mantenimiento profundos y complicados del sistema operativo sean mucho más fáciles de lo que eran en el pasado. Este hecho es especialmente cierto con la limpieza de la caché de DNS.


Systemd maneja el caché de DNS en algo conocido como “systemd resolved“. Es una utilidad estándar que encuentra una forma de acceder a la mayoría de los sistemas operativos Linux. Para determinar si tu SO está usando Systemd Resolved para manejar el DNS y la caché de DNS en el sistema, inicia una ventana de terminal presionando Ctrl + Alt + T o Ctrl + Shift + T en el teclado. Después de eso, ejecuta el comando:

systemctl status systemd-resolved
Comando systemctl status systemd-resolved
Comando systemctl status systemd-resolved

Mira a través de la impresión de Systemd Resolved en la ventana del terminal y ubica la sección “Active” una vez que hayas localizado la sección “Active” y asegúrate de que tenga “active (running)” al lado. Si lo hace, tu sistema Linux está utilizando esto para administrar tu DNS.

Para borrar el caché de DNS para Systemd Resolved, deberás usar una de las funciones integradas de Systemd Resolved. Específicamente, el comando flush caches. ¡Al instante borrará el DNS y lo pondrá en marcha nuevamente!

sudo systemd-resolve --flush-caches

O, si no puedes usar sudo, haz esto:

su -
systemd-resolve --flush-caches

Una vez que hayas utilizado el comando flushcaches, los cachés de DNS en el sistema deberían estar suficientemente vacíos. Sin embargo, si después de ejecutar este comando aún tiene algunos problemas, puede ser una buena idea reiniciar el servicio por completo. Para hacer esto, haga uso del comando systemctl restart.

sudo systemctl restart systemd-resolved.service
Limpiar Caché DNS y reinicar servicio
Limpiar Caché DNS y reinicar servicio

¿No puedes usar el sudo ? Inicia sesión como Root con su antes de intentar reiniciar el servicio con systemd.

su -
systemctl restart systemd-resolved.service

Cuando Systemd-Resolved termina de reiniciarse, ¡todos los problemas de DNS deben solucionarse!

2. Flush DNS – DNS Masq

Habilitar caché DNS con DNSMasq
Habilitar caché DNS con DNSMasq

DNSMasq es otra solución DNS popular para la plataforma Linux que utilizan muchos sistemas operativos. Al igual que la herramienta Systemd-Resolved, los usuarios pueden interactuar con ella con el comando systemctl. Para determinar si tu sistema operativo está utilizando la herramienta DNSMasq para administrar el DNS, ejecuta el comando status.

systemctl status dnsmasq.service


Lee la impresión de estado que proporciona systemd en la pantalla. Dirígete a la sección “Active” de la lectura. Examínalo y busca “active (running)” para confirmar que el servicio está activo. Si este es el caso, es posible borrar inmediatamente el caché de DNS para DNSMasq usando el comando systemctl restart. En la terminal, ingresa el siguiente comando.

Borrar caché DNS de dnsmasq
Borrar caché DNS de dnsmasq
sudo systemctl restart dnsmasq.service

O, para aquellos que no pueden usar los comandos de systemd con sudo, intenten iniciar sesión como Root antes de reiniciar.

su -
systemctl restart dnsmasq.service

3. Flush DNS – NSCD

NSCD es el sistema de almacenamiento en caché DNS preferido para la mayoría de los sistemas operativos Linux basados ​​en RedHat. Por lo tanto, si estás utilizando OpenSUSE Linux, CentOS o algo similar, hay una buena posibilidad de que debas molestarse con él para borrar la caché de DNS.

Para determinar si tu sistema operativo Linux utiliza NSCD, deberás usar el comando status, ya que es un servicio de systemd.

systemctl status nscd.service

Ejecutar el comando status en el servicio NSCD te dará mucha información detallada al respecto. Hojea y busca la sección que dice “Active“. Si tu sistema lo está usando, verás un texto verde que dice “active (running)“.

El vaciado de la caché de DNS con NSCD funciona de manera muy similar a cualquier otro sistema de almacenamiento en caché que funcione con systemd. Todo lo que el usuario debe hacer es ejecutar el comando systemctl restart . Recargará el servicio y borrará automáticamente el caché de DNS, lo que solucionará cualquier problema de DNS que pueda estar experimentando.

sudo systemctl restart nscd.service

Alternativamente, si tu sistema operativo Linux desactiva la ejecución de los comandos systemctl con sudo, puedes reiniciar el servicio iniciando sesión en la cuenta de Root utilizando su.

su -
systemctl restart nscd.service

¿Te ha gustado este artículo? Sígue este blog en su fanpage de FacebookTwitterInstagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda