So löschen Sie den Linux-DNS-Cache

Der DNS-Server (Domain Name System) wurde geschaffen, um Domainnamen in IP-Adressen zu übersetzen und umgekehrt, um das Senden von Datenpaketen an die Zielcomputer zu ermöglichen Jedes Mal, wenn wir eine Adresse eingeben Im Webbrowser wird die Das Gerät ist dafür verantwortlich, eine Anfrage an den registrierten DNS-Server zu senden und die IP-Adresse anzufordern, die mit dem gesuchten Domainnamen verknüpft ist von Anfragen, die schließlich dazu führen können, dass sie zusammenbricht und das Ergebnis ist, dass der Zugriff verweigert wird.

Um dies zu vermeiden, gibt es den DNS-Cache, der dafür verantwortlich ist, die IP-Adresse dieser Domain lokal zu speichern, um den Suchvorgang beim nächsten Zugriff zu überspringen, stattdessen wird er jedoch mit diesem lokalen Wert umgeleitet und damit entlasten wir den Server und gleichzeitig greifen wir viel schneller zu. Das Problem ist jedoch, dass zu viel gehosteter DNS-Cache die eigene Leistung des Browsers beeinträchtigen kann, weshalb seine Veröffentlichung empfohlen wird. Wir werden sehen, wie diese Aufgabe unter Linux ausgeführt wird.

1. Leeren Sie den DNS-Cache mit systemd-resolve unter Linux


Ubuntu und andere Debian-basierte Distributionen verwenden den Befehl systemd-resolve. Dieser Befehl ist ein in systemd integrierter DNS-Daemon und ein Systemdienst, der lokalen Anwendungen die Auflösung von Netzwerknamen ermöglicht.

Dieser Befehl implementiert einen Cache- und Validierungs-DNS/DNSSEC-Stub-Resolver sowie einen LLMNR- und MulticastDNS-Resolver. Lokale Anwendungen können Anfragen zur Auflösung von Netzwerknamen über drei Schnittstellen senden:

  • Die native API mit vollem Funktionsumfang des aufgelösten Systems wird auf dem Bus bereitgestellt.
  • Die glibc getaddrinfo API, die von RFC3493 und den zugehörigen Auflösungsfunktionen, einschließlich gethostbyname, definiert wird.
  • Ein lokaler Stub-DNS-Listener wird unter der IP-Adresse 127.0.0.53 auf der lokalen Loopback-Schnittstelle angeboten, von dort aus können Programme, die DNS-Anfragen direkt unter Umgehung lokaler APIs generieren, diesen Stub verwenden, um eine Verbindung zu systemd-resolved herzustellen

Schritt 1
Um diesen Befehl zu verwenden, sehen wir zuerst die DNS-Cache-Statistiken auf dem System:

 sudo systemd-resolve -Statistik 

VERGRÖSSERN

Schritt 2
Um nun den DNS-Cache zu löschen, führen wir Folgendes aus:

 sudo systemd-resolve --flush-cachres 

VERGRÖSSERN

Schritt 3
Wie wir sehen, wurde der DNS-Cache gelöscht, wenn wir die Statistiken erneut ausführen. Dies ist die gebräuchlichste Methode. Andere Optionen für verschiedene Distributionen sind:

Bei Verwendung von RedHat oder ArchLinux

 sudo systemctl Neustart nscd 

2. Leeren Sie den DNS-Cache mit dnsmasq oder benannt unter Linux


Als nächstes sehen wir zwei weitere Optionen, um den Cache leeren zu können

DNS-Cache leeren mit DnsmasqDnsmasq wird häufig in lokalen DNS-Servern oder Routern verwendet. Um den DNS-Cache mit diesem Befehl zu löschen, müssen wir Folgendes ausführen:

 sudo systemctl Neustart dnsmasq 

DNS-Cache leeren mit BINDDieser BIND-Befehl wird für DNS-Server verwendet, die speziell für bestimmte Aufgaben entwickelt wurden und zum Löschen des DNS-Cache dort einfach ausführen:

 sudo systemctl Neustart benannt 

So einfach haben wir den Linux-DNS-Cache gelöscht und so die Leistung unserer Geräte über das Terminal verbessert.

wave wave wave wave wave