Ist Ihr Internet -Browsing -Erlebnis auf Ihrem Linux -Gerät langsam oder sind die Websites, die Sie besuchen, oder die falsche Website insgesamt? Lassen Sie uns diskutieren, dass Sie den DNS -Cache unter Linux spülen und wissen, ob Sie es wirklich brauchen.
Was sind DNS -Caches?
Verwendet Ihr Computer einen lokalen DNS -Cache?
Überprüfen Sie Ihren DNS -Cache
So löschen Sie den DNS -Cache unter Linux
Wie man den DNSMASQ -Cache unter Linux spüle
Mit Erfolg gespült
Was sind DNS -Caches?
Der Domain -Namensdienst Ist das Stück Magie, das Namen in Zahlen umwandelt. Es nimmt Geräte -Netzwerknamen und Website -Namen an und sucht nach ihren IP -Adressen. Das Netzwerk kann dann die IP -Adresse verwenden, um den Datenverkehr korrekt auf diese Geräte oder Websites weiterzuleiten.
Diese Look-ups, bekannt als als Anfragen Anwesend passieren nicht sofort . Es gibt eine kleine, endliche Zeit. Für Internet-DNS-Anfragen können DNS-Server, Root-Namenserver, Domänenserver auf höchstem Niveau und maßgebliche Namenserver abfragen. DNS -Anfragen sind schnell, aber um sie noch schneller zu machen, werden die Antworten auf die jüngsten DNS -Anfragen auf den DNS -Vorläuferservern zwischengespeichert.
Wenn die Antwort auf eine DNS -Anforderung im Cache des Vorläuferservers gefunden wird, müssen keine weiteren Server kontaktiert werden. Die Antwort wird vom Cache des Vorläuferservers zurückgesandt. In ähnlicher Weise wird ein kleiner Cache von Ihrem Breitbandrouter zu Hause aufrechterhalten. Wenn Sie ein lokales Netzwerkgerät mit seinem Netzwerkgerätenamen fragen, bietet Ihr Router die IP -Adresse an. Es kann auch die Antworten zwischen externen DNS -Servern zwischen den Antworten zwischenspeichern.
Normalerweise sind Netzwerke und Linux -Computer so konfiguriert, dass sie externe DNS -Dienste verwenden, entweder von Ihrem Internetdienstanbieter oder von einem kostenlosen Dienst wie z. Openns oder Google DNS . Es gibt gute Gründe warum Einige Leute führen ihren eigenen DNS -Server aus , aber die meisten von uns tun es nicht. Ihr Linux -Computer - auch wenn er keinen DNS -Server ausführt - kann optional die Ergebnisse der DNS -Anforderung durchführen.
Das Problem bei der Verwendung zwischengespeicherter Daten besteht darin, dass das Ganze davon ausgeht, dass sich keiner der zwischengespeicherten Details seit dem zwischengespeicherten Zwischenbetrag geändert hat. Wenn sich die Details geändert haben, sind die Informationen, die Sie erhalten, veraltet.
Wenn ein Cache -Eintrag oder der gesamte Cache beschädigt wird, erhalten Sie bestenfalls schuppige Leistung und Sicherheitslücken im schlimmsten Fall. Dann möchten Sie sich in "Flushing" schauen oder den DNS -Cache räumen.
Verwendet Ihr Computer einen lokalen DNS -Cache?
Auf einigen unserer Testcomputer wurden lokale DNS -Caches eingeschaltet, andere ausgeschaltet. Es war auf unserer Manjaro 21 Computer, aber es wurde standardmäßig aktiviert Fedora 37 Und Ubuntu 22.10 .
Um festzustellen, ob Ihr Linux -Computer DNS -Anfragen zwischengespeichert, verwenden Sie die
ist aktiv
Option der
Systemctl
Befehl. Der Daemon, der den DNS -Cache verwaltet
systemd-aufgelöst
.
Wenn die Antwort „aktiv“ ist, findet DNS -Caching statt. Wenn die Antwort "inaktiv" ist, ist dies nicht der Fall. Auf diesem speziellen Computer ist es aktiv. Wir können das verwenden
Resolvectl
Befehl mit der Statistikoption, um festzustellen, wie viele Datensätze im Cache enthalten sind.
Wir können sehen, dass es 330 Einträge im DNS -Cache dieses Computers gibt.
Überprüfen Sie Ihren DNS -Cache
Die Überprüfung der DNS -Cache -Einträge ist keine Voraussetzung, um den Cache zu spülen, und wenn Sie kein Interesse daran haben, können Sie es können Überspringen Sie diesen ganzen Schritt . Manchmal kann es jedoch informativ sein. Möglicherweise sehen Sie zerkleinerte Einträge, die Korruption angeben, oder Sie sehen möglicherweise Fehlermeldungen, die sich auf Geräteadressierungsprobleme in Ihrem Netzwerk beziehen.
Jetzt gibt es keine einfache Möglichkeit, diese Einträge zu sehen. Wir können es tun, müssen aber ein wenig kreativ sein.
USR1
, oder
Benutzerdefinierte Signal Nummer eins
, ist ein
Signal
das kann von der gesendet werden
töten
Und
alle töten
Befehle. Dieses Signal hat keine vordefinierte Bedeutung. Anwendungen können dieses Signal ignorieren oder so reagieren, wie die Entwickler implementiert sind.
Der
systemd-aufgelöst
Daemon reagiert auf
USR1
Durch das Schreiben seines Cache an die Systemprotokolle. Wir können dann das verwenden
Journalctl
Befehl, um die DNS -Einträge herauszufiltern.
Wir werden die verwenden
alle töten
Befehl mit
USR1
Um das Signal an das zu senden
systemd-aufgelöst
Dämon. Beachten Sie, dass wir das verwenden, obwohl wir die verwenden
alle töten
Befehl, der
systemd-aufgelöst
Daemon rennt weiter. Dies ist kein Kündigungssignal, das wir senden.
Jetzt werden wir die verwenden
Journalctl
Befehl mit dem
-U
(Filtern nach
systemd
Einheit) Option zum Extrahieren der Protokolleinträge, die von generiert wurden,
systemd-aufgelöst
. Wir werden diese Ausgabe in eine Textdateien namens "Dns.txt" umleiten.
Wir werden verwenden
Die
weniger
Datei -Viewer
Um den Inhalt der Datei anzuzeigen.
Sie können die zwischengespeicherten Zuordnungen zwischen Domainnamen und finden IP -Adressen Durch Scrollen und Durchsuchen des Textes.
Wir können einen Eintrag für Google sehen, der eine IP -Adresse von 216.58.212.196 hat. Sie können dies überprüfen, indem Sie die IP -Adresse in einen Webbrowser einfügen. Sie sollten die Startseite der Google -Suche sehen.
So löschen Sie den DNS -Cache unter Linux
Das Spülen des Cache entfernt alle Einträge und startet den Sammelprozess erneut. Wenn es welche gibt, entfernt sich dies gewaltsam falsche und beschädigte Einträge aus dem Cache.
Der Befehl ist einfach; wir gebrauchen
Resolvectl
mit dem
Flush-Caches
Möglichkeit.
Wir werden still in die Kommandozeile zurückgegeben. Um zu bestätigen, dass tatsächlich etwas passiert ist, werden wir die DNS -Cache -Statistik erneut überprüfen.
Wir können sehen, dass die Cache -Größe auf Null gesenkt wird. Es wird im Laufe der Zeit zunehmen, da es neue Einträge ansammelt.
Wie man den DNSMASQ -Cache unter Linux spüle
Der
dnsmasq
Die Anwendung bietet einen DNS -Cache und einen DHCP -Server. Es ist beliebt bei Benutzern, die einen eigenen DNS -Server ausführen möchten, insbesondere auf
Nicht-System-Installationen
.
Spülen
dnsmasq
DNS -Cache ist einfach. Wir müssen die senden
SEUFZEND
Signal, das das sagt
dnsmasq
Dämon zur effektiven Neuinitialisierung. Dies löscht seinen DNS -Cache. Um das Signal zu senden, verwenden wir das
alle töten
Befehl mit dem
-Hup
Flagge und der Name der Anwendung.
Mit Erfolg gespült
Wenn Ihr Computer überhaupt nicht zwischengespeichert, müssen Sie nichts überprüfen.
Wenn es DNS -Anfragen zwischengespeichert wird, aber alles gut funktioniert, können Sie es auch ignorieren. Wenn Sie jedoch langsame oder sporadische Webseiten -Updates haben, wenn Sie im Web stöbern oder die falschen Webseiten sehen, ist es wahrscheinlich ein guter Zeitpunkt, um Ihren DNS -Cache zu löschen.