Computer protokollieren jede Website, die Sie besuchenin einem "DNS-Cache". Dieser Cache soll Zeit sparen, wenn der Benutzer versucht, auf eine Domain zuzugreifen. Das System muss es nicht jedes Mal manuell nachschlagen. Insgesamt beschleunigt das DNS-Caching Ihre Internetnutzung, und das ist der Grund, warum praktisch jedes Betriebssystem von MacOS über Windows bis Linux dies tut.
Trotzdem gibt es, so nützlich wie DNS-Caching, ProblemeEs kann manchmal vorkommen, dass eine alte statt der aktualisierten Website angezeigt wird, dass keine Verbindung zu einem Remoteserver hergestellt werden kann usw. Ein guter Weg, um diese Art von Fehlern auf Linux-Computern zu umgehen, besteht darin, den DNS-Cache unter Linux zu leeren . Wenn Sie den DNS-Cache leeren, wird die DNS-Datenbank aktualisiert, und viele der Probleme, die bei vielen Benutzern auftreten, werden behoben.
DNS leeren - Systemd gelöst
Zu diesem Zeitpunkt sind es die meisten Linux-BenutzerAusführen eines Betriebssystems, in das das Systemd init-System integriert ist. Obwohl das Thema Systemd in der Community umstritten ist, weiß jeder, dass Systemd tiefgreifende, komplizierte Optimierungen und Wartungsarbeiten auf Betriebssystemebene wesentlich einfacher als in der Vergangenheit macht. Dies gilt insbesondere für das Löschen des DNS-Cache.
Systemd verwaltet den DNS-Cache in bekannter WeiseDies ist ein Standard-Dienstprogramm, das den Weg zu den meisten Linux-Betriebssystemen findet. Um festzustellen, ob Ihr Betriebssystem Systemd Resolved zur Verarbeitung von DNS und DNS-Cache auf dem System verwendet, starten Sie ein Terminalfenster, indem Sie auf drücken Strg + Alt + T oder Strg + Umschalt + T auf der Tastatur. Danach führen Sie die systemctl status Befehl auf der systemd-resolved.service Datei.
systemctl status systemd-resolved.service
Schauen Sie sich den Ausdruck von Systemd Resolved in anÖffnen Sie das Terminalfenster und suchen Sie den Abschnitt "Aktiv", sobald Sie den Abschnitt "Aktiv" gefunden haben. Stellen Sie sicher, dass "Aktiv (läuft)" daneben ist. Wenn dies der Fall ist, verwendet Ihr Linux-System dies zur Verwaltung des DNS.
Um den DNS-Cache für Systemd Resolved zu löschen, müssen Sie eine der integrierten Funktionen von Systemd Resolved verwenden. Insbesondere die Cache leeren Befehl. Das DNS wird sofort gelöscht und Sie können wieder loslegen!
sudo systemd-resolved --flush-caches
Oder, wenn Sie nicht verwenden können sudo, machen:
su -
systemd-resolved --flushcaches
Sobald Sie das verwendet haben Flushcaches Befehl die DNS-Caches auf dem System sollte seinausreichend gespült. Wenn Sie jedoch nach dem Ausführen dieses Befehls immer noch auf einige Probleme stoßen, ist es möglicherweise eine gute Idee, den Dienst insgesamt neu zu starten. Verwenden Sie dazu das Systemctl Neustart Befehl.
sudo systemctl restart systemd-resolved.service
Kann nicht verwendet werden sudo? Loggen Sie sich als Root mit ein su bevor Sie versuchen, den Dienst mit systemd neu zu starten.
su - systemctl restart systemd-resolved.service
Nach dem Neustart von Systemd-Resolved sollten alle DNS-Probleme behoben sein!
DNS leeren - DNS Masq
DNSMasq ist eine weitere beliebte DNS-Lösung für die Linux-Plattform, die viele Betriebssysteme verwenden. Ähnlich wie beim Systemd-Resolved-Tool können Benutzer mit dem interagieren systemctl Befehl. Führen Sie den folgenden Befehl aus, um festzustellen, ob Ihr Betriebssystem das DNSMasq-Tool zum Verwalten von DNS verwendet Status Befehl.

systemctl status dnsmasq.service
Lesen Sie den Statusausdruck, den systemd bereitstelltBildschirm. Begeben Sie sich zum Abschnitt „Aktiv“ der Anzeige. Scannen Sie es durch und suchen Sie nach "active (running)", um zu bestätigen, dass der Dienst aktiv ist. In diesem Fall ist es möglich, den DNS-Cache für DNSMasq mithilfe von sofort zu löschen Systemctl Neustart Befehl. Geben Sie im Terminal den folgenden Befehl ein.
sudo systemctl restart dnsmasq.service
Oder für diejenigen, die keine systemd-Befehle mit verwenden können sudoVersuchen Sie, sich als Root anzumelden, bevor Sie einen Neustart versuchen.
su -
systemctl restart dnsmasq.service
DNS - NSCD leeren
NSCD ist das bevorzugte DNS-Caching-System für dieMehrheit der RedHat-basierten Linux-Betriebssysteme. Wenn Sie OpenSUSE Linux, CentOS oder ähnliches verwenden, besteht daher eine gute Chance, dass Sie sich damit herumärgern müssen, um Ihren DNS-Cache zu leeren.
Hinweis: Fedora Linux ist zwar RedHat-basiert, speichert jedoch standardmäßig keinen DNS-Cache.
Um festzustellen, ob Ihr Linux-Betriebssystem NSCD verwendet, müssen Sie das verwenden Status befehl, da es sich um einen systemd service handelt.

systemctl status nscd.service
Ausführen des Statusbefehls für den NSCD-Dienstgibt Ihnen viele detaillierte Informationen darüber. Blättern Sie durch den Abschnitt mit der Aufschrift "Aktiv". Wenn Ihr System sie verwendet, wird ein grüner Text mit der Aufschrift "Aktiv (wird ausgeführt)" angezeigt.
Das Leeren des DNS-Caches mit NSCD funktioniert so ziemlich wie jedes andere Cachesystem, das mit systemd zusammenarbeitet. Alles, was der Benutzer tun muss, ist die Systemctl Neustart Befehl. Der Dienst wird neu geladen und der DNS-Cache wird automatisch geleert, wodurch eventuell auftretende DNS-Probleme behoben werden.
sudo systemctl restart nscd.service
Alternativ, wenn Ihr Linux-Betriebssystem die Ausführung von systemctl-Befehlen mit deaktiviert sudokönnen Sie den Dienst neu starten, indem Sie sich zuerst mit im Root-Konto anmelden su.
su - systemctl restart nscd.service
Bemerkungen