Damit die Zugriffe nach Änderungen von Server- oder Clientnamen wieder funktionieren, muss man unter Umständen den DNS-Cache löschen. Obwohl die DNS-Einträge auch automatisch aktualisiert werden, lässt sich durch einen manuellen Eingriff die Wartezeit oft extrem verkürzen.

DNS-Cache löschen per PowerShell

Zunächst muss unterschieden werden, zwischen dem Cache des DNS-Servers und dem des DNS-Clients. Der DNS-Server ist der Punkt im Netzwerk, an dem die Hostnamen in IP-Adressen aufgelöst werden. Jeder Client im Netzwerk sendet seine Anfragen an diesen DNS-Server und bekommt von diesem schließlich die Informationen. Diese Zuordnung (Name und IP-Adresse) wird bei erfolgreichen Anfragen für 24 Stunden gespeichert.

Eine Besonderheit stellt der eigentliche DNS-Server (meist der Domänencontroller) dar. Dieser hat nämlich einen Client Cache und einen Server Cache. Das liegt darin begründet, dass der Windows Server, also das Betriebssystem zunächst genauso ein Client ist, wie alle anderen auch. Der DNS-Server ist ein installierter Rollendienst und muss daher separat betrachtet werden.

DNS-Cache leeren am Windows Client

Der DNS Client-Cache eines Windows Betriebssystems ist also immer der Cache des lokalen Computers und ist nur für das jeweilige System da. Wenn sich nun beispielsweise die IP-Adresse eines Servers geändert hat, steht im Cache zunächst weiter die alte IP-Adresse. Im ungünstigsten Fall für 24 Stunden. Um die alten Daten zu löschen und somit eine neue Anfrage an den DNS-Server zu starten, können wir manuell den DNS-Cache löschen.

Alles was benötigt wird, ist eine administrative PowerShell Konsole und der Befehl Clear-DnsClientCache.  Der Cache wird daraufhin sofort geleert.

DNS-Cache löschen
Windows DNS Flush: DNS-Cache Löschen am Client unter Windows.

Der DNS-Cache der Clients kann auch mittels der Windows Eingabeaufforderung gelöscht werden.
Der dazugehörige Befehl lautet: ipconfig /flushdns.

DNS Cache löschen - CMD
Der DNS Cache wurde geleert.

Cache des DNS-Servers löschen

Kommen wir nun zum DNS-Server. Auch dieser speichert seine Ergebnisse in einen Cache und liefert diese standardmäßig für 24 Stunden an die anfragenden Clients aus. Daher ist es wichtig, bei Änderungen auch diesen Cache zu leeren. Bei mehreren DNS-Servern muss man den Cache jedes einzelnen DNS-Servers löschen.

Über die Windows PowerShell lässt sich diese Aufgabe über den folgenden Befehl erledigen:
Clear-DnsServerCache -Computername -Force

DNS Server Cache löschen mit der PowerShell
DNS Flush am Windows Server – Der Cache des DNS-Servers wird geleert.

DNS-Cache löschen per GUI

Wer die PowerShell nicht nutzen möchte, kann den Cache auch direkt am DNS-Server über die GUI löschen. Hierfür musst Du das DNS-Server SnapIn in der Management Console öffnen (Server-Manager -> DNS-Server). Nun kannst Du mit der rechten Maustaste auf den Namen des DNS-Servers klicken und die Option „Cache löschen“ auswählen.

DNS Server Cache leeren
Für Freunde der Windows Desktopdarstellung -> Geht auch per Mausklick.

Wie Du siehst, ist das Löschen des DNS Cache schnell erledigt und kann längere Wartezeiten (auf Aktualisierung) durchaus verkürzen. Das Leeren dieser Zwischenspeicher ist vollkommen gefahrlos und kann auch im laufenden Betrieb erfolgen. Durch den Neuaufbau des Caches entstehen zwar minimale Verzögerungen (bei den ersten Anfragen), diese sind allerdings kaum messbar und somit auch nicht wirklich spürbar.

Ebenfalls interessant:

Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.