Firmenbrief

18.01.2011

Tipps vom LIS-Service: IP-Adressen einem Netzwerk-Interface zuweisen



Frage an den LIS-Service:

Wie kann ich einem Netzwerk-Interface mehrere IP-Adressen zuweisen? Und in welchen Fällen macht dies Sinn für mich?

Antwort vom LIS-Service:

Unter anderem braucht man diese Funktionalität beim Einrichten neuer Netzwerkkomponenten, die meist nicht im selben Netz wie das Firmennetzwerk für die Einrichtung zu erreichen sind. Das klassische Einsatzgebiet ist jedoch der Betrieb eines Clusters.

Als Erklärungsbeispiel nehmen wir ein Failover Cluster mit 2 Servern (Nodes) und 3 Diensten wie beispielsweise Mail-, File-Server und Intranet.

Im Cluster Betrieb hat ein Server in der Regel folgende IP-Adressen
* HostIP - die IP-Adresse des Servers selbst, in der Regel ohne weitere Funktionalität.

* ServiceIP - das ist die IP-Adresse des Services (Dienstes), den das Cluster zur Verfügung stellt.

Was will man damit erreichen?

Durch eine getrennte Host- und Service-IP ist es möglich, den Service von einem Server (Node) zum anderen Server (Node) zu verschieben und den Server (Node) selbst noch über die HostIP erreichen zu können.

Würde man hingegen die IP des Hosts auch für den Dienst verwenden, könnte der Server (Node)/Host selbst nicht mehr erreicht werden, wenn der Dienst im Fall eines Failovers auf den zweiten Server (Node) umgezogen werden muß. Eine weitere Interaktion mit dem fehlerhaften System (beispielsweise für die Fehlersuche) wäre dann nur noch möglich, wenn jemand direkt am Server steht.

Zwischenfrage: Ist es überhaupt möglich, nur eine Netzwerkkarte mit einer IP zu haben?

Antwort:
Ja. Der Failover-Dienst könnte auch über eine COM-Schnittstelle (Nullmodem-Kabel) einen Failover starten.

Nun könnte man fragen, warum nicht einfach mehrere Netzwerkkarten verbaut werden. In unserem Beispiel mit drei Services würden Sie mindestens vier Netzwerkkarten benötigen, um einen Server im Failover-Betrieb nutzen zu können, nämlich für die Host-IP und drei weitere für die Dienste. Wenn der Server diesen Platz anbietet, wäre das theoretisch auch kein Problem. In der Regel hat man im Server jedoch meist zu wenig Steckplätze frei, da diese bereits anderweitig belegt sind, unter anderem mit ein bis zwei Raid-Controllern. Damit müsste man auf Dual/Quad Port LAN Karten ausweichen, die zudem ein Vielfaches kosten, was beispielsweise baugleiche Single-Port-Karten kosten würden.

Nun zum Erstellen virtueller IP-Adressen:

Wenn der Kernel mit der Option "IP Aliasing" übersetzt worden ist - bei den gängigen Distributions-Kernels inzwischen der Standard -, kann auf einem Interface eine virtuelle IP erstellt werden. Die Vorgehensweise ist dann wie folgt:

ifconfig eth0:0 192.168.128.15

Mit diesem Befehl weisen Sie der Netzwerkkarte (eth0) eine weitere IP Adresse zu, über die das System dann auch erreichbar ist.

Im System sieht es dann so aus:

ifconfig

eth0      Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX
inet Adresse:192.168.221.99  Bcast:192.168.221.255  Maske:255.255.255.0

nach der Einrichtung:

eth0      Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX
inet Adresse:192.168.221.99  Bcast:192.168.221.255  Maske:255.255.255.0

eth0:0    Link encap:Ethernet  Hardware Adresse XX:XX:XX:XX:XX:XX
inet Adresse:192.168.128.15  Bcast:192.168.128.255  Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
Interrupt:18

Die virtuellen IP-Adressen verwalten Sie über das Failover-System, dies muss in der Regel nicht „von Hand gemacht“ werden.