Der DNS-Server wird verwendet, um Domänennamen in IP-Adressen umzuwandeln. Wenn Sie den Namen einer Website in die Adressleiste Ihres Browsers eingeben, weiß Ihr System nicht, wo diese Adresse zu finden ist. Es fragt nach dieser Adresse vom DNS-Server. Der DNS-Server enthält die Abbildung des Domänennamens auf IP-Adressen. Diese Zuordnung von Domainname zu IP-Adresse ändert sich von Zeit zu Zeit.
Unser System verwaltet auch eine temporäre Datenbank mit Domain-zu-IP-Mapping-Informationen über die Websites, die wir kürzlich besucht haben. Diese temporäre Datenbank wird als DNS-Cache bezeichnet. Es wird verwendet, um zu vermeiden, dass häufig oder kürzlich besuchte Websites schneller aus dem lokal gespeicherten DNS-Cache abgerufen werden, anstatt sie von DNS-Servern abzurufen.
Manchmal ist es erforderlich, den DNS-Cache zu leeren. Dies ist beispielsweise erforderlich, wenn der Cache beschädigt wird und Sie auf die falschen Websites umleitet. Es wird auch benötigt, wenn eine Website an eine andere Adresse verschoben wird, der Browser jedoch immer noch die alte Website lädt. Durch das Leeren des DNS-Cache werden die gesamten Domain-zu-IP-Mapping-Einträge gelöscht, einschließlich alter und ungültiger Einträge. Wenn das System das nächste Mal versucht, auf die Websites zuzugreifen, füllt der DNS-Cache die neuen Einträge erneut.
Sehen wir uns an, wie man den DNS-Cache auf Ubuntu leert.
Hinweis :Das hier beschriebene Verfahren wurde auf Ubuntu 20.04 LTS getestet . Die Befehle wurden auf dem Terminal ausgeführt, das mit Strg+Alt+T geöffnet werden kann Verknüpfung.
So leeren Sie den DNS-Cache
Die meisten Ubuntu- (18.04 und höher) und Debian-Systeme verwenden einen systemd-aufgelösten Daemon, um DNS-Abfragen zwischenzuspeichern. Wir können damit auch den DNS-Cache leeren.
1. Überprüfen Sie den „systemd-resolved“-Status
Lassen Sie uns zuerst prüfen, ob systemd-resolved ausgeführt wird. Führen Sie dazu den folgenden Befehl aus:
$ sudo systemctl is-active systemd-resolved
Wenn Sie „aktiv sehen “ in der Ausgabe des obigen Befehls bedeutet dies, dass systemd-resolved auf Ihrem System ausgeführt wird.
2. Aktuelle Cache-Größe anzeigen
Wenn Sie nun die aktuelle Cache-Größe zusammen mit einigen anderen Informationen anzeigen möchten, führen Sie den folgenden Befehl im Terminal aus:
$ sudo systemd-resolve --statistics
Es folgt die Ausgabe des obigen Befehls, die verschiedene Informationen anzeigt. Momentan geht es uns nur um die „Current Cache Size“. “, also 8. Wir möchten die Cache-Größe 0 machen durch Spülen.
3. DNS-Cache leeren
Um nun den DNS-Cache zu leeren, führen Sie den folgenden Befehl im Terminal aus:
$ sudo systemd-resolve --flush-caches
4. Überprüfen Sie die Cache-Größe
Sie können dann die Statistiken nachschlagen, um sicherzustellen, dass die Größe Ihres Caches jetzt Null ist:
$ sudo systemd-resolve --statistics
Die folgende Ausgabe zeigt, dass die aktuelle Cache-Größe „0“ ist, was bestätigt, dass der DNS-Cache jetzt gelöscht wurde.
So leeren Sie den DNS-Cache unter Ubuntu. Wenn die Websites nicht richtig geladen werden oder Sie veraltete Websites erhalten, versuchen Sie, den DNS-Cache zu leeren, um zu sehen, ob das Problem behoben ist. Denken Sie daran, dass Websites nach dem Leeren des DNS-Cache zunächst etwas langsamer geladen werden. Aber sobald der DNS-Cache neu gefüllt ist, werden die Seiten schneller geladen.