Les ordinateurs enregistrent l’historique des sites web visités dans une zone appelée « cache DNS ». Cette fonctionnalité a pour objectif de réduire les temps de chargement lors des visites ultérieures, en évitant de répéter la recherche du nom de domaine à chaque tentative d’accès. En somme, la mise en cache DNS optimise l’expérience de navigation sur internet, et c’est pourquoi elle est intégrée à la plupart des systèmes d’exploitation, qu’il s’agisse de macOS, Windows ou Linux.
Bien que la mise en cache DNS soit très pratique, elle peut parfois engendrer des problèmes. On peut notamment se retrouver face à une version obsolète d’un site web, ou encore rencontrer des difficultés de connexion à un serveur distant. Une solution efficace pour remédier à ces soucis sur les systèmes Linux est de « vider » le cache DNS. Cette opération réinitialise la base de données DNS, résolvant ainsi de nombreuses erreurs rencontrées par les utilisateurs.
Purge du DNS avec Systemd-resolved
La majorité des utilisateurs Linux utilisent aujourd’hui des distributions basées sur Systemd. Bien que ce système d’initialisation fasse débat, il est indéniable qu’il simplifie grandement la gestion et la maintenance du système. C’est particulièrement le cas en ce qui concerne la suppression du cache DNS.
Systemd gère le cache DNS via un utilitaire nommé « systemd-resolved », très répandu sur les systèmes Linux. Pour vérifier si votre système utilise Systemd-resolved, ouvrez un terminal avec les raccourcis Ctrl + Alt + T ou Ctrl + Maj + T, puis entrez la commande suivante :
systemctl status systemd-resolved.service
L’affichage de Systemd-resolved dans le terminal comporte une section « Active ». Assurez-vous qu’elle indique « active (running) ». Si c’est le cas, votre système Linux utilise bien Systemd-resolved pour la gestion DNS.
Pour vider le cache DNS via Systemd-resolved, vous utiliserez la commande interne « flush-caches ». Elle permet une suppression instantanée du cache, vous permettant de retrouver une navigation normale.
sudo systemd-resolved --flush-caches
Ou, si vous n’avez pas accès à sudo, procédez comme suit :
su -
systemd-resolved --flushcaches
Une fois la commande « flushcaches » exécutée, le cache DNS devrait être vidé. Si les problèmes persistent, vous pouvez redémarrer le service Systemd-resolved à l’aide de la commande systemctl restart.
sudo systemctl restart systemd-resolved.service
Si vous ne pouvez pas utiliser sudo, connectez-vous en tant que root (administrateur) avec la commande « su – » avant d’essayer de redémarrer le service.
su - systemctl restart systemd-resolved.service
Après le redémarrage de Systemd-resolved, les problèmes DNS devraient être résolus.
Purge du DNS avec DNSMasq
DNSMasq est une autre solution DNS fréquente sous Linux. Comme avec Systemd-resolved, vous pouvez interagir avec elle via la commande systemctl. Pour vérifier si votre système utilise DNSMasq pour la gestion DNS, exécutez la commande status.

systemctl status dnsmasq.service
Examinez attentivement l’état affiché par systemd. Rendez-vous à la section « Active » et vérifiez la présence de « active (running) » pour confirmer que le service est en cours de fonctionnement. Si c’est le cas, le vidage du cache DNS pour DNSMasq se fait via la commande systemctl restart. Entrez la commande suivante dans le terminal :
sudo systemctl restart dnsmasq.service
Si vous ne pouvez utiliser les commandes systemd avec sudo, connectez-vous en tant que root avant de tenter un redémarrage.
su -
systemctl restart dnsmasq.service
Purge du DNS avec NSCD
NSCD est le système de mise en cache DNS privilégié de nombreux systèmes d’exploitation Linux basés sur RedHat. Ainsi, si vous utilisez OpenSUSE Linux, CentOS ou une distribution similaire, vous devrez probablement l’utiliser pour vider le cache DNS.
Notez que, bien que Fedora Linux soit basé sur RedHat, il n’enregistre pas par défaut un cache DNS.
Pour savoir si votre système Linux utilise NSCD, utilisez la commande « status » car il s’agit d’un service systemd.

systemctl status nscd.service
L’exécution de la commande status pour NSCD vous fournira des informations détaillées. Recherchez la section « Actif ». Si votre système l’utilise, vous verrez « actif (en cours d’exécution) » en vert.
La suppression du cache DNS avec NSCD s’effectue de la même manière que pour les autres systèmes gérés par systemd. Il suffit d’exécuter la commande « systemctl restart », ce qui rechargera le service et effacera automatiquement le cache DNS, résolvant ainsi les éventuels problèmes.
sudo systemctl restart nscd.service
Si votre système désactive l’exécution des commandes systemctl avec sudo, vous pouvez redémarrer le service en vous connectant d’abord au compte racine à l’aide de la commande « su -« .
su - systemctl restart nscd.service