Top
Vider le cache DNS (flush DNS), sous Mac, Linux/Unix ou sous (...)

Vider le cache DNS (flush DNS), sous Mac, Linux/Unix ou sous Windows

Encore une histoire de cache... A croire que chez Apsulis nous sommes sponsorisés par Monsieur Propre.

Certains veulent juste savoir comment faire, faisons leur gagner du temps. Pour les plus curieux, la suite de l’article expliquera vaguement ce que sont les DNS et quand/pourquoi les vider.

Comment on vide son cache DNS ?

Pour les impatients donc :

Vider le cache DNS sous Mac OS X

  • Mac OS 10.5 et 10.6
    sudo dscacheutil -flushcache
  • Mac OS 10.7 à 10.9
    sudo killall -HUP mDNSResponder
  • Mac OS 10.10 à 10.10.3
    sudo discoveryutil udnsflushcaches
  • Mac OS 10.10.4 à macOS 10.12
    sudo killall -HUP mDNSResponder
  • macOS 10.12 et suivants
    sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper; sudo dscacheutil -flushcache

Vider le cache DNS sous Linux/Unix

  • /etc/init.d/named restart
    ou
  • /etc/init.d/nscd restart

Vider le cache DNS sous Windows

  • ipconfig /flushdns (depuis l’invite de commande : Menu démarrer > Exécuter > cmd)

Le cache... DNS, pour quoi faire ?

Pour la faire courte, et simple, les DNS servent à stocker l’adresse réelle des sites Internet. A la manière d’un annuaire.

Sur la toile, toutes les machines possèdent une adresse numérique, la fameuse "adresse IP" (celle qu’on essaye de cacher avec un VPN pour faire du téléchargement illégal par exemple).

Les adresses IP sont de la forme "111.222.333.444" ou pire... De la forme "2001:aa1:a123::444". C’est là qu’on se dit que si on devait retenir les adresses des sites de cette manière, ça ne serait pas très facile.

Les serveurs DNS, les machines qui s’occupent de stocker les adresses des sites, nous permettent à nous, simples humains, de retenir des noms de sites, comme par exemple "apsulis.io" et de faire pour nous, la conversion en adresse IP.

Ainsi quand on tente d’accéder au site "apsulis.io", notre ordinateur demande aux serveurs DNS l’adresse IP correspondante, ce qui lui permet de se rendre à la bonne adresse et d’afficher le bon site.

Toujours pour des raisons de performance (comme souvent lorsqu’on parle de cache), la "résolution", c’est à dire la conversion du domaine en IP, est stockée à plusieurs niveau pour une durée allant de quelques minutes à 24h : tout d’abord, sur l’ordinateur directement, puis, au niveau du réseau local le cas échéant (dans les grandes entreprises avec des gros réseaux par exemple), puis localement au niveau de votre provider Internet, et enfin "un peu plus loin" sur Internet.

La durée de vie des DNS

La durée de vie est donnée par la configuration du DNS. Elle est donc réglée par l’administrateur
du nom de domaine et, comme nous venons de le voir, varie en général de quelques minutes à 24h.

Si par exemple la durée de vie (appelée TTL) est de 10800 secondes (soit 3h), dès votre premier chargement du site, votre ordinateur conservera l’adresse IP qui lui a été communiquée pendant 3h, sans interroger les serveurs DNS distants pendant cette période.

Imaginons que quelques minutes après que vous ayez chargé un site, ce site déménage (par exemple la mise en ligne d’un nouveau site sur un nouveau serveur), pendant 3 heures (dans notre exemple), vous continuerez d’aller consulter le site sur son ancienne adresse, c’est à dire sur l’ancien serveur. Si le TTL est réglé sur 24h c’est potentiellement un peu plus ennuyeux.

Et ça, c’est pas tout le temps cool.

Le cache... DNS, pourquoi le vider ?

A priori, rien ne justifie qu’on doive vider ce fameux cache DNS. Mais, car il y a un mais... Si c’est votre nouveau site qui doit être mis en production, vous n’aurez certainement pas envie d’attendre même quelques minutes ou quelques heures.

C’est dans cette situation qu’il peut être pratique de vider votre cache DNS.

Les outils pratiques ?

Vider vote cache, c’est bien, mais les quelques outils suivants peuvent être pratiques.

Vérifier les DNS réellement "propagés"

C’est à dire tels qu’ils sont vus sur Internet de part le monde, c’est le moyen de savoir si "le reste du monde" pointe vers la bonne adresse :

Vérifier la durée de vie, le TTL, d’un nom de domaine

La commande dig permet de savoir le temps de validité restant pour un nom de domaine concerné, sur le serveur interrogé.

$ dig www.apsulis.io
;; ANSWER SECTION:
www.apsulis.io.                10800        IN        A        62.210.68.161
;; SERVER: 89.2.0.1#53(89.2.0.1)

Sur le serveur DNS 89.2.0.1 (qui correspond à mon provider), l’IP pour le nom de domaine est encore validé pendant 10800 secondes.

En interrogeant à nouveau le serveur quelques secondes plus tard

www.apsulis.io.                10747        IN        A        62.210.68.161

On note qu’il ne reste plus que 10747 secondes de validité avant que ce serveur essaye de mettre à jour l’adresse IP.

Cet outil est également disponible en ligne :

Vérifier si votre site est bien en ligne

Est-ce que vos DNS sont bien pointés ? Ou simplement est-ce que votre serveur d’hébergement répond correctement, est-ce que le réseau est OK, etc.