it-swarm.com.de

So leeren Sie den lokalen DNS-Cache in CentOS

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, sagt mir, ich soll service nscd restart, neu laden oder 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 umdrehen muss? Jede Art von Arbeit ist auch in Ordnung.

20
zee

Es ist nicht Ihre lokale Box, die die DNS-Anforderungen zwischenspeichert, sondern es ist der DNS-Resolver, den Sie in Ihrem /etc/resolv.conf Verwenden, der zwischenspeichert.

Um zu verhindern, dass diese zwischengespeicherten Abfragen beantwortet werden:

  1. Ändern Sie den Resolver.

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

  2. Leeren Sie den DNS-Cache auf dem Resolver, wenn Sie auf den DNS-Server zugreifen können.

    $ Sudo /etc/init.d/bind restart

11
pradeepchhetri

Ich bin fast sicher, dass es nicht das System ist, das die Antwort zwischenspeichert - dieser Teil (System-Caching) wird nur vom nscd -Dämon verarbeitet. Durch Neustarten (oder vollständiges Beenden) dieses Daemons wird das Zwischenspeichern von Antworten auf Namensdienstanfragen durch das Betriebssystem zurückgesetzt oder beseitigt.

Ich biete zwei Möglichkeiten an, obwohl der benutzerdefinierte Listener, den Sie in Port 53 eingerichtet haben, das Wasser erheblich trübt:

  • A) Ihr System gibt Upstream-Abfragen aus, aber der unmittelbare Upstream-Namensauflöser speichert die Antwort entweder basierend auf den Einstellungen oder der TTL des Datensatzes zwischen.
  • B) Ihr benutzerdefinierter Listener speichert Antworten intern zwischen und gibt diese Antwort einfach direkt an das System zurück, wenn er vor Ablauf der Cache-Zeit erneut gefragt wird.
3
John

Selbst nach dem Aktualisieren oder Leeren des DNS-Cache auf dem Client-Computer, wenn dies nicht funktioniert, ist Ihr Server oder Client-Computer an einen beliebigen NIS-Server gebunden. Wenn ja, ändern Sie die Option "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-Master-Servers ändern.

3
Vilas Addagatla