Linux Kernel merged zwei Adressen auf eine Karte

2TAKTER

Lt. Junior Grade
Registriert
Okt. 2005
Beiträge
399
Folgendes Szenario liegt vor:
  • zwei Netzwerkkarten in einem Rechner
  • 192.168.1.1 und 192.168.1.2
  • beide Adressen sind im Standard Subnetz 255.255.255.0
  • in beiden Karten steckt ein Netzwerkkabel
  • ergo - beide lassen sich anpingen

Nun geschieht folgender Effekt:
Wenn ich eines der Netzwerkkabel ziehe, lassen sich dennoch weiterhin beide Adressen anpingen. Es scheint, als würde der Kernel die Adresse des "verlorenen" Adapters auf die des vorhandenen übertragen bis das Kabel wieder steckt.
Dieses Phänomen wurde unter verschiedenen Kernelversionen und diversen Distributionen beobachtet.

Gibt es einen Parameter o.ä. welcher diese Funktion abschaltet?
 
Nur um so ein "Wald-Bäume-Problem" auszuschliessen: Dein Router ist nicht die 192.168.1.1?

Wenn nein, was sagt "ifconfig"?
 
Wenn du zwei Netzwerkkarten hast, dann treten solche Effekte immer dann auf, wenn diese beide eine IP aus dem gleichen Netz bekommen.

Ist ja auch Schwachsinn. Warum brauchst du dann zwei Netzwerkkarten, wenn diese eh im gleichen Netz sind?

Gib mal einer ne IP aus nem anderen Netz.

Gruß
 
Das ist in sofern sinnvoll um den Flaschenhalseffekt zu vermindern. Nehmen wir an du hast einen Server auf dem große Datenmengen eingehen. Alle Clients benutzen die selbe IP. Selbst ein 1Gbit-LAN geht dann in die Knie. Deshalb benutzt die Hälfte der Clients die zweite IP im selben Netz ;)

Also da nun der Sinn geklärt ist, back to topic :D

Wie zwinge ich den Kernel dazu, dieses Kuddelmuddel zu unterlassen?
 
Öhm 2 Netzwerkkarten im selben Subnetz mit dem selben IP-Range :eek:

Das wird nicht funktionieren, denke ich :(

Hast du es denn unter Windows schonmal am laufen gehabt, oder hast du es überhaupt schonmal getestet irgendwo anders ?
 
Beantworte doch erst einmal die Frage, was ifconfig sagt, einmal mit angesteckten Kabeln, einmal, wenn das eine Kabel abgezogen ist.
Wenn es sich dann herausstellt, daß es wirklich zum Durcheinander kommt, mußt Du mit permanenten udev Rules für die Netzwerkdevices arbeiten.
Davon abgesehen würde ich so eine Lastverteilung nie wie Du mit 2 IP Adressen, sondern mit Bonding machen.
 
Ich denke mal, dein Linux spielt automatisch Router und baut eine virtuelle LAN-Verbindung zwischen den beiden Karten auf.
 
ifconfig bleibt unveändert

Wegen dem Bonding:
Wie kann Bonding denn den Flaschenhals erweitern?
Nehmen wir zum Beispiel einen Servers mit rund sagen wir mal 80 Clients. Jeder dieser Clients schickt alle 5 Minuten Daten von rund 100 bis 200 MB wenn nicht sogar mehr. Dabei entsteht ein enorm hoher Traffic.
Ich versteh das Bonding ehrlich gesagt nicht. Wie hilft es dabei diese Datenmengen die auf eine Schnittstelle prallen besser durchzusetzen?
 
Das verstehe ich jetzt ehrlich gesagt nicht, daß Du grundsätzlich mit Bonding nichts anfangen kannst. Wie es der Begriff schon sagt, es werden mehrere Netzwerkinterfaces zu einem virtuellen zusammengefaßt, über das dann die Kommunikation erfolgt. Die Lastverteilung erfolgt dabei automatisch, die Performance entspricht, etwas Protokoll-/Verwaltungsoverhead abgezogen, der Summe der einzelnen Interfaces. Sozusagen wie Kanalbündelung im ISDN.
Wenn sie nach dem Abziehen des Kabels nichts ändert, dann ist es so, wie schon geschrieben wurde, das 2. Interface ist nicht down und bekommt noch Pakete über das erste, die im Server einfach weitergereicht werden. Da empfiehlt sich der Einsatz des ifplugd, der fährt das Interface beim Abziehen des Kabels herunter, somit ist die IP Adresse dann nicht mehr errreichbar.
 
ah ok jetzt verstehe ich das :) danke. Habe mit bonding bisher null erfahrung aber es scheint genau das zu sein was ich brauche :)
vielen dank
 
Wenn du 80 Clients mit jeweils ordentlichem Traffic zu einer Node hast, dann kannste ja auch mal über einen Switch mit 10GE Anschluss nachdenken und entsprechender Netzwerkkarte.

Ansonsten ist wie schon angesprochen Teaming die Lösung deines Problems. Es gibt übrigens auch managed Switche, die das für deinen Server übernehmen, so daß du am Betriebssystem nichts ändern musst.

Bin selber im Netz mit 4000 Clients und hab bisher so noch jeden Traffic geroutet bekommen.


Gruß
 

Ähnliche Themen

Zurück
Oben