Bents Blog

 

Ein IT Blog mit Themen aus dem Windows Server Umfeld.

Microsoft ISA Server 2006 Probleme: STOP Error 0x100000D1

Das vergangene Wochenende konnte ich endlich ein Problem lösen, welches mir schon seit mehreren Wochen diverse Kopfschmerzen bereitet hatte. Wir setzen bei verschiedenen Kunden erfolgreich den Microsoft ISA Server 2006 (als auch den Nachfolger TMG 2010) ein. Bei einem Kunden gab es allerdings ein merkwürdiges Problem:

Problem

Auf Grund von Windows Updates muss man auch mal eine Firewall neu starten. Gewöhnlich kann das auch nicht am Tage erfolgen, weswegen ich auf verschiedenen Serversystemen Aufgaben (Tasks) definiert habe, die zyklischen das System am Wochenende oder in der Nacht neu starten. Der Inhalt des Jobs sieht dabei so aus:

%SystemRoot%\System32\shutdown -r -f -t 0

Das Problem selber war, dass der Server beim Neustart – kurz vor Abschluss der Aktion „Windows wird heruntergefahren“ einen BSOD (BlueScreen of Death) auslöste:

DRIVER_IRQL_NOT_LESS_OR_EQUAL, Bug Check Code: 0x100000d1, Caused by: tcpip.sys

Der Fehler fiel mir dadurch auf, da das Betriebssystem nach der ersten Anmeldung via RDP meldete, dass das System nach einem unerwarteten Fehler wiederhergestellt wurde. Da der ISA Server auf einem Hewlett-Packard Server (HP DL360 G5) installiert ist, fand ich über das Integrated Management Log (IML) sehr schnell die Meldung über den STOP Fehler. Deshalb aktivierte ich den MiniDump für den Server und analysierte mit Hilfe des Tools BlueScreenView von Nirsoft die generierten MiniDumps:

Wie unschwer zu erkennen, verursacht der Treiber tcpip.sys den BSOD. Nach (tagelanger) intensiver Recherche und dem IBPA (Microsoft ISA Best Practices Analyzer) von Microsoft fand ich heraus, dass das obige Problem oft in Verbindung mit Offload-Funktionen von Netzwerkkarten in Verbindung steht. Das Windows Server 2003 Scalable Networking Pack ist ja im Service Pack 2 für Windows Server 2003 enthalten und soll die Funktionen TCP Offloading Enging (TOE), Recieve Side Scaling (RSS) unterstützen, allerdings warnte der IBPA genau davor und empfahl diese Einstellungen via Registry-Einträgen abzuschalten:

Die drei Werte sind in folgenden Zweig der Registry einzutragen bzw. zu ändern:

HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

Die Einstellungen hatte ich ebenfalls für alle Netzwerkadapter über das HP Network Configuration Utility vorgenommen, um auch Hardware- bzw. Treiber-seitig die genannten Funktionen zu deaktivieren. Leider brachten all diese Einstellungen keinen Erfolg – bei jedem Reboot, ja selbst beim Neustart des Firewall-Dienstes mit Hilfe des Befehls

net stop fwsrv
net start fwsrv

erhielt ich regelmäßig oben beschriebenen BSOD.

Lösung

Bei meiner Suche nach „Leidensgenossen“ bzw. anderweitig dokumentierten Problemlösungen stieß ich auf den folgenden Knowledgebase-Eintrag von Microsoft: KB945466. Das dort beschriebene Verhalten deckte sich mit meinen Erkenntnissen. Also habe ich den Hotfix angefordert, die Installation verlief erfolgreich – das System musste aber neu gestartet werden.

Genau das war aber das Problem, da der Austausch der Datei tcpip.sys auf Grund des BSOD beim Reboot nicht erfolgte. Somit lief das System weiterhin mit der Version 5.2.3790.4573, die Version des Hotfix lautet aber 5.2.3790.4220. Erst der Start über ein Live-System von CD und das manuelle Kopieren der Hotfix-Version in den Ordner

%SystemRoot%\System32\drivers

führte schließlich zum Erfolg. Seit dem „Downgrade“ konnte ich keinen BSOD mehr verzeichnen, allerdings bleibt für mich die Frage offen, weshalb das System bei der jüngeren Version abstürzt, da

  • alle TOE- und RSS-Funktionen auf Ebene des Betriebssystems und Treiber abgeschaltet waren
  • andere, baugleiche Systeme mit dem gleichen Softwarestand (OS, ISA, Treiber, Updates) funktionieren
  • auch ein kompletter Hardwaretausch (identisches Modell) der betroffenen Maschine keine Veränderung brachte.

Mit dem aktuellen Stand der Datei der tcpip.sys Version 5.2.3790.4220 meldet der WSUS der Domäne, das die beiden Updates KB951748 und KB967723 für die Firewall notwendig wären.

Fazit

Beide waren ursprünglich installiert und tauschen wiederum die Datei tcpip.sys aus – aus diesem Grund habe ich die Genehmigung vorerst zurückgezogen und werde hier noch etwas genauer forschen. Wer damit bereits Erfahrungen gesammelt hat oder das obige Problem anderweitig gelöst hat – ich bin für Ratschläge, Hinweise oder Tipps sehr dankbar!

Einen Blog am Leben zu erhalten kostet Zeit und Geld. Da ich auf meiner Seite weder Werbung einbinde, noch andersweitige Zuwendungen erhalte, freue ich mich über jede kleine Spende. Einfach und unkompliziert geht das über PayPalMe. Du unterstützt damit diesen Blog. Vielen Dank.