Marcio Cunha

Cómo limpiar el caché de DNS en Linux y resolver fallas

Aprende a inspeccionar y limpiar el caché de DNS en Linux usando systemd-resolved y dig para solucionar fallas de propagación y resolución.

Marcio Cunha•5 min
También disponible en:PortuguêsEnglish
Resumen
  • El servicio systemd-resolved administra el caché local de DNS en la mayoría de las distribuciones modernas de Linux.
  • La herramienta dig permite consultar directamente a los servidores autoritativos y omitir cachés intermedios.
  • La limpieza correcta del caché evita que los equipos sigan accediendo a direcciones IP antiguas tras migraciones.
  • Los problemas persistentes de propagación exigen verificar el tiempo de vida TTL configurado en la zona del dominio.
  • Monitorear los registros del sistema ayuda a identificar cuellos de botella en la resolución antes de afectar a los usuarios.

Qué es el caché de DNS y por qué falla en la práctica

El Sistema de Nombres de Dominio (DNS) funciona como la guía telefónica de internet, traduciendo nombres de dominio fáciles de recordar, como marciocunha.net, en direcciones IP numéricas que las computadoras usan para comunicarse. Para acelerar la navegación y reducir el tráfico de red, su sistema operativo almacena temporalmente estas respuestas en un área llamada caché. En la práctica, esto significa que su computadora no necesita preguntarle a todo internet cuál es la IP de un sitio web cada vez que intenta visitarlo.

Sin embargo, esta conveniencia trae un efecto secundario muy conocido en entornos corporativos: cuando un servidor cambia su dirección IP o un sitio se migra a una nueva infraestructura, su computadora puede seguir intentando acceder a la dirección antigua almacenada en la memoria. En servidores locales o redes corporativas, esta falla de propagación genera errores de conexión frustrantes que parecen aleatorios. Es exactamente en este escenario donde surge la necesidad de inspeccionar lo guardado y forzar una limpieza del historial para restablecer el flujo normal de datos.

Cómo identificar problemas de resolución de nombres

Antes de aplicar cualquier comando de limpieza, el primer paso de un administrador de sistemas es aislar el origen de la falla. A menudo, el error no está en el caché local, sino en un servidor intermedio o en una mala configuración de la zona DNS. Para investigar esto de forma quirúrgica, utilizamos la utilidad dig, una potente herramienta de línea de comandos para consultar servidores de nombres directamente.

En la práctica, dig nos permite omitir por completo el caché del sistema operativo y preguntar directamente a la fuente. Si desea saber cómo configurar el QoS en el router para eliminar el jitter y garantizar estabilidad durante las consultas, es fundamental primero aislar si el problema es lentitud en la ruta o una falla en la respuesta del dominio. Ejecutar un diagnóstico preciso evita perder tiempo reiniciando servicios que funcionan a la perfección.

Inspeccionando el resolvedor con systemd-resolved

En las distribuciones modernas de Linux como Ubuntu, Debian y Fedora, la administración de redes y la resolución de nombres están centralizadas mayoritariamente en un servicio llamado systemd-resolved. Este servicio actúa como un resolvedor local que intercepta las solicitudes de las aplicaciones y mantiene un caché activo en la memoria RAM. Para conocer el estado actual de este caché, las estadísticas de uso y qué servidores upstream están configurados, usamos el comando nativo resolvectl.

Cuando ejecutamos una inspección, podemos ver claramente cuántas consultas fueron exitosas, cuántas fallaron y cuál es la tasa de aciertos del caché actual. Si nota discrepancias extrañas donde un navegador abre el sitio pero la herramienta de línea de comandos falla, el problema casi siempre radica en políticas agresivas de caché mantenidas por este servicio o incluso en capas adicionales de caché dentro del propio navegador.

Paso a paso para limpiar el caché de DNS en Linux

Cuando la propagación de un dominio falla y tiene la certeza de que los registros se actualizaron en el origen, llega el momento de vaciar el caché local. El procedimiento es rápido pero requiere privilegios administrativos. La secuencia a continuación muestra cómo reiniciar y limpiar el caché del resolvedor del sistema de forma segura.

  1. Abra la terminal de Linux con privilegios de superusuario y verifique el estado actual del servicio de resolución ejecutando
    sudo systemctl status systemd-resolved
  2. Limpie el caché interno y reinicie las estadísticas del resolvedor utilizando el comando nativo
    sudo resolvectl flush-caches
  3. Valide que la limpieza funcionó y que el caché se restableció consultando nuevamente el estado del servicio con
    sudo resolvectl statistics

Después de ejecutar estos pasos, el sistema operativo descartará todas las entradas obsoletas. Vale la pena recordar que, si utiliza servidores DNS locales como Pi-hole o servicios corporativos encadenados, es posible que deba limpiar el caché también en esos nodos centrales para garantizar la eficacia total del cambio.

Validando la propagación con el comando dig

Con el caché limpio, el siguiente paso esencial es validar si las nuevas solicitudes están obteniendo las direcciones IP actualizadas. Es aquí donde el comando dig se convierte en el mejor aliado del ingeniero de redes. Mientras que los navegadores web pueden insistir en guardar datos antiguos, dig realiza una consulta cruda y transparente al servidor autoritativo.

Al ejecutar una consulta dirigida a un servidor público de confianza, como el de Google (8.8.8.8) o Cloudflare (1.1.1.1), puede comparar la respuesta que recibe su máquina con la realidad de internet. Si la IP devuelta sigue siendo la antigua, el problema ya no es su caché local, sino el tiempo de vida (TTL) configurado por el proveedor del dominio que aún no ha expirado en los servidores raíz globales. Para complementar esta implementación en entornos de producción, consulte también nuestros análisis técnicos sobre Cómo probar el fusible en la placa base con multímetro y Cómo configurar el QoS en el router para eliminar el jitter.

Conclusión y mejores prácticas en la gestión de DNS

Administrar la resolución de nombres en entornos Linux exige comprender que el caché existe para optimizar el rendimiento, pero puede convertirse en un obstáculo durante mantenimientos y migraciones de servidores. Dominar herramientas como systemd-resolved y dig convierte un problema aparentemente misterioso en un diagnóstico rápido y quirúrgico. Con la rutina adecuada de inspección y limpieza, garantiza que su infraestructura corporativa o servidor local responda siempre con precisión y agilidad.

Adoptar mejores prácticas, como verificar el TTL antes de grandes cambios y documentar los procedimientos de limpieza, previene horas de inactividad y dolores de cabeza. El DNS es la base invisible de cualquier arquitectura de red moderna; mantenerlo auditado y bajo control es sinónimo de resiliencia y estabilidad para toda la operación tecnológica.