Quand une adresse familière mène soudain à une impasse, le cache DNS devient souvent le suspect discret. La page refuse d’évoluer, malgré la correction déjà en ligne ; la piste se rétrécit. Une Résolution problèmes DNS cache sérieuse commence toujours par un geste précis : nommer l’ennemi, puis démêler patiemment chaque couche de mémoire qui s’interpose entre l’utilisateur et l’autorité.
Quand le cache DNS devient-il l’ennemi invisible ?
Le cache DNS dérange lorsqu’il conserve des réponses périmées qui contredisent la source autoritative. Le symptôme typique : un comportement différent selon l’endroit, l’appareil ou le réseau, alors que la configuration serveur est correcte.
Le DNS ressemble à une chaîne logistique : chaque maillon mémorise temporairement l’itinéraire vers une ressource. Quand une pièce garde un ancien plan, l’ensemble continue d’expédier vers la mauvaise adresse. Les praticiens observent alors des divergences étranges : un poste affiche la nouvelle page, un autre persiste sur l’ancienne ; un opérateur mobile « voit » la bascule, un Wi‑Fi domestique la nie. Le cache peut se loger partout : dans le navigateur, l’OS, le résolveur local, la box, le FAI, un CDN. À chaque étage, une mémoire bien intentionnée peut s’entêter, surtout si le TTL a été réglé avec l’insouciance de l’euphorie précédant une migration.
Quels signes trahissent un cache têtu plutôt qu’une panne ?
Des réponses incohérentes selon le réseau, des TTL restants anormalement longs et des résultats divergents entre outils indiquent un cache impliqué. La panne pure, elle, se manifeste de façon uniforme et brutale.
Quand la couche réseau flanche, tout s’éteint d’un bloc : pas de résolution, pas de routage, pas de variation. À l’inverse, le cache fabrique des demi‑vérités. Un terminal affiche l’IP d’hier, le voisin lit déjà celle d’aujourd’hui. Les journaux serveur montrent des accès qui ne devraient plus exister. Les outils révèlent des TTL restants incohérents : 42 secondes ici, 2 h là. La suspicion se renforce quand une requête directe au serveur autoritatif renvoie la bonne cible, alors qu’un résolveur public persiste avec l’ancien enregistrement. Cette dissymétrie raconte une histoire simple : les nouvelles ont été publiées, mais la rumeur court encore.
- Comportement différent entre 4G et Wi‑Fi domestique, ou entre bureaux.
- Requêtes identiques retournant des IP ou CNAME différents selon la source.
- TTL restants élevés malgré une modification réalisée bien avant l’expiration attendue.
- Divergences entre navigateur, ligne de commande et tests via résolveurs publics.
| Symptôme | Cause probable liée au cache | Indice décisif |
|---|---|---|
| Site visible pour certains, pas pour d’autres | Résolveur différent conservant l’ancien enregistrement | TTL restant variable selon les sources |
| Redirection persistante vers l’ancienne IP | Cache OS ou navigateur non purgé | Mode navigation privée change le résultat |
| Erreur NXDOMAIN intermittente | Cache négatif mémorisé | Autoritatif répond OK, résolveur local renvoie NX |
| Propagation « sans fin » après un cutover | TTL trop élevé, résolveurs l’ayant scellé | Expiration réelle dépassant de loin la fenêtre prévue |
Comment purger proprement selon l’environnement ?
La purge doit suivre l’empilement réel : navigateur, système, résolveur local, box/routeur, puis CDN ou cache applicatif. Chaque étage possède ses commandes et ses précautions.
La tentation d’appuyer sur tous les boutons à la fois conduit à des faux diagnostics. Mieux vaut épuiser la couche la plus proche avant de remonter. Le navigateur garde souvent sa mémoire DNS, indépendamment de l’OS ; l’OS maintient son propre cache ; un résolveur local type Unbound ou dnsmasq ajoute une strate ; la box de l’opérateur prolonge parfois le souvenir ; enfin, un CDN peut figer des enregistrements via ses mécanismes internes. Reproduire la séquence réduira les angles morts et permettra de corréler un avant/après significatif sur des mesures simples : latence de résolution, TTL restant et adresse finale.
Commandes essentielles par système
Les commandes de purge diffèrent, mais l’intention reste identique : effacer l’état pour forcer une résolution fraîche. Une vérification immédiate avec dig ou nslookup confirme l’effet.
| Environnement | Purger le cache | Vérifier |
|---|---|---|
| Windows (10/11) | cmd en admin : ipconfig /flushdns | ipconfig /displaydns | find «domaine» |
| macOS | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder | sudo killall -INFO mDNSResponder (log), puis dig |
| Linux (systemd‑resolved) | sudo resolvectl flush‑caches | resolvectl statistics; dig +trace domaine |
| Linux (nscd) | sudo service nscd restart | nscd -g (stat), puis dig |
| Navigateur (Chrome/Edge) | chrome://net-internals/#dns → Clear host cache | Requêtes test, onglet neuf, DevTools Network |
| Navigateurs (tous) | Fermer totalement, vider cache réseau, relancer | Mode privé pour neutraliser l’historique |
| Box/routeur domestique | Redémarrage propre ou vidage via interface | Comparer avant/après avec DNS public |
CDN, DNS géré et purge sélective
Un CDN prolonge parfois le passé sous la forme d’un edge sur‑caché. Purger par hostname et par région évite la panique générale et confirme l’hypothèse sans perturber tout le trafic.
Quand la configuration DNS s’interface avec un CDN (CNAME vers le domaine du fournisseur, ou zone gérée avec proxy), la purge doit cibler les bords qui servent l’ancienne adresse. Les consoles offrent des options par ressource et par zone géographique ; les retours de purge, horodatés, permettent de corréler un changement avec la baisse instantanée d’erreurs applicatives sur certaines régions. L’expérience montre qu’un effacement global masque la preuve : mieux vaut un scalpel qu’un marteau.
Quelle méthode de diagnostic sans casse ?
Un protocole en trois temps isole la couche fautive : comparer plusieurs résolveurs, interroger l’autoritatif, mesurer TTL et incongruences. Chaque étape renforce ou écarte l’hypothèse du cache.
La démarche ressemble à une triangulation. D’abord, demander la résolution à des résolveurs publics (1.1.1.1, 8.8.8.8, 9.9.9.9) et au résolveur local. Ensuite, parler directement aux serveurs autoritatifs de la zone via dig +trace ou en spécifiant le NS. Enfin, mesurer le TTL restant et vérifier s’il cadre avec la modification réalisée. Si l’autoritatif annonce la nouvelle IP avec un TTL propre, tandis qu’un résolveur expose une réponse ancienne à long TTL restant, la couche fautive se dessine nettement. Reprendre alors les purges ciblées avant d’accuser la configuration serveur.
- Comparer dig @1.1.1.1 domaine et dig @8.8.8.8 domaine.
- Interroger dig +trace pour suivre le chemin jusqu’à l’autoritatif.
- Mesurer TTL restant et le confronter au plan de changement.
- Tester depuis un réseau tiers (tethering mobile) pour isoler la box/FAI.
Lecture du TTL : la boussole
Le TTL restant révèle l’âge de l’information et l’horizon d’oubli. Un TTL trop haut avant un changement condamne à patienter ou à orchestrer des purges côté intermédiaires.
Un enregistrement A établi avec 14 400 s condamne les caches « obéissants » à le servir pour quatre heures. Lors d’une bascule d’IP, réduire le TTL bien en amont transforme la manœuvre en glissement maîtrisé. Les journaux d’un incident racontent souvent l’inverse : un TTL diminué cinq minutes avant le cutover, trop tard pour influencer les caches déjà chargés. Mesurer, avant, pendant et après, crée la chronologie qui explique la réalité observée sur le terrain.
| Couche | Rôle de cache | Contrôle du TTL | Remarques de terrain |
|---|---|---|---|
| Navigateur | Mémoire DNS et sockets réutilisés | Indirect (paramètres internes) | Mode privé contourne souvent le résidu |
| OS | Résolution locale, cache négatif | Indirect (daemon) | Flush nécessaire après migration |
| Résolveur (FAI/entreprise) | Cache partagé massif | Respecte le TTL autoritatif | Peut ignorer TTL trop bas par politique |
| CDN/Proxy | Cache DNS interne + contenu | Paramétrable par ressource | Purge sélective cruciale |
Que corriger côté serveurs et zone DNS ?
La stabilité vient d’une zone cohérente, de TTL ajustés au cycle de changements et d’une hygiène stricte sur CNAME, DS/DNSSEC et enregistrements critiques (MX, TXT). Un autoritatif propre simplifie tout.
Avant une modification sensible, un abaissement progressif du TTL sur les enregistrements visés prépare le terrain. Les chaînes de CNAME doivent rester courtes et maîtrisées, surtout devant un CDN ; chaque saut ajoute de l’opacité et prolonge les temps de guérison des caches. DNSSEC renforce la confiance, mais requiert une vigilance sur les signatures lors des bascules : une clé expirée crée des échecs très semblables à des problèmes de cache, alors qu’il s’agit d’une validation stricte. Côté e‑mail, l’alignement des MX, SPF, DKIM et DMARC évite les faux diagnostics où un cache négatif masque en réalité une entrée mal propagée.
TTL, fenêtres de changement et tests canaris
Un plan de bascule sans fenêtre TTL est une promesse de délais. Réduire le TTL 24 à 48 heures avant, tester sur un sous‑domaine canari, puis remonter le TTL une fois la poussière retombée.
Cette respiration du TTL s’apparente à un art de la marée : on abaisse pour découvrir le fond, on remonte pour stabiliser la houle. Les environnements à fort trafic gagnent à dupliquer l’enregistrement sous un label de test, observé depuis divers résolveurs. Les métriques de succès deviennent tangibles : cohérence d’IP renvoyées, latences stables, absence d’augmentation de NXDOMAIN.
Cas pratiques : scénarios qui accrochent les caches
Les incidents récurrents dessinent une cartographie prévisible : migration d’IP, CDN repositionné, retour d’un NXDOMAIN, split‑horizon mal compris, messagerie sensible aux TTL. Chaque scénario appelle une manœuvre type.
Migration d’une adresse IP d’un site
Abaisser le TTL J‑2, vérifier la chaîne CNAME, basculer, purger CDN si présent, surveiller TTL restants et logs. Les écarts résiduels se résorbent d’eux‑mêmes au terme du TTL initial.
Un opérateur d’hébergement constate souvent que les requêtes d’anciens résolveurs d’entreprise frappent encore l’ancienne IP ; une redirection HTTP temporaire, côté ancienne cible, amortit la transition pendant la décrue des caches obstinés.
Retour de NXDOMAIN caché
Un enregistrement supprimé par erreur revient sous forme d’absence mémorisée. Réintégrer l’enregistrement, puis attendre l’extinction du cache négatif ou demander des purges ciblées.
Les caches négatifs s’oublient moins que prévu : certaines politiques étirent leur durée. Vérifier le SOA pour estimer le maximum et documenter l’incident aide à prévenir la répétition.
Split‑horizon et VPN
Des réponses internes et publiques différentes s’entrechoquent. Clarifier les suffixes de recherche, isoler les résolveurs et tester depuis et hors VPN lève la confusion.
Le split‑horizon bien conçu crée de la clarté ; mal documenté, il fabrique des fantômes où une machine hors VPN garde en cache une réponse interne devenue inaccessible.
CDN et chaînes CNAME
Des chaînes profondes multiplient les maillons en mémoire. Réduire la profondeur, préférer des ALIAS/ANAME de qualité et purger par labels accélère la guérison.
Les métriques affichent un bénéfice immédiat : latences en baisse, disparition des écarts régionaux, alignement des IP servies par les bords du CDN.
Checklist d’intervention : du soupçon à la preuve
Passer du doute à la preuve exige des gestes courts, ordonnés et vérifiables. Cette checklist cadre l’intervention et évite la dispersion.
- Vérifier la zone autoritative (dig +trace, cohérence NS, absence d’erreur DNSSEC).
- Comparer au moins deux résolveurs publics et le résolveur local.
- Mesurer le TTL restant et l’archiver (capture, timestamp).
- Purger navigateur, puis OS, puis résolveur local, puis box/routeur.
- Purger sélectivement le CDN/Proxy si la chaîne l’implique.
- Re‑mesurer, consigner, corréler aux logs applicatifs.
- Si nécessaire, réduire temporairement le TTL et communiquer la fenêtre.
Prévenir la rechute : hygiène DNS au quotidien
La prévention combine une politique TTL maîtrisée, une observabilité simple et une discipline documentaire. Moins de surprises, plus de transitions lisibles.
Un référentiel clair des enregistrements sensibles et de leurs TTL évite l’improvisation au moment d’une bascule. Des tableaux de bord qui agrègent ping, résolution DNS multi‑résolveurs et journaux d’erreurs application rendent visibles les décalages dus aux caches. Enfin, une routine post‑changement verrouille la porte : retour de TTL à la normale, vérification des régions, purge ciblée des couches intermédiaires, puis compte‑rendu daté. Cette hygiène ne cherche pas l’effet spectaculaire ; elle trace des rails où chaque incident devient explicable et court.
| Pratique | Impact | Indicateur de succès |
|---|---|---|
| TTL abaissé avant changement | Propagation plus courte et prévisible | Convergence < 15 min selon résolveurs |
| Tests canaris (sous‑domaine) | Détection précoce d’écarts de cache | 0 divergence IP entre régions |
| Surveillance multi‑résolveurs | Signalement des anomalies locales | Alertes corrélées aux TTL |
| Documentation split‑horizon | Réduction des faux diagnostics | Incidents « cache » divisés par 2 |
Conclusion : laisser la mémoire courte au bon endroit
Le cache DNS n’est ni un adversaire ni un allié inconditionnel. Il protège des autoritaires capricieux et accélère l’usage quotidien, puis trahit au premier virage mal préparé. La résolution durable tient moins au réflexe du flush qu’à la chorégraphie des couches, au respect lucide du TTL et à la lisibilité de la zone.
Un incident de cache raconte toujours la même morale : la mémoire doit rester courte là où la vitesse sert l’utilisateur, et longue là où la stabilité gouverne. Entre les deux, un réglage patient, quelques mesures sobres, et une main sûre sur le bouton de purge suffisent à rendre le web à sa trajectoire naturelle.