Ich bin Administrator für mehrere Linux- und FreeBSD-Server und hier ist ein Problem, das ich habe:
Auf den Servern wird ein Tool ausgeführt, das jede Minute viele DNS-Abfragen für das gesamte Netzwerk ausführt. Bei einer Abfrage wird das Ergebnis systemweit zwischengespeichert. Wenn sich ein DNS-Eintrag ändert, wird die Änderung viel später übernommen.
Wie kann der DNS-Cache geleert werden? Mein Chef drängt mich fast, Software auf Windows zu verschieben, das einen ipconfig /flushdns
Anruf hat. Ich sagte meinem Chef, dass ich dieses Problem am Wochenende lösen werde und am Montag alle Linux- und FreeBSD-Dateien den Cache leeren werden. Wenn ich das nicht tue, zwingt er mich, Windows-Server zu erstellen und Software darauf auszuführen.
Wie leere ich den DNS-Cache unter Linux und FreeBSD?
quelle
nscd
(installiert mit Base, aber nicht standardmäßig konfiguriert)resolv.conf
) dieses Caching ausführt, von dem Sie sprechen.Antworten:
Ich verstehe deine Frage nicht, weil du Unsinn sagst.
Wenn Sie sich auf einem Linux / Unix-System befinden, auf dem kein DNS-Server mit dem Namen / bind / other ausgeführt wird, speichert das System keine DNS-Abfrage zwischen. Anwendungen (DNS-Clients) fragen den DNS-Server jedes Mal ab, ohne ihn zwischenzuspeichern. Sie fragen den DNS-Server jedes Mal ab. Wenn Sie einen DNS-Server mit dem Namen / bind verwenden und den Cache leeren möchten, starten Sie diesen Dienst einfach neu (Freebsd :),
/etc/rc.d/named restart
aber das hat keinen Sinn.Wie kann das sein? Führen Sie einen DNS-Server aus oder nicht? Wenn Sie einen sekundären DNS-Server ausführen, erhalten Sie nur eine Kopie der Zone vom primären Server, und es macht keinen Sinn, den Cache zu leeren. Sie können die Serveraktualisierungszone vom Primärserver verschieben, indem Sie die Zonendatei löschen und Ihren DNS-Dienst neu starten. Wenn Sie primäres DNS ausführen und Zoneninformationen aktualisieren möchten, ändern Sie die serielle Zone und starten Sie den Dienst neu:
So aktualisieren Sie Zoneninformationen Um zu überprüfen, ob Sie die richtige DNS-Antwort erhalten, verwenden Sie:
Für was?
quelle
Angenommen, Sie führen den Name Service Caching Daemon aus, führen Sie "nscd -i hosts" als root aus
quelle
Was Sie vielleicht tun möchten, ist eine Kombination der folgenden.
Wenn Sie wissen, dass sich verschiedene Einträge in Ihrer DNS-Zone schnell ändern, setzen Sie die TTL auf einen kleineren Wert für die Zone.
Im Allgemeinen gibt es einen NameServerCacheDaemon (nscd) -Prozess, der in der Standardversion Linux ausgeführt wird (bei FreeBSD nicht sicher). Eine schnelle Möglichkeit, den Cache zu leeren, besteht darin, diesen Daemon neu zu starten.
Wenn Sie einen Caching-DNS-Server auf Ihren Hosts ausführen, können Sie den DNS-Dienst problemlos neu starten. Dadurch wird der Cache geleert. Ich denke, dass möglicherweise sogar ein Cache gelöscht wird, wenn Sie den Befehl dns control verwenden.
quelle
Für FreeBSD können Sie den Arp mit dem folgenden Befehl löschen
quelle