Posts Tagged: Dnscache

Probleme mit der Namensauflösung unter Windows Server 2012

Folgendes Verhalten: Hyper-V Hosts unter Windows Server 2012 in einem Failovercluster. Die virtuellen Maschinen funktionieren einwandfrei, ebenso der Failovercluster. Einzig über das Management-Interface kommt man nicht mehr per Hostnamen über RDP drauf. Ein kurzer Ping zeigt, dass der Name der Hosts nicht aufgelöst werden kann. Aha. Per IP-Adresse kann man sich einwandfrei darauf verbinden. Aha.

To make a long story short: Ein abgesetztes netstat -anob brachte erstaunliches zu Tage. Es sind so gut wie alle Port bis 65535 vom Prozess Dnscache belegt!

Die Recherche in den üblichen Quellen des WWW blieb erstaunlich ergebnislos. Einzig ein Thread in den Microsoft-Foren war interessant. Port Exhaustion with Dnscache. Und ein etwas älterere Blog-Eintrag des Directory Services Team mit dem schönen Titel Port Exhaustion and You (or, why the Netstat tool is your friend).

Schneller Fix um wieder eine funktionstüchtige Namensauflösung bereitzustellen:

  1. Ermitteln der ProcessId des dnscache-Prozesses mittels tasklist /SVC|find /i "dns"
  2. Beenden des Prozesses TASKKILL /PID ProcessID /F (ist ein svchost; ja, es laufen wahrscheinlich weitere Dienste unter diesen service host, welche jedoch automatisch wieder gestartet werden).
  3. Dienst DNS-Client auf dem Server neu starten.
  4. Sollte von einem weiteren Client der Name noch nicht wieder aufgelöst werden, auf dem Client ein ipconfig /flushdns setzen, dann klappt’s.

Den Workaround lt. Thread konnte ich noch nicht verifizieren. Ein etwas offiziellerer Workaround ist mir lieber (obwohl scheinbar vom Premier Support). Zumal die Suche nach den zwei Parametern für den Dnscache ebenso wenig liefert. Jedenfalls sollte man unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters zwei neue DWORDs MulticastResponderFlags und MulticastSenderFlags anlegen. Wert jeweils 1.