Eigentlich sollte, wenn im Netzwerk alles richtig und sauber läuft, sowohl nslookup als auch ein ping auf den Hostnamen oder den FQDN erfolgreich sein.

Seltsam mutet dabei dann folgende Situation an, wenn nslookup zwar den Hostnamen oder FQDN richtig auflöst, aber Ping dann dennoch meldet, das es den Host nicht finden konnte. Man könnte annehmen, das Ping ebenfalls eine Namensauflösung versucht, bevor das Ziel kontaktiert wird, dem ist allerdings nur bedingt so und es kommt die genannten Situation zu Stande.

Der Hintergrund dazu ist, das nslookup die Abfrage direkt beim DNS-Server stellt, während Ping auf den Zwischenspeicher zurückgreift. Ist nun im Zwischenspeicher für den Host bereits ein Eintrag vorhanden, dieser allerdings nicht mehr aktuell oder gar negativ, dann scheitert der Befehl.

Die aktuellen Einträge kann man mit

ipconfig /displaydns

einsehen. Vergleicht man die Ausgabe dann mit dem Ergebnis von nslookup fällt evtl. schnell auf, das etwas nicht stimmt.

Auf die schnelle Abhilfe schafft man in dem man den DNS-Zwischenspeicher entleert:

ipconfig /flushdns

Als Plan B bzw. ggf. als längerfristige Hilfe könnte man das Zwischenspeichern auch ganz deaktivieren oder zumindest für negative Einträge, gemeint sind nicht erfolgreiche Namensauflösungen, abschalten.

Dazu in der Registry folgenden Wert ändern bzw. setzen:

HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\MaxCacheTtl

Siehe:

itler.net – Rechner kann nicht erreicht werden – DNS per nslookup funktioniert – ping nicht

isolation.se – Reduce DNS Client Cache in Windows Server 2012 R2

WinFAQ – DNS Auflösungscache auf dem Windows Client