Ich suche nach einer Möglichkeit, den lokalen DNS-Cache auf einem CentOS 6 zu leeren.
Auf dem System wird kein DNS-Server oder ähnliches ausgeführt, und ich möchte, dass jede DNS-Abfrage an den konfigurierten Nameserver gesendet wird, auch für die doppelten.
Das meiste, was ich online gefunden habe, soll ich tun service nscd restart
, nachladen oder tun nscd -i hosts
. Keiner scheint jedoch den Cache zu leeren.
Ich frage mich also, ob jemand eine Idee hat, wie ich das machen könnte. Gibt es eine Art Schalter im Kernel, den ich umlegen muss? Jede Art von Arbeit ist auch in Ordnung.
wget -e 'http_proxy=localhost:3128' xxx.com
) sehe ich, dass die abfrage korrekt weitergeleitet wird, aber alle nachfolgenden nicht. Wenn ich lange genug warte (Cache läuft ab), funktioniert es wieder.Antworten:
Es ist nicht Ihre lokale Box, die die DNS-Anfragen zwischenspeichert, sondern der DNS-Resolver, den Sie in Ihrem
/etc/resolv.conf
Who-Caching verwenden.So verhindern Sie, dass diese zwischengespeicherten Abfragen beantwortet werden:
Ändern Sie den Resolver.
$ dig @<resolve-ip> www.google.com
Leeren Sie den DNS-Cache auf dem Resolver, wenn Sie auf den DNS-Server zugreifen können.
$ sudo /etc/init.d/bind restart
quelle
dns_nameservers 127.0.0.1
in der Proxy-Konfigurationsdatei festgelegt, und der Listener leitet Anfragen nur an vorkonfigurierte Nameserver weiter. Sollte es nicht so sein, dass die resolv.conf nicht einmal konsultiert wird?Auch nach dem Aktualisieren oder Leeren des DNS-Caches auf dem Client-Computer, wenn dies nicht funktioniert, wird Ihr Server oder Client-Computer an einen NIS-Server gebunden. Wenn dies der Fall ist, ändern Sie "hosts: files nis dns" in "hosts: files dns nis" Eintrag in der Datei /etc/nsswitch.conf und Sie müssen auch die IP-Adresse in der Hostliste des NIS-Masterservers ändern.
quelle
Ich bin mir fast sicher, dass es nicht das System ist, das die Antwort zwischenspeichert - dieser Teil (das Zwischenspeichern des Systems) wird nur vom
nscd
Dämon behandelt. Durch Neustarten (oder vollständiges Anhalten) dieses Dämons wird das Zwischenspeichern von Antworten auf Nameservice-Anforderungen im Betriebssystem zurückgesetzt oder beseitigt.Ich biete zwei Möglichkeiten an, obwohl der benutzerdefinierte Listener, den Sie auf Port 53 eingerichtet haben, das Wasser erheblich trübt:
quelle