FLUSH DNS en Linux: SystemD-Resolved, NetworkManager y NSCD

Publicado: 2025-09-26

Cuando su sistema Linux se comporta de manera extraña al acceder a sitios web, o resuelve dominios incorrectos, podría ser el momento de descargar el caché DNS. Al igual que el caché de su navegador, el caché DNS almacena datos temporales que ayudan a mejorar la velocidad de navegación web y reducir la latencia. Sin embargo, cuando este caché se desactualiza o se corrompe, puede conducir a problemas de conectividad. Esto es especialmente importante en escenarios de desarrollo o redes donde los nombres de dominio cambian con frecuencia. En este artículo, exploraremos cómo enjuagar el caché DNS en los sistemas Linux que usanSystemD resuelto,NetworkManageroNSCD(Name Service Cache Daemon).

Comprender el almacenamiento en caché del DNS en Linux

El almacenamiento en caché del DNS es un mecanismo que almacena las búsquedas DNS localmente. Esto evita que las consultas repetidas para el mismo nombre de dominio se resientan a los servidores DNS, lo que puede mejorar el rendimiento. Sin embargo, Linux distribuye las responsabilidades de resolución DNS de manera diferente dependiendo de los componentes o servicios del sistema en uso.

En las distribuciones modernas, es más probable que encuentre uno de los siguientes sistemas de resolución:

  • Systemd resuelto: común en distribuciones más nuevas como Ubuntu 18.04+ y Fedora.
  • NetworkManager: a menudo funciona con SystemD resuelto u otro backend.
  • NSCD(Daemon de caché de servicio de nombre): se encuentra en algunos sistemas tradicionales de UNIX y Enterprise Linux.

Cada uno de estos sistemas maneja el DNS almacenado en caché de manera diferente, lo que significa que el método para enjuagar el caché también varía. Caminemos por cada uno en detalle.

Fache de DNS en descarga en Systemd resuelto

Systemd-resueltoes un servicio proporcionado porSystemDpara administrar consultas DNS y almacenamiento en caché. Se está convirtiendo en el estándar en muchas distribuciones de Linux convencionales. Puede verificar si su sistema usa SystemD resuelto ejecutando:

 systemctl is-active systemd-resolved

Si está activo, proceda a enjuagar el caché DNS con el siguiente comando:

 sudo systemd-resolve --flush-caches

Para confirmar que el caché se ha bordeado o ver las estadísticas actuales, puede usar:

 systemd-resolve --statistics

Este comando muestra métricas como la cantidad de entradas de caché, golpes y fallas, lo que le ayuda a garantizar que la descarga de caché tenga éxito.

Configuración y depuración resuelta con SystemD

Para usuarios avanzados, la configuración del servicio reside en /etc/systemd/resolved.conf . Puede ajustar la configuración como los servidores DNS o los comportamientos de retroceso. Si experimenta problemas de DNS persistentes, considere verificar los registros journalctl paraSystemD resueltos:

 journalctl -u systemd-resolved

Esto puede ser increíblemente útil al solucionar problemas de resolución de dominio derivado de la configuración errónea del DNS o la intoxicación por caché.

Uso de NetworkManager para actualizar DNS

NetworkManager es una utilidad que maneja la configuración de la red automáticamente en muchas distribuciones de Linux, incluidos entornos de escritorio como GNOME y KDE. Si bien NetworkManager en sí no almacena en caché de DNS, a menudo determina qué servicio (como SystemD resuelto) maneja DNS.

Para actualizar la configuración de DNS con NetworkManager, puede reiniciar el servicio:

 sudo systemctl restart NetworkManager

Este método obliga indirectamente a una re-resolución de DNS al reiniciar conexiones y servicios relacionados. Si desea obtener más granular, también puede deshabilitar y volver a habilitar interfaces de red específicas. Por ejemplo:

 nmcli networking off nmcli networking on

O, para un dispositivo específico:

 nmcli device disconnect eth0 nmcli device connect eth0

Este método es particularmente útil al cambiar entre redes o resolver problemas de propagación del dominio después de cambiar el DNS.

Inspeccionar la configuración de DNS con NMCLI

Si desea inspeccionar qué DNS está utilizando su NetworkManager, el comando:

 nmcli dev show | grep DNS

Enumerará las direcciones DNS actualmente activas. Esto es útil al verificar que la configuración DNS de DHCP o direccionamiento estático se aplican correctamente.

DNS en descarga con NSCD (Daemon de caché de servicio de nombre)

Si bien es menos común en los sistemas modernos de escritorio Linux,NSCDtodavía se usa en entornos empresariales y heredados. Cachica las solicitudes de servicio de nombre para acelerar la resolución de nombres de host, contraseñas y otros objetos de base de datos. Primero, asegúrese de que esté instalado y en ejecución:

 sudo systemctl status nscd

Si está activo, enjuagar el caché DNS es sencillo:

 sudo nscd -i hosts

Este comando le dice a NSCD que invalida (-i) sus entradas de caché para los nombres de host. Si desea descargar todo, no solo entradas DNS, use:

 sudo nscd -I

Eso recargará toda la configuración y borrará los datos en caché para todas las bases de datos compatibles.

Configuración y monitoreo de NSCD

NSCD está configurado a través de /etc/nscd.conf . Puede habilitar o deshabilitar el almacenamiento en caché de varios tipos de datos como:

  • pasada
  • grupo
  • anfitriones

El archivo está bien comentado, lo que lo hace razonablemente accesible. Los registros de monitoreo a través de journalctl -u nscd le permite vigilar su comportamiento e identificar posibles problemas.

Cómo determinar qué mecanismo de almacenamiento en caché está utilizando

¿No está seguro en qué sistema se basa su máquina Linux para el almacenamiento en caché de DNS? Aquí hay algunos cheques rápidos:

  • ¿ systemd-resolve --status devuelve la salida significativa? En caso afirmativo, su sistema probablemente usa SystemD resuelto.
  • ¿ nscd -g proporciona entradas de mesa? Es posible que esté usandoNSCD.
  • ¿ resolvectl funciona en su sistema? Esa es una buena señal paraSystemD resuelto.
  • ¿Está instalado dnsmasq o BIND ? Eso apunta a configuraciones más avanzadas que requieren pasos separados.

Identificar el resolución de DNS en uso es crucial antes de intentar enjuagar o depurar el caché DNS, ya que enjuagar el caché incorrecto no resolverá su problema.

¿Por qué es beneficioso enmarcar regularmente a DNS?

Si bien el almacenamiento en caché del DNS mejora el rendimiento, también puede ser problemático. He aquí por qué y cuándo es posible que quieras enjuagarlo:

  • Después de cambiar las entradas DNS:los cachés no fallados pueden apuntar a los viejos servidores IPS o DNS.
  • Problemas de conectividad de solución de problemas:el caché corrupto o envenenado conduce a resoluciones fallidas.
  • Escenarios de la era de desarrollo:al probar una migración de dominio o cambiar entre los servidores de preparación y producción.

Enjuague regularmente el caché DNS ayuda a mantener la salud del sistema y evita problemas inesperados de acceso al sitio, especialmente para usuarios avanzados, administradores de sistemas y desarrolladores.

Consejos y herramientas avanzadas

Si está trabajando en un entorno complejo o necesita más control sobre la resolución DNS, aquí hay algunas herramientas y consejos de bonificación:

  • DNSMASQ:actúa como un reenvío de DNS ligero con capacidades de almacenamiento en caché.
  • Bind (nombrado):servidor DNS de grado empresarial con almacenamiento en caché de zona sintonizable y vencimiento personalizado.
  • dig y nslookup :herramientas de depuración para probar registros DNS en tiempo real.
  • host :simple y directo para consultar registros DNS sin interrupción de caché.
¿Por qué cambiar Keybinds en SurvivalCraft 2?

Pensamientos finales

Enjuagar su caché DNS en Linux es una tarea directa, una vez que sepa qué herramienta o servicio maneja la resolución DNS en su sistema. Ya sea que esté utilizandoSYSTEMD resuelto,NetworkManageroNSCD, comprender cómo funciona cada uno lo armará con las habilidades para resolver rápidamente cualquier escenario de solución de problemas relacionado con el DNS. Mantener su caché DNS limpio no es solo una buena higiene, es esencial para una resolución de nombres de dominio confiable y precisa en el panorama dinámico de redes dinámicas.