Chaque fois que nous essayons d'accéder à un site Web, une requête de résolution de nom DNS est exécutée pour résoudre son adresse IP. Les systèmes d'exploitation mettent ces données en cache pour éviter de contacter les serveurs de noms à chaque fois.
Pourquoi vider le cache DNS ?
Parfois, l'adresse IP d'un site Web est modifiée lorsqu'elle est déplacée vers un autre serveur. Dans ce cas, si nous atteignons l'adresse IP mise en cache, le site Web ne fonctionnera pas.
Les entrées DNS sont associées à la valeur "Time To Live (TTL)", qui indique au service de résolution de noms du système d'exploitation quand invalider le cache DNS.
Mais, si vous souhaitez atteindre la nouvelle adresse IP avant l'expiration de la durée de vie, la seule solution consiste à vider le cache DNS.
Service Ubuntu pour la résolution de noms DNS
Le systemd-resolved.service
est utilisé pour exécuter les requêtes DNS et maintenir le cache DNS.
Nous pouvons utiliser la commande suivante pour vérifier son statut.
# sudo systemctl status systemd-resolved
Nous pouvons exécuter la commande suivante pour vérifier les statistiques du cache DNS.
# sudo systemd-resolve --statistics
Il y a une légère différence dans le nom du service et de la commande. Le nom de la commande n'a pas le dernier caractère "d".
Comment vider le cache DNS sur Ubuntu ?
Nous pouvons exécuter la commande suivante pour effacer le cache DNS sur Ubuntu.
# sudo systemd-resolve --flush-caches
Ensuite, vérifiez à nouveau les statistiques pour confirmer que la "Taille actuelle du cache" est de 0.
Redémarrage du service résolu par systemd pour effacer toutes les statistiques du cache DNS
La commande de vidage DNS n'efface pas les statistiques des accès et des échecs du cache. Si vous souhaitez effacer toutes les statistiques du cache, vous devez redémarrer le service résolu par systemd.
# sudo systemctl restart systemd-resolved
Conclusion
Il est très facile de vider le cache sur Ubuntu. La commande pour vider le DNS peut être exécutée par l'utilisateur root ou un utilisateur avec des privilèges sudo.