Cómo vaciar la caché de DNS en Linux

Las computadoras mantienen registros de cada sitio web que visita en una «caché de DNS». El propósito de esta 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 su 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 muy ú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 solucionar este tipo de errores en Linux computadoras es «vaciar» la caché de DNS en Linux. Cuando vacíe la caché de DNS, actualizará la base de datos de DNS y aclarará muchos de los problemas de resolución que experimentan muchos usuarios.

Vaciar DNS – Systemd resuelto

En este punto, la mayoría de los usuarios de Linux están ejecutando un sistema operativo que tiene integrado el sistema de inicio Systemd. 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 nivel del sistema operativo sean mucho más fáciles de lo que era en el pasado. Este hecho es especialmente cierto cuando se borra la caché de DNS.

  Las 6 mejores herramientas de copia de seguridad del sistema para el escritorio Linux

Systemd maneja la caché de DNS en algo conocido como «systemd resuelto». Es una utilidad estándar que encuentra su camino hacia la mayoría de los sistemas operativos Linux. Para determinar si su sistema operativo está usando Systemd Resolved para manejar DNS y la caché de DNS en el sistema, inicie una ventana de terminal presionando Ctrl + Alt + T o Ctrl + Shift + T en el teclado. Después de eso, ejecute el comando systemctl status en el archivo systemd-resuelto.service.

systemctl status systemd-resolved.service

Mire a través de la impresión de Systemd Resolved en la ventana de la terminal y localice la sección «Activo» una vez que haya localizado la sección «Activo» y asegúrese de que tenga «activo (en ejecución)» al lado. Si es así, su sistema Linux lo está usando para administrar su DNS.

Para borrar la caché de DNS de Systemd Resolved, deberá utilizar una de las funciones integradas de Systemd Resolved. Específicamente, el comando flush caches. ¡Limpiará instantáneamente el DNS y lo pondrá en funcionamiento nuevamente!

sudo systemd-resolved --flush-caches

O, si no puede usar sudo, haga:

su -
systemd-resolved --flushcaches

Una vez que haya utilizado el comando flushcaches, las cachés de DNS del sistema deberían estar lo suficientemente vacías. Sin embargo, si después de ejecutar este comando todavía tiene algunos problemas, puede ser una buena idea reiniciar el servicio por completo. Para hacer esto, utilice el comando systemctl restart.

sudo systemctl restart systemd-resolved.service

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

su -
systemctl restart systemd-resolved.service

Cuando Systemd-Resolved termine de reiniciarse, ¡todos los problemas de DNS deberían solucionarse!

  Cómo actualizar de Windows 7 a Linux

Vaciar DNS – DNS Masq

DNSMasq es otra solución de 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 su sistema operativo está utilizando la herramienta DNSMasq para administrar DNS, ejecute el comando de estado.

systemctl status dnsmasq.service

Lea la impresión de estado que systemd proporciona en pantalla. Diríjase a la sección «Activo» de la lectura. Escanee y busque «activo (en ejecución)» para confirmar que el servicio está activo. Si este es el caso, es posible borrar inmediatamente la caché de DNS para DNSMasq utilizando el comando systemctl restart. En la terminal, ingrese el siguiente comando.

sudo systemctl restart dnsmasq.service

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

su -
systemctl restart dnsmasq.service

Limpiar DNS – NSCD

NSCD es el sistema de almacenamiento en caché de DNS preferido para la mayoría de los sistemas operativos Linux basados ​​en RedHat. Por lo tanto, si está utilizando OpenSUSE Linux, CentOS o algo similar, es muy probable que tenga que preocuparse por borrar su caché de DNS.

  Cómo verificar los registros del sistema en Linux

Nota: aunque Fedora Linux está basado en RedHat, por defecto no almacena un caché de DNS.

Para determinar si su sistema operativo Linux usa NSCD, deberá usar el comando de estado, ya que es un servicio systemd.

systemctl status nscd.service

La ejecución del comando de estado en el servicio NSCD le brindará mucha información detallada al respecto. Hojee y busque la sección que dice «Activo». Si su sistema lo está usando, verá un texto verde que dice «activo (en ejecución)».

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

sudo systemctl restart nscd.service

Alternativamente, si su sistema operativo Linux deshabilita la ejecución de comandos systemctl con sudo, puede reiniciar el servicio iniciando sesión primero en la cuenta Root usando su.

su -

systemctl restart nscd.service