Comment vider le cache DNS dans Mac OS X

Que vous soyez un administrateur système ou un développeur Web, ou quelque chose entre les deux, il est probable que vous devrez vider votre cache DNS de temps en temps pour que les choses soient corrigées côté serveur, ou même simplement pour tester certaines configurations.

Le vidage de votre cache DNS sous Mac OS X est en réalité très simple, mais il existe plusieurs commandes différentes à utiliser, et vous trouverez les commandes uniques aux différentes versions de Mac OS X. Nous vous avons couvert quelle que soit la version de Mac OS X que vous utilisez, de MacOS Sierra 10.12, 10.11, 10.13, OS X 10.10, OS X 10.9, jusqu'à 10.4. Trouvez votre version d'OS X, ouvrez votre Terminal et suivez les instructions ci-dessous pour commencer.


N'oubliez pas que chacune de ces commandes doit être entrée dans la ligne de commande, via les applications Terminal (disponibles dans / Applications / Utilities / dans toutes les versions de Mac OS X). Lancez cette application d'abord, puis vous pouvez simplement copier et coller les commandes si vous le souhaitez.

Vider le cache DNS dans MacOS 10.12, 10.11 plus récent

Pour Sierra, El Capitan et les nouvelles versions de Mac OS:

sudo killall -HUP mDNSResponder

Effacer le cache DNS dans OS X 10.10 Yosemite

Courir Yosemite? Effacer les caches DNS dans OS X Yosemite a encore changé, divisé en MDNS et UDNS ou combiné comme nous allons l'utiliser ci-dessous, voici la commande qui est nécessaire:

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed

Vous pouvez en lire plus sur la réinitialisation et le vidage du cache DNS dans OS X Yosemite ici si vous êtes intéressé.

Vider DNS dans OS X 10.9 Mavericks

Rere est de savoir comment vider le cache DNS dans 10.9:

dscacheutil -flushcache;sudo killall -HUP mDNSResponder

Vous devrez entrer le mot de passe administrateur pour que cette tâche soit terminée. Si vous remarquez, il combine kill mDNSResponder avec le dscacheutil standard, ce qui en fait un processus en deux étapes pour vider d'abord le cache, puis recharger la gestion DNS dans OS X pour que les changements prennent effet.

Vider le cache DNS dans OS X Lion (10.7) et OS X Mountain Lion (10.8)

Lancez Terminal et entrez la commande suivante, vous devrez entrer un mot de passe administratif:
sudo killall -HUP mDNSResponder
Notez que dscacheutil existe toujours dans 10.7 et 10.8, mais la méthode officielle pour vider les caches DNS est de tuer mDNSResponder. Vous pouvez également trouver ce processus s'exécutant dans Activity Monitor.

Une astuce utile si vous vous retrouvez à vider le DNS fréquemment consiste à configurer un alias pour cette chaîne de commande dans votre .bash_profile ou dans le profil de votre shell de choix. Un alias bash simple pour vider le cache pourrait être ceci:

alias flushdns='dscacheutil -flushcache;sudo killall -HUP mDNSResponder'

Enregistrez cela dans .bash_profile, puis en tapant "flushdns", vous éviterez d'avoir à utiliser la chaîne de commande complète dans le futur.

Vider le cache DNS sous Mac OS X 10.5, Mac OS X 10.6

Lancez Terminal et exécutez la commande suivante:
dscacheutil -flushcache
Tout est fait, votre DNS a été vidé. Sur une note de côté, le dscacheutil est intéressant en général et vaut le coup d'oeil, essayez le drapeau -statistics à la place pour certaines statistiques.

Vider le DNS sous Mac OS X 10.4 Tiger & 10.3

Tapez la commande suivante dans le terminal:
lookupd -flushcache

C'est tout, c'est tout ce qu'il y a à faire. Maintenant, vos paramètres DNS doivent être tels que vous les vouliez, que vous pouvez facilement vérifier avec divers outils de mise en réseau comme http, ping, nslookup, traceroute, curl, ou tout ce qui est approprié à votre situation spécifique.

Si vous constatez que quelque chose ne fonctionne pas et que DNS ne semble pas avoir changé, vérifiez la version de OS X que vous utilisez et utilisez les commandes appropriées pour la dernière version. Si vous avez encore des problèmes après cela, essayez idéalement une machine différente sur un réseau différent (comme un téléphone portable) pour vérifier que ce n'est pas un problème avec le serveur distant.