Wie lösche ich den DNS-Cache in Ubuntu?

45

Ich habe Probleme mit der DNS-Lösung in meinem Ubuntu 9.10.
Bevor ich mich bei meinem ISP beschwere, möchte ich meinen lokalen DNS-Cache wie in Windows aktualisieren ipconfig /flushdns.

Wie kann ich das in Ubuntu machen?

igorsantos07
quelle

Antworten:

54

Øhh, Ubuntu speichert DNS nicht standardmäßig im Cache. Es gibt also nichts zu spülen! (aber vielleicht tut es Ihr SOHO-Router). Wenn Sie nscd installieren, wird das ubuntu-Cache-DNS erstellt, nachdem Sie den Cache geleert haben. Dies ist jedoch nur der Punkt, an dem Sie ihn noch nicht installiert haben.

user42806
quelle
3
Aus Neugier bin ich am 14.04 und laufend nslookupsagt mir, dass die Antwort vom Server kommt 127.0.0.1. Aber meines Wissens habe ich kein DNS-Caching installiert (weder nscdnoch dnsmasq). Ich bin auf Kubuntu ... könnte das eine Sache mit KDE Network Manager sein?
Exhuma
@exhuma gleich hier auf Ubuntu 14.04 so ist es keine Kubuntu-Sache.
LJ_1102,
2
@ LJ_1102 @ exhuma Das wäre der Ubuntu-Netzwerkmanager, der als lokaler DNS-Server empfangsbereit ist, aber alle Anforderungen an alle definierten Server weiterleitet. Als Nebeneffekt (oder beabsichtigt) können Sie DNS-Server direkt von der Benutzeroberfläche aus ändern, ohne Root-Berechtigungen zu benötigen. Siehe zum Beispiel diese Frage: unix.stackexchange.com/questions/59414/…
Raghd Hamzeh
19

Ab Ubuntu 12.04 wird dnsmasq als lokaler Cache verwendet. Wenn Sie ein SIGHUP (sudo killall -HUP dnsmasq) senden, wird der Cache erneut gelesen.

HINWEISE
Wenn ein SIGHUP empfangen wird, löscht dnsmasq den Cache und lädt dann / etc / hosts und / etc / ether sowie alle von --dhcp-hostsfile, --dhcp-optsfile oder --addn-hosts angegebenen Dateien neu. Das Skript zum Ändern der DHCP-Lease wird für alle vorhandenen DHCP-Leases aufgerufen. Wenn --no-poll gesetzt ist, liest SIGHUP auch die Datei /etc/resolv.conf erneut. SIGHUP liest die Konfigurationsdatei NICHT erneut.

ytjohn
quelle
das sieht vernünftig aus. Allerdings muss ich noch eines der Probleme finden, die ich früher hatte (die sich auf neue Sites in / etc / hosts und Opera beziehen), um dies zu testen und anstelle des anderen als akzeptiert zu markieren: P
igorsantos07
Das ist gut. Ich bin tatsächlich auf dieses Problem gestoßen, um meinen eigenen zwischengespeicherten DNS-Eintrag zu löschen. Als ich die Lösung gefunden hatte, war ich der Meinung, dass ich meine Erkenntnisse hier hinzufügen sollte. Ich weiß jedoch nicht, ab welcher Version Ubuntu mit dnsmasq begonnen hat.
Ytjohn
1
Das funktioniert und sollte wirklich als Antwort markiert werden!
HDave
1
Wenn Minderheitenbearbeitungen nicht verboten und verpönt wären, würde ich "SIGUP" zu " SIGHUP " korrigieren .
James Haigh
@Igoru: Sie können digtesten, ob der Cache wirklich geleert wurde. Ich wollte den Cache auf einem meiner OpenWrt-Router leeren, für den ich es dig @192.168.0.3 nixos.orgmehrmals versucht habe (jede vorhandene Domain reicht aus). Im Cache hatte es normalerweise eine Abfragezeit von 1 ms, aber nach jeder Ausgabe killall -HUP dnsmasq(als Root) auf dem Router erhielt ich nach jeder Löschung etwa 27 ms.
James Haigh
13

Versuche Folgendes:

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

Für mich geht das.

Christian Molina
quelle
1
Ich denke, die Dinge haben sich seit dieser Antwort geändert, da es so aussieht, als würde dies in 14.04 nicht mehr funktionieren. Hey ubuntu, es wäre schön, wenn es eine Schnittstelle dafür gäbe, die nicht mit Besonderheiten bestimmter Namensauflösungssysteme und Betriebssystemversionen (und möglicherweise späterer Betriebssystemdistributionen ...) verknüpft wäre.
Croad Langshan
Funktioniert in 15.04
Milan Simek
Arbeitete in Ubuntu 14.04.5. Dieses Skript wird vom Paket pppconfig bereitgestellt. Ich denke, es ist nicht standardmäßig in der Distribution enthalten.
ssoto
1

Ich hatte gerade dieses Problem mit einer Site, für die ich den DNS geändert habe, und googelte nach einer Lösung, für die ich diese Seite gefunden habe.

Nach meiner Erfahrung behält Firefox manchmal seinen eigenen DNS-Cache bei und löscht ihn nicht rechtzeitig. Wenn Sie also eine Website in Firefox anzeigen und die alte Website weiterhin anzeigen, kann das Problem möglicherweise durch den Versuch von Chrome behoben werden. Wenn das funktioniert, können Sie den Cache in Firefox löschen. Dies geschah in Ubuntu, ich weiß nicht, ob dies auch unter Windows oder OSX passiert.

Ich habe nscd nicht installiert. Mir ist aber aufgefallen, dass im Terminal einige Minuten später der neue DNS gefunden wird, so dass sich das Problem von selbst gelöst hat.

SPRBRN
quelle
1

Abhängig vom Kontext Ihrer Frage müssen Sie möglicherweise auch den Cache Ihres Webbrowsers leeren.

In Firefox geschieht dies durch: Einstellungen -> Datenschutz -> Löschen des letzten Verlaufs [Aktivieren Sie dort das Kontrollkästchen "Cache".]

In Chrome: Navigieren Sie zu chrome: // net-internals / # dns und klicken Sie auf die Schaltfläche "Host-Cache löschen". (siehe eine andere Antwort )

Tapper
quelle