Cada vez que intentamos acceder a un sitio web, se ejecuta una consulta de resolución de nombres DNS para resolver su dirección IP. Los sistemas operativos almacenan en caché estos datos para evitar comunicarse con los servidores de nombres cada vez.
¿Por qué borrar la caché de DNS?
A veces, la dirección IP de un sitio web cambia cuando se mueve a otro servidor. En ese caso, si accedemos a la dirección IP almacenada en caché, el sitio web no funcionará.
Las entradas de DNS tienen asociado el valor "Tiempo de vida (TTL)", que le indica al servicio de resolución de nombres del sistema operativo cuándo invalidar la caché de DNS.
Pero, si desea comunicarse con la nueva dirección IP antes de que caduque el TTL, la única solución es vaciar la caché de DNS.
Servicio de Ubuntu para resolución de nombres DNS
El systemd-resolved.service
se utiliza para ejecutar consultas de DNS y mantener la caché de DNS.
Podemos usar el siguiente comando para verificar su estado.
# sudo systemctl status systemd-resolved
Podemos ejecutar el siguiente comando para comprobar las estadísticas de caché de DNS.
# sudo systemd-resolve --statistics
Hay una ligera diferencia en el nombre del servicio y del comando. El nombre del comando no tiene el último carácter "d".
¿Cómo borrar la caché de DNS en Ubuntu?
Podemos ejecutar el siguiente comando para borrar el caché de DNS en Ubuntu.
# sudo systemd-resolve --flush-caches
Luego, verifique las estadísticas nuevamente para confirmar que el "Tamaño de caché actual" es 0.
Reiniciar el servicio resuelto por systemd para borrar todas las estadísticas de caché de DNS
El comando de vaciado de DNS no borra las estadísticas de aciertos y errores de caché. Si desea borrar todas las estadísticas de caché, debe reiniciar el servicio resuelto por systemd.
# sudo systemctl restart systemd-resolved
Conclusión
Es muy fácil vaciar el caché en Ubuntu. El comando para vaciar el DNS puede ejecutarlo el usuario root o un usuario con privilegios sudo.