ToggleHosts
Acheter ToggleHosts
Comment vider le cache DNS sur Linux (Ubuntu 24.04, Debian et Fedora)

Comment vider le cache DNS sur Linux (Ubuntu 24.04, Debian et Fedora)

Mis à jour le 3 min de lecture

Guide pour vider le cache DNS sur Linux avec resolvectl flush-caches (systemd-resolved), dnsmasq et nscd, avec commandes de vérification.

Gérez vos fichiers hosts sans terminal

ToggleHosts vous permet de gérer vos environnements visuellement sur Windows, macOS et Linux, avec flush DNS automatique et sauvegardes.

Besoin de vider le cache DNS sur Linux ? Sur les distributions modernes utilisant systemd-resolved (Ubuntu, Debian, Fedora), lancez :

BASH
sudo resolvectl flush-caches

Utilisez-la après une modification de /etc/hosts, un changement de résolveur, ou un test de migration quand un nom résout encore vers une ancienne IP. Besoin de toutes les plateformes au même endroit ? Voir comment vider le cache DNS sous Windows, Mac, Linux et Chrome.

Commandes pour vider le DNS selon votre distribution Linux

Distribution Linux / RésolveurCommandeVérification
Ubuntu 22.04 / 24.04 (systemd-resolved)sudo resolvectl flush-cachesresolvectl statistics
Debian / Ancien Ubuntu (systemd-resolve)sudo systemd-resolve --flush-cachessystemd-resolve --statistics
RHEL / CentOS / Arch (nscd)sudo systemctl restart nscdsudo nscd -g
Service local dnsmasqsudo systemctl restart dnsmasqjournalctl -u dnsmasq
BIND local (named)sudo rndc flushsudo rndc status

Comment vider le cache DNS sur Linux

Pour vider le cache DNS sur Linux, lancez la commande de votre résolveur :

  1. systemd-resolved (la plupart des distros) : sudo resolvectl flush-caches.
  2. Ancien systemd : sudo systemd-resolve --flush-caches.
  3. nscd : sudo systemctl restart nscd (ou sudo nscd -i hosts).
  4. dnsmasq : sudo systemctl restart dnsmasq.
  5. BIND local : sudo rndc flush.

Vérifiez ensuite avec resolvectl query monprojet.test ou dig monprojet.test.

Linux met-il vraiment le DNS en cache ?

La glibc seule n’a pas de cache DNS : modifier /etc/hosts prend effet immédiatement. Un cache n’existe qu’avec une couche dédiée : systemd-resolved, nscd, dnsmasq ou un résolveur local. En cas de doute :

BASH
resolvectl status
systemctl is-active systemd-resolved nscd dnsmasq

Quand vider

  • Vous avez modifié /etc/hosts et un outil résout encore l’ancienne IP.
  • Vous avez changé /etc/resolv.conf ou votre serveur DNS.
  • Vous avez migré un site de staging avant la propagation.

Pour l’édition du fichier, voir comment modifier le fichier hosts sous Linux ou le guide Ubuntu.

Vérifier le résultat

BASH
resolvectl query monprojet.test
dig monprojet.test
getent hosts monprojet.test

getent hosts reflète toute la pile de résolution, y compris /etc/hosts.

Dépannage

  • resolvectl introuvable : votre système n’utilise peut-être pas systemd-resolved ; utilisez la commande nscd/dnsmasq.
  • Toujours en cache côté navigateur : videz le cache DNS du navigateur et réessayez dans un nouvel onglet.
  • WSL2 : videz aussi côté hôte Windows avec ipconfig /flushdns.

Si vous gérez beaucoup de domaines locaux sur plusieurs machines, ToggleHosts garde les entrées hosts organisées et cohérentes entre Linux, macOS et Windows.

_Dernier test : juin 2026 sur Ubuntu 24.04, Fedora 40 et Debian 12._

Sources et ressources externes

À lire aussiComment modifier le fichier hosts sous Linux
Partager cet article

Questions fréquentes

Lancez sudo resolvectl flush-caches (anciens systèmes : sudo systemd-resolve --flush-caches).

Non. La glibc seule n’a pas de cache. Un cache existe uniquement avec systemd-resolved, nscd, dnsmasq ou un résolveur BIND local.

Redémarrez le service : sudo systemctl restart dnsmasq (ou envoyez SIGHUP au processus dnsmasq).

Utilisez resolvectl query votredomaine.test ou dig votredomaine.test et confirmez l’IP attendue.

Articles similaires