Comment effacer le cache DNS dans Ubuntu?

45

J'ai des problèmes de résolution DNS dans Ubuntu 9.10.
Avant de me plaindre auprès de mon FAI, j'aimerais actualiser mon cache DNS local, comme dans Windows ipconfig /flushdns.

Comment puis-je faire cela dans Ubuntu?

igorsantos07
la source

Réponses:

54

Øhh, Ubuntu ne cache pas le DNS par défaut. Donc, il n'y a rien à faire partir! (mais peut-être que votre routeur SOHO le fait). L'installation de nscd créera le cache DNS d'ubuntu, après quoi vous pourrez vider votre cache - mais ceci est également important, quand vous ne l'avez pas encore installé!

utilisateur42806
la source
3
Par curiosité, je suis sur 14.04 et en cours d'exécution nslookupme dit que la réponse provient du serveur 127.0.0.1. Mais - à ma connaissance - je n'ai pas de cache DNS installé (ni nscdni dnsmasq). Je suis sur Kubuntu ... est-ce que cela pourrait être une affaire de gestionnaire de réseau KDE?
Exhuma
@exhuma idem ici sur Ubuntu 14.04 alors ce n’est pas une chose à faire.
LJ_1102
2
@ LJ_1102 @ exhuma Ce serait le gestionnaire de réseau d'Ubuntu. Il l'écoute en tant que serveur DNS local, mais transmet toutes les demandes à ce qui est défini. En tant qu'effet secondaire (ou de par leur conception), cela vous permet de changer les serveurs DNS à la volée depuis l'interface sans avoir besoin d'autorisations root. Voir par exemple cette question: unix.stackexchange.com/questions/59414/…
Raghd Hamzeh
19

Ubuntu 12.04 et ultérieur utilise Dnsmasq pour un cache local. L'envoi d'un SIGHUP (sudo killall -HUP dnsmasq) relira le cache.

NOTES
Lorsqu'il reçoit un fichier SIGHUP, Dnsmasq vide son cache, puis recharge à nouveau les fichiers / etc / hosts et / etc / ethers, ainsi que tout fichier fourni par --dhcp-hostsfile, --dhcp-optsfile ou --addn-hosts. Le script de modification de bail DHCP est appelé pour tous les baux DHCP existants. Si --no-poll est défini, SIGHUP relit également /etc/resolv.conf. SIGHUP ne relit PAS le fichier de configuration.

Ytjohn
la source
cela semble raisonnable. bien que, je dois trouver un autre des problèmes que j’avais auparavant (qui sont liés à de nouveaux sites dans / etc / hosts et Opera) pour le tester et marquer comme accepté au lieu de l’autre: P
igorsantos07
C'est très bien. Je suis effectivement tombé sur cette recherche pour effacer ma propre entrée DNS en cache. Une fois que j’ai trouvé la solution, j’ai senti que je devrais ajouter mes conclusions ici. Cependant, je ne sais pas à quelle version Ubuntu a commencé à utiliser Dnsmasq.
Ytjohn
1
Cela fonctionne et devrait vraiment être marqué comme la réponse!
HDave
1
Si les modifications minoritaires n'étaient pas interdites et mal vues, je corrigerais «SIGUP» en SIGHUP .
James Haigh
@Igoru: Vous pouvez utiliser digpour tester si le cache a vraiment été effacé. Je voulais effacer le cache de l'un de mes routeurs OpenWrt pour lequel j'ai essayé dig @192.168.0.3 nixos.orgplusieurs fois (tout domaine existant suffira). Bien qu’il soit mis en cache, le temps d’interrogation est généralement de 1 ms, mais après chaque fois que j’émettais killall -HUP dnsmasq(en tant que root) sur le routeur, j’envoyais environ 27 ms après chaque fois que je l’effaçais.
James Haigh
13

Essayez ce qui suit:

sudo /etc/init.d/dns-clean start

Ça marche pour moi.

Christian Molina
la source
1
Je suppose que les choses ont changé depuis cette réponse, car il semble que cela ne fonctionnera plus en 14.04. Salut Ubuntu, ce serait bien s'il y avait une interface pour cela qui ne soit pas liée à des détails de systèmes de résolution de noms particuliers, et de versions de systèmes d'exploitation (et peut-être de distributions de systèmes d'exploitation plus tard ...).
Croad Langshan
Travaille dans 15.04
Milan Simek
A travaillé à Ubuntu 14.04.5. Ce script est fourni par le paquet pppconfig. Je pense que ce n'est pas inclus par défaut dans la distribution.
Ssoto
1

Je viens d'avoir ce problème avec un site pour lequel j'ai changé le DNS, et googler pour une solution, j'ai trouvé cette page.

D'après mon expérience, Firefox conserve parfois son propre cache DNS et ne l'efface pas à temps. Donc, si vous consultez un site dans Firefox et continuez à voir l'ancien site, essayer de Chrome pourrait résoudre le problème. Si cela fonctionne, vous pouvez effacer le cache dans Firefox. C'est ce qui s'est passé sous Ubuntu. Je ne sais pas si cela se produit également sous Windows ou OSX.

Je n'ai pas installé nscd. J'ai remarqué cependant que dans le terminal, le nouveau DNS est retrouvé quelques minutes plus tard, le problème s'est donc résolu tout seul.

SPRBRN
la source
1

En fonction du contexte de votre question, vous devrez peut-être aussi effacer le cache de votre navigateur Web.

Dans Firefox, cela se fait par: préférences -> confidentialité -> efface votre historique récent [cochez simplement la case "cache"]

Sous Chrome: accédez à chrome: // net-internals / # dns et appuyez sur le bouton "Effacer le cache de l'hôte". (voir une autre réponse )

Tapeur
la source