Comment vider le cache DNS sous Linux

Les ordinateurs conservent des enregistrements de chaque site Web que vous visitez dans un «cache DNS». Le but de ce cache est de gagner du temps lorsque l’utilisateur tente d’accéder à un domaine; le système n’a pas à le rechercher manuellement à chaque fois. Dans l’ensemble, la mise en cache DNS accélère votre utilisation d’Internet, et c’est pourquoi pratiquement tous les systèmes d’exploitation, de macOS à Windows en passant par Linux, le font.

Pourtant, aussi utile que soit la mise en cache DNS, des problèmes peuvent parfois survenir, comme voir un ancien site Web au lieu du nouveau mis à jour, ne pas se connecter à un serveur distant, etc. Un excellent moyen de contourner ce type d’erreurs sous Linux ordinateurs consiste à «vider» le cache DNS sous Linux. Lorsque vous videz le cache DNS, cela actualise la base de données DNS et élimine de nombreux problèmes de résolution rencontrés par de nombreux utilisateurs.

Vider le DNS – Systemd résolu

À ce stade, la majorité des utilisateurs Linux exécutent un système d’exploitation qui intègre le système d’initialisation Systemd. Bien que le sujet de Systemd divise la communauté, il y a une chose que tout le monde sait: Systemd rend les ajustements et la maintenance complexes et profonds du système d’exploitation beaucoup plus faciles que par le passé. Ce fait est particulièrement vrai avec la suppression du cache DNS.

  Ajouter ou supprimer des applications du menu Nouvel élément dans l'Explorateur de fichiers sous Windows 10

Systemd gère le cache DNS de manière connue sous le nom de «systemd résolu». C’est un utilitaire standard qui trouve que c’est un moyen sur la plupart des systèmes d’exploitation Linux. Pour déterminer si votre système d’exploitation utilise Systemd Resolved pour gérer DNS et le cache DNS sur le système, lancez une fenêtre de terminal en appuyant sur Ctrl + Alt + T ou Ctrl + Maj + T sur le clavier. Après cela, exécutez la commande systemctl status sur le fichier systemd-résolu.service.

systemctl status systemd-resolved.service

Regardez à travers l’impression de Systemd Resolved dans la fenêtre du terminal et localisez la section «Active» une fois que vous avez localisé la section «Active» et assurez-vous qu’elle a «active (running)» à côté. Si c’est le cas, votre système Linux l’utilise pour gérer son DNS.

Pour effacer le cache DNS de Systemd Resolved, vous devrez utiliser l’une des fonctionnalités intégrées de Systemd Resolved. Plus précisément, la commande flush caches. Cela effacera instantanément le DNS et vous remettra en marche!

sudo systemd-resolved --flush-caches

Ou, si vous ne pouvez pas utiliser sudo, faites:

su -
systemd-resolved --flushcaches

Une fois que vous avez utilisé la commande flushcaches, les caches DNS du système doivent être suffisamment vidés. Cependant, si après avoir exécuté cette commande, vous rencontrez toujours des problèmes, il peut être judicieux de redémarrer complètement le service. Pour ce faire, utilisez la commande systemctl restart.

sudo systemctl restart systemd-resolved.service

Vous ne pouvez pas utiliser sudo? Connectez-vous en tant que root avec su avant d’essayer de redémarrer le service avec systemd.

su -
systemctl restart systemd-resolved.service

Lorsque Systemd-Resolved a fini de redémarrer, tous les problèmes DNS devraient être résolus!

  Wi-Fi vs ZigBee et Z-Wave: quel est le meilleur?

Vider le DNS – DNS Masq

DNSMasq est une autre solution DNS populaire pour la plate-forme Linux utilisée par de nombreux systèmes d’exploitation. Tout comme l’outil Systemd-Resolved, les utilisateurs peuvent interagir avec lui avec la commande systemctl. Pour déterminer si votre système d’exploitation utilise l’outil DNSMasq pour gérer DNS, exécutez la commande status.

systemctl status dnsmasq.service

Lisez l’impression d’état que systemd fournit à l’écran. Rendez-vous dans la section «Actif» de la lecture. Parcourez-le et recherchez «actif (en cours d’exécution)» pour confirmer que le service est actif. Si tel est le cas, il est possible de vider immédiatement le cache DNS pour DNSMasq à l’aide de la commande systemctl restart. Dans le terminal, entrez la commande suivante.

sudo systemctl restart dnsmasq.service

Ou, pour ceux qui ne peuvent pas utiliser les commandes systemd avec sudo, essayez de vous connecter en tant que root avant d’essayer de redémarrer.

su -
systemctl restart dnsmasq.service

Vider le DNS – NSCD

NSCD est le système de mise en cache DNS préféré pour la majorité des systèmes d’exploitation Linux basés sur RedHat. Par conséquent, si vous utilisez OpenSUSE Linux, CentOS ou quelque chose de similaire, il y a de fortes chances que vous deviez vous en occuper pour vider votre cache DNS.

  Comment réparer la déconnexion de la souris USB sans fil dans Windows 10

Remarque: bien que Fedora Linux soit basé sur RedHat, il ne stocke pas par défaut de cache DNS.

Pour déterminer si votre système d’exploitation Linux utilise NSCD, vous devrez utiliser la commande status, car il s’agit d’un service systemd.

systemctl status nscd.service

L’exécution de la commande status sur le service NSCD vous donnera de nombreuses informations détaillées à ce sujet. Parcourez et trouvez la section qui dit « Actif ». Si votre système l’utilise, vous verrez un texte vert indiquant «actif (en cours d’exécution)».

Le vidage du cache DNS avec NSCD fonctionne à peu près comme tout autre système de mise en cache qui fonctionne avec systemd. Tout ce que l’utilisateur doit faire est d’exécuter la commande systemctl restart. Il rechargera le service et effacera automatiquement le cache DNS, ce qui résoudra tous les problèmes DNS que vous pourriez rencontrer.

sudo systemctl restart nscd.service

Sinon, si votre système d’exploitation Linux 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 su.

su -

systemctl restart nscd.service