ISA Server FAQ Home | ISA 2000 | ISA 2004 | ISA 2006 | TMG | Verschiedenes | Tools | Downloads | Links | Das Buch! | Bücher | User Group | Events | Blog | About | Sitemap | Suche

Kapitel höher
HTTP Redirector
Webauthentifizierung
Cacheregeln
Proxyeinstellungen per GPO
Socket Pooling W2k
Socket Pooling W2k3
Alarmkonfiguration
SQL Logging
Protokollierung
Paketfilterung
SMTP Anwendungsfilter

 

Socket Pooling bei Windows 2000 Server und ISA Server


Die Informationen in diesem Artikel beziehen sich auf:

  • Microsoft ISA Server 2000
  • Microsoft ISA Server 2004
  • Microsoft Windows Server 2000

 

Im IIS 4.0 (WinNT) wurden TCP-Sockets auf Basis von Websites reserviert. Das bedeutet, dass die Leistung leidet wenn viele Websites auf einem Server verfügbar sind. Dies wurde im IIS 5.0 von Windows 2000 verändert; hier werden Sockets auf Basis von Ports reserviert. IIS 5.0 Sites, die mit verschiedenen IP-Adressen (aber mit dem selben Port) verknüpft sind, nutzen den selben Socketsatz. Deshalb können unter IIS 5.0 mehr mit einer IP-Adresse verknüpfte Sites auf dem selben Rechner erstellt werden. Diese Sockets werden von allen Sites genutzt, um den Ressourcenverbrauch zu reduzieren. Davon betroffen ist nicht nur der WWW-Dienst sondern auch FTP und SMTP.

Was hat das ganze nun mit dem ISA Server zu tun?

Die Frage ist berechtigt. Aber auch einfach zu erklären: Wenn man versucht, eine Website auf dem ISA Server Computer zu veröffentlichen, scheitert das, sofern man nicht IP-Paketfilter verwendet. Damit gelingt es in der Regel. Ein Web über IP-Paketfilter zu veröffentlichen ist jedoch nicht die ideale Lösung, da durch die Filter der Port 80 statisch geöffnet wird und weder Zielsätze noch das Reverse Caching verwendet werden können. Die sicherste Lösung ein Web auf dem ISA zu veröffentlichen ist die Verwendung einer Webveröffentlichungsregel. Dies wurde im Artikel Webserver - Teil 2b ausführlich besprochen.

Warum scheitert die Veröffentlichung? Bedingt durch das Socket Pooling werden die Ports 21, 25 und 80 an alle Schnittstellen gebunden. Dies kann man durch netstat -na sehen:

Kommandozeile mit netstat -na

Das ist auch so, wenn im IIS explizit eine IP-Adresse konfiguriert ist.

Eigenschaftsseite von Standardwebsite

Das Socket Pooling ist am ISA Server unerwünscht, da der IIS auf keinen Fall für 0.0.0.0:80 konfiguriert sein darf. Der Abhörer für eingehende Webanfragen wird in der Regel für die externe IP-Adresse und Port 80 konfiguriert, damit externe Benutzer auf eine veröffentlichte Website zugreifen können.

Aus diesem Grund muss das Socket Pooling deaktiviert werden. Anschließend ist kein Abhörer für 0.0.0.0:80 (bzw. 21 und 25) vorhanden und es entsteht kein Konflikt mehr.

1. Deaktivieren des Socket Pooling für SMTP

Am einfachsten ist das Deaktivieren des Socket Poolings für den SMTP Service indem man das Tool mdutil.exe verwendet. Diese Datei ist auf der Windows 2000 CD im Verzeichnis \i386\Mdutil.ex_ vorhanden und muss mit expand entpackt und ins Verzeichnis \Inetpub\Adminiscripts\ kopiert werden.

Es sind folgende Schritte notwendig (in einem Kommandozeilenfenster):

  1. Mdutil.ex_ entpacken: expand d:\i386\Mdutil.ex_ c:\inetpub\AdminScripts\Mdutil.exe
  2. den SMTP Dienst stoppen: net stop smtpsvc
  3. mdutil set —path smtpsvc/1 —value 1 —dtype 1 —prop 1029 —attrib 1
    Wenn mehrere virtuelle SMTP Server vorhanden sind, muss das Socket Pooling bei allen deaktiviert werden. Der Wert smtpsvc/1 muss dann in smtpsvc/2 bzw. smtpsvc/3 usw. verändert werden.
  4. den SMTP Dienst wieder starten: net start smtpsvc

Statt der Kommandozeilenoperation kann auch das Tool Metaedit verwendet werden. Damit kann (ähnlich dem RegEdit) die Metabase grafisch bearbeitet werden. In diesem Fall muss unter LM \ Smtpsvc \ 1 \ ein neuer DWORD-Schlüssel DisableSocketPooling hinzugefügt werden:

Ausschnitt aus MetaEdit

 

2. Deaktivieren des Socket Pooling für FTP

Es sind folgende Schritte notwendig (in einem Kommandozeilenfenster):

  1. cd c:\Inetpub\AdminScripts
  2. net stop msftpsvc
  3. cscript adsutil.vbs set msftpsvc/disablesocketpooling true
  4. net start msftpsvc

 

3. Deaktivieren des Socket Pooling für HTTP

Es sind folgende Schritte notwendig (in einem Kommandozeilenfenster):

  1. cd c:\Inetpub\AdminScripts
  2. net stop w3svc
  3. cscript adsutil.vbs set w3svc/disablesocketpooling true
  4. net start w3svc

 

Hinweis: Zum deaktivieren des Socket Pooling unter Windows Server 2003 gilt folgender Artikel: Socket Pooling W2k3

Stand: Friday, 28. August 2009/DR.


Home | ISA 2000 | ISA 2004 | ISA 2006 | TMG | Verschiedenes | Tools | Downloads | Links | Das Buch! | Bücher | User Group | Events | Blog | About | Sitemap | Suche

Fragen oder Probleme in Zusammenhang mit dieser Website richten Sie bitte an den Webmaster. Bitte inhaltliche oder technische Fragen ausschließlich in der deutschen ISA Server Newsgroup stellen.
Verbesserungsvorschläge, Anregungen oder Fremdartikel sind jederzeit willkommen! Copyright 2001-2011. Alle Rechte vorbehalten. msisafaq.de steht in keiner Beziehung zur Microsoft Corp.
Stand: Monday, 18. March 2013 / Dieter Rauscher