web-dev-qa-db-fra.com

Comment vider le cache DNS local dans CentOS

Je cherche un moyen de vider le cache DNS local sur un CentOS 6.

Le système n'exécute aucun serveur DNS ou quoi que ce soit, et je souhaite que chaque requête DNS soit envoyée au serveur de noms configuré, même pour les doublons.

La plupart de ce que j'ai trouvé en ligne me disent de faire service nscd restart, recharger ou faire nscd -i hosts. Cependant, aucun ne semble vider le cache.

Je me demande donc si quelqu'un a une idée de la façon dont je pourrais faire cela. Existe-t-il une sorte de commutateur dans le noyau que je dois retourner? Tout type de travail est également bien.

20
zee

Ce n'est pas votre boîte locale qui met en cache les requêtes DNS mais c'est le résolveur DNS que vous utilisez dans votre /etc/resolv.conf qui met en cache.

Pour éviter d'obtenir la réponse de ces requêtes mises en cache:

  1. Changez le résolveur.

    $ Dig @<resolve-ip> www.google.com

  2. Videz le cache DNS sur le résolveur, si vous pouvez accéder au serveur DNS.

    $ Sudo /etc/init.d/bind restart

11
pradeepchhetri

Je suis presque certain que ce n'est pas le système qui met en cache la réponse - cette partie (mise en cache du système) n'est gérée que par le démon nscd. Redémarrer (ou arrêter complètement) ce démon réinitialise ou élimine la mise en cache du système d'exploitation des réponses aux demandes de service de noms.

J'offrirai deux possibilités, bien que l'auditeur personnalisé que vous avez configuré sur le port 53 trouble considérablement les eaux:

  • A) Votre système émet des requêtes en amont, mais le résolveur de nom en amont immédiat met en cache la réponse en fonction de ses paramètres ou du TTL de l'enregistrement.
  • B) Votre écouteur personnalisé met en cache les réponses en interne et remet simplement cette réponse directement au système quand il est demandé à nouveau avant l'expiration du temps de cache.
3
John

Même après l'actualisation ou le vidage du cache DNS sur la machine cliente si cela ne fonctionne pas, regardez que votre serveur ou machine cliente est lié à n'importe quel serveur NIS si oui, puis changez les "hôtes: fichiers nis dns" en "hôtes: fichiers dns nis" dans le fichier /etc/nsswitch.conf et vous devez également modifier l'adresse IP dans la liste des hôtes du serveur maître NIS.

3
Vilas Addagatla