# Vider le cache DNS sous Windows 11 et 10 (ipconfig /flushdns)

Pour vider le cache DNS sous Windows 10 ou Windows 11, ouvrez l'Invite de commandes ou le Terminal et lancez `ipconfig /flushdns`. Dans PowerShell, `Clear-DnsClientCache` fait la même chose, et la [référence de la cmdlet](https://learn.microsoft.com/en-us/powershell/module/dnsclient/clear-dnsclientcache) chez Microsoft précise que l'exécuter revient à exécuter `ipconfig /flushdns`.

Le vidage ne nettoie qu'une seule couche : le cache du client DNS de Windows. Il ne touche ni à votre routeur, ni à votre fournisseur DNS, ni au cache DNS propre au navigateur, ni à vos cartes réseau, donc il corrige une résolution de nom périmée et pas grand-chose d'autre. La suite de cet article explique quand cette couche est vraiment en cause, comment regarder ce qu'elle contient, quelles commandes de réinitialisation plus lourdes on lui associe souvent et ce que chacune modifie.

## Ce que contient le cache du client DNS

Avant qu'une application se connecte à `example.com`, Windows doit traduire ce nom en adresse IP. Le service Client DNS garde les réponses déjà reçues pour que les résolutions répétées ne repartent pas sur le réseau à chaque fois. La [référence d'ipconfig](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig) de Microsoft décrit ce cache comme contenant à la fois les entrées préchargées depuis le fichier Hosts local et les enregistrements récemment obtenus pour les noms que l'ordinateur a résolus, et indique que le service l'utilise « avant d'interroger ses serveurs DNS configurés ».

Chaque enregistrement est conservé pendant la durée de vie (TTL) que le serveur DNS du domaine lui a attribuée, puis il est redemandé. Les échecs sont mis en cache eux aussi : la même référence indique que `/flushdns` peut « supprimer les entrées de cache négatives », c'est-à-dire les réponses affirmant qu'un nom n'existe pas. C'est pour cela qu'un site qui a échoué une fois peut continuer d'échouer sur un PC alors que les autres appareils l'atteignent.

Pour voir le contenu du cache sans rien modifier :

```cmd
ipconfig /displaydns
```

Ou dans PowerShell, filtré sur un seul nom :

```powershell
Get-DnsClientCache -Entry example.com
```

[`Get-DnsClientCache`](https://learn.microsoft.com/en-us/powershell/module/dnsclient/get-dnsclientcache) sait filtrer par type d'enregistrement, par statut (`Success`, `NotExist` ou `NoRecords`) et par durée de vie, ce qui se lit plus facilement que la longue liste d'`ipconfig`. Une entrée `NotExist` pour un nom qui devrait fonctionner est un échec mis en cache.

## Quand vider le cache DNS aide

| Situation | Pourquoi le vidage compte |
|---|---|
| Un site ou un serveur a changé d'adresse et ce PC atteint toujours l'ancienne | L'ancien enregistrement n'a pas encore expiré dans le cache local |
| Vous avez changé de serveur DNS dans les Paramètres | Les réponses de l'ancien serveur sont toujours en cache |
| Vous avez modifié le fichier hosts et le changement semble ignoré | Le cache contient les entrées préchargées depuis le fichier hosts et des réponses antérieures pour ce nom |
| Vous avez activé ou désactivé un VPN ou un proxy et certains noms pointent toujours du mauvais côté | Les enregistrements obtenus par l'autre chemin sont toujours en cache |
| Un domaine de développement local pointe vers une nouvelle cible | Une réponse en cache, ou un « n'existe pas » en cache, est réutilisée |
| Un nom échoue ici mais fonctionne sur votre téléphone sur le même réseau | Une résolution ratée a pu être mise en cache comme entrée négative |

Dans chaque cas, le remède est le même : videz le cache, vérifiez ce que Windows résout maintenant (voir la section de vérification plus bas), puis relancez l'application. Quittez et rouvrez le navigateur au lieu de simplement recharger l'onglet, pour la raison donnée dans la section suivante.

## Quand vider le cache DNS n'aidera pas

Le cache de Windows n'est qu'un des endroits où un nom peut recevoir une réponse, et le vidage ne touche que celui-là.

- **Votre fournisseur ou le site est en panne.** Si tous les sites échouent, ou si les autres appareils du même réseau échouent aussi, le problème est en amont. Vider le cache n'y change rien.
- **Votre routeur ou votre fournisseur DNS détient l'ancien enregistrement.** Eux aussi mettent les réponses en cache. Un vidage local ne peut pas les obliger à récupérer un nouvel enregistrement plus tôt ; cela n'arrive que lorsque leur copie expire.
- **Le navigateur résout les noms lui-même.** La [page d'aide](https://support.google.com/chrome/answer/10468685?hl=en&co=GENIE.Platform%3DDesktop) de Chrome indique que le DNS sécurisé est activé par défaut en mode automatique, et les navigateurs basés sur Chromium gardent leur propre cache de résolution d'hôtes. La page net-internals de Chromium propose un bouton « Clear host cache » sous « Host resolver cache » ([source](https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/browser/resources/net_internals/index.html)). Ouvrez `chrome://net-internals/#dns` dans Chrome ou `edge://net-internals/#dns` dans Edge et cliquez dessus. Dans la même page, la section Sockets propose « Flush socket pools », que Chromium accompagne de la mention « May break pages with active connections », donc fermez d'abord les onglets importants si vous l'utilisez.
- **Le réglage du serveur DNS lui-même est faux.** Si Windows pointe vers un serveur qui répond mal ou ne répond pas, le vidage ne fait que reposer la question au même serveur. Vérifiez-le dans Paramètres › Réseau et Internet › Wi-Fi › Gérer les réseaux connus (ou Ethernet), sélectionnez votre réseau, puis Modifier à côté d'Attribution d'adresses IP. La [page des paramètres réseau](https://support.microsoft.com/en-us/windows/essential-network-settings-and-tasks-in-windows-f21a9bbc-c582-55cd-35e0-73431160a1b9) de Microsoft indique qu'Automatique (DHCP) récupère l'adresse du serveur DNS auprès de votre routeur ou point d'accès, et le recommande. Sur un PC professionnel avec VPN, changer ce réglage peut casser les noms internes, demandez donc d'abord à la personne qui gère le PC.
- **Les pages sont lentes, pas en échec.** Les résolutions sont mises en cache justement parce qu'elles se réutilisent vite. Des téléchargements lents ou une vidéo saccadée relèvent rarement du DNS, et un cache vide rend les quelques résolutions suivantes un peu plus lentes, pas plus rapides.

## Commandes pour vider et inspecter le cache

Dans l'Invite de commandes ou le Terminal :

```cmd
ipconfig /flushdns
ipconfig /displaydns
```

Dans PowerShell :

```powershell
Clear-DnsClientCache
Get-DnsClientCache
```

Aucune des deux pages de référence de Microsoft n'exige de droits administrateur pour ces commandes, et Mole for Windows effectue le même vidage depuis son processus normal, sans élévation. Si un PC géré répond par une erreur d'accès, ouvrez le Terminal ou l'Invite de commandes en tant qu'administrateur et lancez la commande là. Un vidage ne supprime rien sur le disque et ne demande aucun redémarrage ; le cache se remplit de nouveau au fil des résolutions des applications.

Ne planifiez pas de vidages et ne les ajoutez pas à un script de démarrage comme astuce de vitesse. Un cache rempli est le chemin rapide, et un vidage n'aide que lorsqu'un enregistrement précis est faux.

## Vérifier le fichier hosts avant d'accuser le cache

Le fichier hosts remplace le DNS pour tout nom qu'il contient. L'[article de réinitialisation du fichier hosts](https://support.microsoft.com/en-us/windows/experience/how-to-reset-the-hosts-file-back-to-the-default) de Microsoft donne son dossier, `%WinDir%\System32\Drivers\Etc`, en général `C:\Windows\System32\drivers\etc`. Le fichier s'appelle `hosts`, sans extension. Un fichier par défaut ne contient que des lignes de commentaire commençant par `#` et, d'après cet article, des correspondances de bouclage pour `localhost`.

Les outils de développement, les bloqueurs de publicité et les vieux tutoriels ajoutent parfois des lignes ici et les y oublient. Si le domaine qui pose problème figure dans le fichier, c'est cette ligne qui explique sa résolution. Pour la changer, gardez d'abord une copie (l'article de Microsoft renomme l'ancien fichier en `Hosts.old`), modifiez uniquement la ligne concernée dans un éditeur lancé en tant qu'administrateur, enregistrez sans ajouter d'extension `.txt`, puis lancez `ipconfig /flushdns` pour que le cache abandonne l'ancienne entrée préchargée. Ne supprimez pas le fichier et ne modifiez pas ses autorisations.

## Les réinitialisations plus lourdes et ce qu'elles changent

L'[article de dépannage Wi-Fi](https://support.microsoft.com/en-us/windows/experience/connectivity-networking/fix-wi-fi-connection-issues-in-windows) de Microsoft regroupe ces commandes, à exécuter dans une Invite de commandes administrateur, dans cet ordre :

```cmd
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
```

Elles font des choses très différentes, et seule la dernière concerne le DNS :

- **`ipconfig /release`** envoie une libération DHCP et, selon la [référence d'ipconfig](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig), désactive TCP/IP pour les cartes configurées pour obtenir une adresse automatiquement. Vous êtes hors ligne jusqu'à ce que `/renew` obtienne une nouvelle adresse. Ne la lancez jamais seule depuis une session Bureau à distance.
- **`ipconfig /renew`** demande une nouvelle configuration au DHCP. Elle n'est disponible que sur les cartes configurées pour obtenir une adresse automatiquement.
- **`netsh winsock reset`** remet le catalogue Winsock dans un état propre, en supprimant les Layered Service Providers personnalisés ([netsh winsock](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/netsh-winsock)). Certains clients VPN et outils de sécurité installent ces fournisseurs, vérifiez donc ces applications ensuite.
- **`netsh int ip reset`** réécrit les clés de registre des paramètres TCP/IP et DHCP, ce qui, d'après l'[article de réinitialisation TCP/IP](https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/reset-tcp-ip-net-shell) de Microsoft, revient à désinstaller puis réinstaller TCP/IP. Elle demande des droits administrateur et un redémarrage, et le journal d'exemple de cet article montre des adresses IP statiques, des passerelles et des serveurs DNS réinitialisés. Si vous en avez réglé à la main, notez-les d'abord.
- **Réinitialisation du réseau**, dans Paramètres › Réseau et Internet › Paramètres réseau avancés › Réinitialisation du réseau, supprime toutes les cartes réseau et leurs réglages, puis les réinstalle avec les valeurs par défaut après le redémarrage du PC. L'article Wi-Fi de Microsoft prévient que vous devrez peut-être réinstaller et reconfigurer votre client VPN ou vos commutateurs virtuels Hyper-V, et que les réseaux connus risquent de passer au profil de réseau public.

Si le seul symptôme est un nom qui pointe vers une adresse ancienne ou absente, aucune de ces commandes n'est nécessaire. Gardez-les pour une connexion cassée de manière générale, après qu'un vidage et une vérification du serveur DNS et du fichier hosts n'ont rien expliqué.

## Vérifier la correction

1. Interrogez uniquement le cache, pour voir ce que Windows garde pour ce nom :

   ```powershell
   Resolve-DnsName example.com -CacheOnly
   ```

   [`Resolve-DnsName`](https://learn.microsoft.com/en-us/powershell/module/dnsclient/resolve-dnsname) avec `-CacheOnly` « résout cette requête en utilisant uniquement le cache local ». Lancez-la juste après un vidage, puis de nouveau après que l'application a réessayé, pour voir quelle réponse a été mise en cache.

2. Résolvez le nom normalement, puis une seconde fois en ignorant le fichier hosts, et comparez :

   ```powershell
   Resolve-DnsName example.com
   Resolve-DnsName example.com -NoHostsFile
   ```

   Si les deux réponses diffèrent, c'est une ligne du fichier hosts qui en est la cause.

3. Interrogez directement un serveur DNS. Dans la [référence de nslookup](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/nslookup), le second argument est le serveur à interroger ; sans lui, nslookup utilise le serveur de noms DNS par défaut.

   ```cmd
   nslookup example.com
   nslookup example.com 1.1.1.1
   ```

   Si votre serveur configuré renvoie l'ancienne adresse et qu'un autre serveur renvoie la nouvelle, l'ancien enregistrement est encore en cache en amont et il suffit d'attendre. Si les deux renvoient l'ancienne adresse, l'enregistrement n'a pas encore changé.

4. Quittez et rouvrez le navigateur ou l'application qui posait problème, et videz son cache d'hôtes s'il s'agit de Chrome ou d'Edge.

## La place de Mole

Mole for Windows propose « Vider le cache DNS » dans Optimiser, dans le groupe Réseau et recherche. Il appelle la fonction Windows `DnsFlushResolverCache`, qui vide le même cache du client DNS de Windows que `ipconfig /flushdns`, et il s'exécute sans invite administrateur. La [page d'aide Windows](/fr/windows/help) la liste avec les autres tâches de maintenance d'Optimiser, et [ce que fait l'optimisation de Windows](/fr/windows/blog/what-windows-optimization-does) explique à quel symptôme correspond chaque tâche.

C'est là tout ce que Mole répare côté réseau. Il ne réinitialise ni Winsock ni TCP/IP, ne libère ni ne renouvelle d'adresses, ne réinstalle pas les cartes réseau et ne touche ni aux connexions VPN, ni aux adresses statiques, ni au fichier hosts, ni au cache d'hôtes propre au navigateur. Pour tout cela, utilisez les commandes ci-dessus. Si vous êtes arrivé ici parce qu'un navigateur vous semble lent plutôt qu'à cause d'un nom qui ne se résout pas, le stockage du navigateur est traité dans le [guide du cache Windows](/fr/windows/blog/windows-cache-cleanup).

## FAQ

### Comment vider le cache DNS sous Windows 11 ?

Lancez `ipconfig /flushdns` dans l'Invite de commandes ou le Terminal, ou `Clear-DnsClientCache` dans PowerShell. L'une ou l'autre prend effet immédiatement et ne demande aucun redémarrage.

### Vider le cache DNS vide-t-il aussi le cache DNS de Chrome ou d'Edge ?

Non. Ouvrez `chrome://net-internals/#dns` ou `edge://net-internals/#dns` et cliquez sur « Clear host cache », puis rouvrez le navigateur.

### Vider le cache DNS est-il sans risque ?

Oui. Cela ne fait que supprimer des résolutions en cache, que Windows redemande à la requête suivante. Les commandes de réinitialisation souvent citées à côté, comme `netsh int ip reset` ou Réinitialisation du réseau, changent beaucoup plus de choses et peuvent supprimer des réglages statiques ou des cartes VPN.

### Pourquoi un site pointe-t-il encore vers l'ancienne adresse après le vidage ?

Vérifiez le fichier hosts, le cache propre au navigateur et si `nslookup` vers votre serveur DNS renvoie encore l'ancienne adresse. Si le serveur ou le routeur détient encore l'ancien enregistrement, un vidage local ne peut rien y changer avant que leur copie expire.


Canonical: https://mole.fit/fr/windows/blog/flush-dns-windows
