Multihoming, der IP-Stack und starke Hosts

Mehrere IP-Adressen auf einem Windows-System einsetzen

Als Quelle überspringen: skipassource-Flag kann helfen

Bei den aktuellen Windows-Systemen steht den Administratoren jedoch mit der Netshell eine sehr gute Möglichkeit zur Verfügung, IP-Adressen selektiv im DNS zu registrieren. Dies gelingt mithilfe des neuen Netsh-Flags "skipassource". Diese Einstellung wird auf deutschen Systemen dann mit "Als Quelle überspringen" angezeigt.

Einfügen "per Hand": Mithilfe des Netsh-Kommandos wird eine zusätzliche Adresse eingefügt, die nicht im DNS registriert wird und über die auch keine IP-Pakete nach draußen geschickt werden.
Einfügen "per Hand": Mithilfe des Netsh-Kommandos wird eine zusätzliche Adresse eingefügt, die nicht im DNS registriert wird und über die auch keine IP-Pakete nach draußen geschickt werden.

Eine solche Möglichkeit wurde erstmals mit dem Hotfix 975808 für ältere Windows-Server-2008-SP2- und Vista-Systeme sowie mit dem Hotfix 2386184 für Systeme unter Windows Server 2008 R2 und Windows 7 bereitgestellt. Wer noch Vista-Systeme im Einsatz hat, wird wahrscheinlich diesen Hotfix einspielen müssen, um die im folgenden Abschnitt beschriebenen Möglichkeiten nutzen zu können. Auf allen uns im Testumfeld zur Verfügung stehenden aktuellen Systemen unter Windows Server 2008 R2 und Windows 7 war das allerdings nicht nötig, da Microsoft diesen Hotfix in einen der letzten generellen Updates integriert hat. Ganz aktuelle Rechner unter Windows 8 und Windows Server 2012 benötigen diesen Hotfix ebenfalls nicht, da bei ihnen der NetShell-Befehl bereits entsprechend erweitert ist.

Mit einem Script geht es schneller: Das im Artikel beschriebene sehr einfache PowerShell-Script löscht zunächst die IP-Adressen und fügt sie dann mit dem gesetzten "skipasssource"-Flag wieder ein.
Mit einem Script geht es schneller: Das im Artikel beschriebene sehr einfache PowerShell-Script löscht zunächst die IP-Adressen und fügt sie dann mit dem gesetzten "skipasssource"-Flag wieder ein.

Achtung: Weder dieser Hotfix noch die Updates ändern das grundsätzliche Verhalten der Windows-Systeme. Nach wie vor werden standardmäßig alle IP-Adressen in DNS registriert, auch wenn sie nicht für ausgehenden Netzwerkverkehr verwendet werden. Dadurch können dann beispielsweise auch Probleme mit der richtigen Konfiguration der Firewall auftauchen.

Mit dem zusätzlichen Flag steht Administratoren nur eine vereinfachte Möglichkeit zur Verfügung, dieses Verhalten nach ihren Vorgaben zu beeinflussen. Mit folgendem Aufruf kann eine IP-Adresse entsprechend konfiguriert werden:

netsh interface ipv4 add address <Name_Netzwerkschnittstelle> <IP-Adresse> skipassource=true

In diesem Zusammenhang ist ein Hinweis wichtig: Sie können dieses Kommando nicht auf bereits bestehende IP-Adresse ausführen. Es funktioniert nur, wie hier gezeigt, mit dem Anlegen einer neuen Adresse. Bestehende IP-Adressen müssen also zunächst einmal gelöscht und dann mit diesem neuen Flag wieder hinzugefügt werden. Danach zeigt der folgende Befehl, ob die Umstellung funktioniert hat:

netsh interface ipv4 show ipaddresses level=verbose

In der Auflistung aller IP-Adressen ist dann unter dem Abschnitt "Als Quelle überspringen" der Wert "true" oder "false" zu sehen. Diese Adressen werden nun auch nicht mehr für ausgehende Pakete verwendet.

Sollen mehrere Adressen auf diese Weise bearbeitet werden, lässt sich das mithilfe einiger PowerShell-Kommandos leicht realisieren:

$Aktuelle_IPs = "10.1.1.15","10.1.1.16","10.1.1.17","10.1.1.18"

foreach ($ip in $Aktuelle_IPs){

netsh interface ip delete address offen $ip

write-host "$ip gelöscht!"

netsh interface ip add address "offen" $ip 255.255.255.0 skipassource=true

write-host "$ip hinzugefügt"

}

In diesem Code müssen natürlich die richtigen Namen der Netzwerkschnittstelle und der Subnetzmaske eingesetzt werden. Wir haben hier bewusst nur PowerShell-2.0-Code verwendet, weil so ein Script zur Verfügung steht, das auch auf älteren Systemen problemlos abläuft.

Geprüft haben wir es unter Windows 7 und Windows 8 sowie unter Windows Server 2008 R2 und Windows Server 2012. Natürlich sollten Sie zudem darauf achten, dass Sie die IP-Adresse, die Sie als die primäre IP-Adresse für Ihren Server verwenden möchten, nicht mit diesen Befehlen verarbeiten.

Denken Sie bitte auch daran, dass wir zwar nach wir vor den Begriff "primäre IP-Adresse" in diesem Zusammenhang verwenden, aber die aktuellen Windows-System standardmäßig keine IP-Adresse als primäre Adresse ausweisen, wie es noch unter Windows XP oder bei Windows Server 2003 der Fall war.