GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So löschen oder leeren Sie den DNS-Cache in Linux

Diese kurze Anleitung erklärt alle Möglichkeiten, den DNS-Cache in Linux-Betriebssystemen zu löschen oder zu leeren. Für diejenigen, die sich fragen, DNS-Cache (oder manchmal auch als DNS-Resolver-Cache bezeichnet ) ist eine kleine temporäre Datenbank, die von den Betriebssystemen verwaltet wird. Es speichert die Informationen über alle besuchten Websites und andere Internetdomänen. Mit anderen Worten, der DNS-Cache enthält aktuelle DNS-Lookups. Wenn Sie dieselbe Website mehrmals besuchen, ruft das Betriebssystem die DNS-Einträge dieser Website aus der lokalen DNS-Cache-Datenbank statt vom tatsächlichen öffentlichen DNS-Server ab. Daher verbessert das DNS-Caching die Ladezeit der Website und reduziert die Bandbreiten-/CPU-Nutzung des Ursprungs-DNS-Servers.

Warum sollten Sie den DNS-Cache löschen oder leeren?

Es kann viele Gründe geben, den lokalen DNS-Cache zu löschen. Beispielsweise haben Sie möglicherweise Ihre Website angepasst oder die DNS-Einstellungen für Ihre Domain geändert oder Sie haben Probleme mit der Internetverbindung. Wenn Sie in solchen Fällen versuchen, die Website zu besuchen, wird Ihr Betriebssystem wahrscheinlich die zwischengespeicherte Version der Website aus dem lokalen DNS-Cache abrufen. Das Löschen des lokalen DNS-Cache löscht also alle Einträge aus der lokalen DNS-Cache-Datenbank und zwingt Ihr System, den DNS-Cache mit neuen Einträgen vom tatsächlichen DNS-Server neu zu füllen und die neue Kopie der Website anzuzeigen.

DNS-Cache unter Linux löschen oder leeren

Standardmäßig ist das DNS-Caching nicht auf Betriebssystemebene in Linux installiert und/oder aktiviert. Stattdessen unterhalten Anwendungen wie Webbrowser ihren eigenen internen Cache. Sie können also einfach den Cache Ihres Browsers löschen oder ihn neu starten, um die Probleme mit der Internetverbindung zu beheben, Probleme mit DNS-Spoofing (z. B. DNS-Cache-Poisoning) und Probleme mit veralteten Inhalten zu lösen. Wenn Ihre Linux-Distribution DNS-Caching-Dienste verwendet, müssen Sie diese wie unten beschrieben manuell löschen. Es gibt mehrere Möglichkeiten, den DNS-Cache zu löschen. Dies hängt von der Linux-Distribution und dem DNS-Caching-Dienst ab, den Sie verwenden. Hier habe ich Anweisungen zum Löschen der am häufigsten verwendeten DNS-Caching-Dienste in Linux eingefügt.

1. Löschen Sie den Systemd-Auflösungs-DNS-Caching-Dienst

Systemauflösung ist ein systemd-Dienst, der einen DNS-Caching-Dienst auf Systemebene für lokale Anwendungen bereitstellt. Es ist Teil des systemd-Pakets, das standardmäßig installiert wird. Der von Systemd aufgelöste Dienst ist in den meisten modernen Linux-Betriebssystemen wie Fedora und Ubuntu standardmäßig aktiviert. Lassen Sie uns zuerst prüfen, ob der von Systemd aufgelöste Dienst aktiv ist oder nicht, indem Sie den Befehl verwenden:

$ sudo systemctl is-active systemd-resolved.service

Wenn der vom System aufgelöste Dienst aktiviert ist, sehen Sie "aktiv" in der Ausgabe. Wenn es nicht aktiv ist, wird "inaktiv" ausgegeben .

Wie Sie in der obigen Ausgabe sehen, ist der von Systemd aufgelöste Dienst in meinem System aktiv.

Lassen Sie uns die Statistiken des systemd-resolve Caching Service mit dem Befehl anzeigen:

$ sudo systemd-resolve --statistics

Beispielausgabe:

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3117
                          
Cache                     
  Current Cache Size: 58  
          Cache Hits: 1248
        Cache Misses: 1891
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

Wie Sie sehen, listet die obige Ausgabe die Gesamtzahl der aktuellen Cache-Größe, Treffer und fehlende Caches auf.

Um den Systemd-Resolve-Cache zu leeren, führen Sie Folgendes aus:

$ sudo systemd-resolve --flush-caches

Bei erfolgreicher Ausführung sehen Sie keine Ausgabe.

Überprüfen Sie nun die systemd-resolve-Statistiken, um zu überprüfen, ob der lokale DNS-Cache geleert ist oder nicht.

$ sudo systemd-resolve --statistics

Sie sehen jetzt die aktuelle Cache-Größe als Null.

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3155
                          
Cache                     
  Current Cache Size: 0   
          Cache Hits: 1255
        Cache Misses: 1922
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

2. Löschen Sie den Nscd-DNS-Caching-Dienst

Nscd , kurz für n Ich bin s Dienst c schmerzen d aemon ist ein Caching-Daemon, der einen Cache für die gängigsten Name-Service-Anfragen bereitstellt. Es ist der bevorzugte Caching-Dienst für die meisten Redhat-basierten Systeme. Wenn Ihr Linux-System den nscd-Caching-Dienst verwendet, können Sie den lokalen DNS-Caching-Dienst löschen oder leeren, indem Sie einfach den nscd-Dienst wie folgt neu starten:

$ sudo systemctl restart nscd.service

Oder,

$ sudo service nscd restart

Oder,

$ sudo /etc/init.d/nscd restart

3. Deaktivieren Sie den Bind/Named DNS-Caching-Dienst

Berkeley Internet Name Domain (kurz BINDEN ) ist der beliebteste Open-Source-DNS-Server, der heute verwendet wird. Wenn Sie BIND zum Caching von DNS-Abfragen verwenden, verwenden Sie die folgenden Befehle, um den BIND-Caching-Dienst unter Linux zu löschen/leeren:

$ sudo systemctl restart named

Oder,

$ sudo service named reload

Oder,

$ sudo /etc/init.d/named restart

Oder,

$ sudo rndc reload

Oder,

$ sudo rndc exec

Mit der neuesten BID-Version können Sie auch den DNS-Cache für eine bestimmte Domain löschen. Der folgende Befehl löscht den DNS-Cache für die Domäne ostechnix.com:

$ sudo rndc flushname ostechnix.com

Sie können auch den DNS-Cache für ganze LAN- und WAN-Zonen wie unten löschen:

$ sudo rndc flush lan

$ sudo rndc flush wan

4. Löschen Sie den Dnsmasq-DNS-Caching-Dienst

Dnsmasq ist ein leichtgewichtiger DHCP- und Caching-DNS-Server mit Unterstützung für PXE- und TFTP-Server. Es eignet sich für ressourcenbeschränkte Router und Firewalls, um kleine Netzwerke zu verwalten.

Wenn Sie dnsmasq als Caching-Dienst verwenden, können Sie den lokalen DNS-Caching-Dienst wie folgt löschen:

$ sudo systemctl restart dnsmasq

Eine andere Möglichkeit, den lokalen DNS-Cache in Ubuntu und anderen Ubuntu-Varianten wie Linux Mint zu löschen, besteht darin, den folgenden Befehl auszuführen:

$ sudo /etc/init.d/dns-clean restart

Hoffe das hilft.

Verwandte Lektüre:

  • DNS-Server in Ubuntu 16.04 LTS installieren und konfigurieren


Linux
  1. So löschen Sie den Bash-Verlauf unter Linux

  2. So löschen Sie den Webbrowser-Cache von der Befehlszeile in Linux

  3. So löschen Sie den Speichercache in Linux

  4. So leeren Sie den DNS-Cache in Ubuntu und LinuxMint

  5. So leeren Sie den DNS-Resolver-Cache unter Linux (und FreeBSD)

So installieren Sie KernelCare und löschen den Kernelcare-Cache unter Linux

So löschen Sie den RAM-Speicher-Cache, den Puffer und den Swap-Speicher unter Linux

So leeren Sie den DNS-Cache unter Linux

So löschen Sie den DNS-Cache unter Ubuntu

Wie lösche ich den DNS-Cache unter Linux?

So leeren Sie den DNS-Cache unter Ubuntu