Le serveur DNS est utilisé pour convertir les noms de domaine en adresses IP. Lorsque vous tapez un nom de site Web dans la barre d'adresse de votre navigateur, votre système ne sait pas où trouver cette adresse. Il demande cette adresse au serveur DNS. Le serveur DNS contient le mappage du nom de domaine aux adresses IP. Ce mappage de nom de domaine à adresse IP change de temps en temps.
Notre système maintient également une base de données temporaire contenant des informations de mappage de domaine à IP sur les sites que nous avons visités récemment. Cette base de données temporaire est connue sous le nom de cache DNS. Il est utilisé pour éviter de récupérer plus rapidement les sites fréquemment ou récemment visités à partir du cache DNS des magasins locaux au lieu de les récupérer à partir des serveurs DNS.
Parfois, il est nécessaire de vider le cache DNS. Cela est nécessaire dans des cas comme lorsque le cache est corrompu et qu'il vous redirige vers les mauvais sites Web. Il est également nécessaire lorsqu'un site est déplacé vers une adresse différente mais que le navigateur charge toujours l'ancien site. Le vidage du cache DNS supprime l'intégralité des entrées de mappage domaine vers IP, y compris les enregistrements anciens et non valides. La prochaine fois que le système tentera d'accéder aux sites Web, le cache DNS repeuplera les nouvelles entrées.
Voyons comment vider le cache DNS sur Ubuntu.
Remarque :La procédure décrite ici a été testée sur Ubuntu 20.04 LTS . Les commandes ont été exécutées sur Terminal qui peut être ouvert via Ctrl+Alt+T raccourci.
Comment vider le cache DNS
La plupart des systèmes Ubuntu (18.04 et versions ultérieures) et Debian utilisent un démon résolu par systemd pour mettre en cache les requêtes DNS. Nous pouvons également l'utiliser pour vider le cache DNS.
1. Vérifier le statut "systemd-resolved"
Vérifions d'abord si systemd-resolved est en cours d'exécution. Exécutez la commande ci-dessous pour ce faire :
$ sudo systemctl is-active systemd-resolved
Si vous voyez "actif " dans la sortie de la commande ci-dessus, cela signifie que systemd-resolved est en cours d'exécution sur votre système.
2. Afficher la taille actuelle du cache
Maintenant, si vous souhaitez afficher la taille actuelle du cache avec d'autres informations, exécutez la commande ci-dessous dans Terminal :
$ sudo systemd-resolve --statistics
Voici la sortie de la commande ci-dessus, qui affiche différentes informations. À l'heure actuelle, nous ne nous intéressons qu'à la "Taille actuelle du cache ”, qui est 8. Nous voulons rendre la taille du cache 0 en le rinçant.
3. Vider le cache DNS
Maintenant, pour vider le cache DNS, exécutez la commande ci-dessous dans Terminal :
$ sudo systemd-resolve --flush-caches
4. Vérifiez la taille du cache
Vous pouvez ensuite consulter les statistiques pour vous assurer que la taille de votre cache est désormais nulle :
$ sudo systemd-resolve --statistics
La sortie suivante montre que la taille actuelle du cache est "0", ce qui confirme que le cache DNS a été effacé maintenant.
Voici comment vider le cache DNS sur Ubuntu. Si les sites ne se chargent pas correctement ou si vous recevez des sites obsolètes, essayez de vider le cache DNS pour voir si le problème est résolu. N'oubliez pas qu'une fois le cache DNS vidé, les sites se chargeront d'abord légèrement plus lentement. Mais une fois le cache DNS rempli à nouveau, les sites seront chargés plus rapidement.