Multihoming, der IP-Stack und starke Hosts

Mehrere IP-Adressen auf einem Windows-System einsetzen

16.01.2014
Von  und
Frank-Michael Schlede arbeitet seit den achtziger Jahren in der IT und ist seit 1990 als Trainer und Fachjournalist tätig. Nach unterschiedlichen Tätigkeiten als Redakteur und Chefredakteur in verschiedenen Verlagen arbeitet er seit Ende 2009 als freier IT-Journalist für verschiedene Online- und Print-Publikationen. Er lebt und arbeitet in Pfaffenhofen an der Ilm.
Thomas Bär, der seit Ende der neunziger Jahre in der IT tätig ist, bringt weit reichende Erfahrungen bei der Einführung und Umsetzung von IT-Prozessen im Gesundheitswesen mit. Dieses in der Praxis gewonnene Wissen hat er seit Anfang 2000 in zahlreichen Publikationen als Fachjournalist in einer großen Zahl von Artikeln umgesetzt. Er lebt und arbeitet in Günzburg.

TCP/IP-Stack im Wandel: von schwachen und starken Host-Modellen

Kommen auf einem Rechner mehrere IP-Adressen zum Einsatz, so ist mit einem Blick in die Netzwerkeinstellungen nicht immer sofort ersichtlich, welche der zur Verfügung stehenden IP-Adressen beispielsweise dann an der Reihe ist, wenn der Rechner Netzwerkpakete verschickt. Der Netzwerk-Stack verwendet dazu einen Vorgang, der als Source IP Address Selection (Adressauswahl für die Quell-IP) bezeichnet wird.

Die Übergabe der lokalen IP-Adresse, also der Source-IP, geschieht dann, wenn mittels Windows Sockets eine entsprechende Verbindung aufgebaut wird. Bis zu den Versionen Windows XP und Windows Server 2003 setzten die Microsoft-Entwickler hier auf ein sogenanntes "schwaches Hostmodell" für alle IPv4-Netzwerkschnittstellen: Diese Vorgehensweise gab Entwicklern größtmögliche Freiheiten, wenn sie Programme entwarfen, die Netzwerkzugriffe ausführten.

Allerdings verlagert dieses Modell auch die Verantwortung für die Art und Weise, wie sich das Netzwerkprogramm verhält, komplett auf die Entwickler: Sie legten fest, auf welche Art ihr Programm auf den TCP/IP-Stack zugriffen hat, und auch, wie das Programm sowohl ein- als auch ausgehende Netzwerkpakete abarbeitete.

Hier hat sich zunächst einmal nichts grundlegend geändert: Auch auf dem ganz aktuellen Windows Server 2012 ist die Einstellung zur automatischen Registrierung der IP-Adresse im DNS standardmäßig eingeschaltet.
Hier hat sich zunächst einmal nichts grundlegend geändert: Auch auf dem ganz aktuellen Windows Server 2012 ist die Einstellung zur automatischen Registrierung der IP-Adresse im DNS standardmäßig eingeschaltet.

Der IP-Stack muss jedes Mal, wenn auf dem System ein Unicast-Paket eintrifft, entscheiden, ob das Paket an den lokalen Computer gesendet wurde. Dass trifft grundsätzlich dann zu, wenn das Ziel dieses Pakets mit einer der Adresse übereinstimmt, die einer Netzwerkschnittstelle des Systems zugewiesen wurde. Bei einem schwachen Host-Modell wird jedes Paket akzeptiert, das an dieses lokale System geschickt wurde. Das ist dabei völlig unabhängig davon, über welche der Schnittstellen dieses Paket empfangen wurde. So bietet das schwache Host-Modell zwar im Prinzip eine bessere Netzwerkkonnektivität, doch dafür das System ist weitaus anfälliger für bestimmte Formen der Netzwerkangriffe: So kann ein Angreifer von außerhalb Netzwerkpakete an dieses System senden, die dann Dienste angreifen, die eigentlich nur für Rechner im Intranet erreichbar sind.

Beginnend mit dem neuen TPC / IP-Stack in Windows Vista hat Microsoft alle Windows-Systeme mit einem starken Host-Modell ausgestattet. Bei dieser Implementierung sind Sende- und Empfangsverhalten anders: Pakete an den lokalen Computer werden nur dann akzeptiert, wenn die Adresse, an die das Paket gesendet wurde, mit der Adresse der Schnittstelle übereinstimmt, über die das Paket auch empfangen wurde. Standardmäßig wird auf allen aktuellen Windows-Systemen die Einstellung so gewählt, dass dieses starke Host-Modell zum Einsatz kommt. Allerdings können Administratoren die Einstellung auch explizit verändern. Dazu stehen entsprechende netSh-Kommandos bereit, die sowohl eingehende (WeakHostReceive) als auch ausgehende (WeakHostSend) Pakete betreffen:

netsh interface IPv4 set interface <Name_Netzwerkschnittstelle> WeakHostSend=enabled Ok

netsh interface IPv4 set interface <Name_Netzwerkschnittstelle> WeakHostReceive=enabled Ok

Dabei steht "Name_Netzwerkschnittstelle" für den Adapter, auf dem diese Einstellung vorgenommen werden soll. Wollen Sie wieder zur Standardeinstellung zurückkehren, so gelingt das mit den gleichen Aufrufen, nur dass in diesem Fall disabled verwendet werden muss. Wer sich noch tiefer in die technischen Hintergründe zum Thema "Host-Modell" einarbeiten möchte, findet im "Cable Guy Blog" auf Microsofts TechNet einen schon etwas älteren englischsprachigen Artikel, der detailliert die Aspekte rund um schwache und starke Host-Modelle darstellt.