IPSec auf einem Windows Server 2003 Cluster?

IPSec war von Microsoft mit Erscheinen von Windows Server 2003 ursprünglich als not recomended für den Clusterbetrieb eingestuft:

» TechNet: IPSec in Cluster Networking
(Stand: January 01, 2003)

IPSec was not designed for failover situations and we recommend that you do NOT use IPSec for applications in a Server cluster.

Grund für diese Empfehlung ist die Art und Weise, wie die Sicherheitszuordnungen (SAs) des IPSec Internet Key Exchange (IKE) gespeichert werden – nämlich in einer lokalen und damit Nodes-pezifischen Datenbank.

Bei einem Failover müssen daher alle IPSec Verbindungen neu initiiert werden, um eine neue IKE SA auszuhandeln. Dieser Prozess dauert bei einem Windows 2000 Server Cluster per default 6 Minuten: 5 Minuten für den IPSec Idle Timeout, 1 Minute für das Re-initiieren durch den IKE (siehe » KB306677).
Das erhöht die Failoverzeit beträchtlich und senkt die potentielle Uptime…

Auf einem Windows Server 2003 Cluster kann diese Zeit per Registry immerhin auf 2 Minuten gedrückt werden, daher hat sich die ursprüngliche Empfehlung von Microsoft inzwischen wieder etwas relativiert.
Im Falle von Exchange 2003 ist ein Cluster Setup im Zusammenhang mit IPSec auch supported:

» How to Configure IPSec on an Exchange … Cluster

Mit der Hilfe des Registry-Keys NLBSFlags=1 kann in einer Multi-Tier Umgebung mit zB. NLB Frontendserver die IPSec idle time von 5 auf eine Minute gesenkt werden. Zusammen mit der IKE Re-initiierung (+1 Minute) kommt man dann auf die erwähnten 2 Minuten. Der Key ist in folgendem Zweig zu finden:
HKLM\SYSTEM\CurrentControlSet\Services
    \PolicyAgentOakley

Alles in allem muss abgewägt werden, ob man mit der zusätzlichen Verzögerung bei einem Failover leben kann bzw. ob dies die jeweiligen SLAs erlauben.

Für Windows Server 2008 Cluster hat sich das geändert, in Verbindung mit Windows Vista ist IPSec nicht mehr abhängig von Timeouts und kann bei einem Failover sofort eine neue SA aushandeln.

Stay tuned,
N.Own

Windows Server 2003 Cluster ohne NetBIOS?

Im Prinzip benötigt ein reiner Windows Server 2003 Cluster keine NetBIOS Funktionalität mehr, allerdings gängige Applikationen, die ein Cluster bereitstellt – daher ist die Frage mit einem klaren „Jein“ zu beantworten.
Technisch ist es machbar, mit gewissen Einschränkungen:

» TechNet: NetBIOS in Cluster Networking

Zudem kann folgender Fehler bei der Namensauflösung vorkommen:

\\<FQDN>
You were not connected because a duplicate name exists on the network. Go to System in Control Panel to change the computer name and try again.

Dieser kann über den Registry Eintrag DisableStrictNameChecking gelöst werden, mehr dazu unter folgendem KB Artikel (KB914056):
» You may receive error messages if you disable NetBIOS…

Auch wenn es technisch machbar ist für den reinen Cluster Betrieb, so kommt doch nicht jede Applikation damit zurecht – so zum Beispiel Exchange:
» Exchange Server 2003 require NetBIOS name resolution…

Zu dem Thema NetBIOS und speziell Exchange hat MVP Kollege Russ Kaufmann einen Blog Artikel verfasst:
» Russ Kaufmann: WINS is a Friend of Mine

Fazit: In einem LAN, in dem man Applikationen wie Exchange 2003 sowie Windows XP clients inkl. third party software etc. findet, sollte man lieber ein, zwei WINS Server bereithalten. Diese schränken die unangenehmen NetBIOS Broadcasts ein und stellen sicher, daß auch legacy Apps noch laufen.

Wer sich im Detail für die Namensauflösung und deren Wege in einem LAN interessiert, findet in diesem TechNet Artikel detaillierte Informationen nebst passender Schaubilder zum Thema Name Resolution aus dem Windows XP Professional Resource Kit:
» Configuring IP Addressing and Name Resolution

Stay tuned,
N.Own