Unser für Univention vorgesehener Server verfügt über drei Netzwerkschnittstellen, die aus Gründen der Lastverteilung jeweils mit einer eigenen IP im selben Subnetz für verschiedene Anwendungen zur Verfügung stehen sollen (100, 101 u 102).
Das allerdings funktioniert unter UCS 1.3 bisher nicht. Eine Verbindung ins Netzwerk besteht nur, wenn die erste Schnittstelle eth0 aktiv ist. Dann sind über eth0 aber auch alle drei IPs ansprechbar, auch bei inaktiven eth1 und eth2. Ziehe ich auf eth0 den Stecker, wird bei aktiven eth1 und eth2 zwar der Status ’ up broadcast running multicast’ ausgegeben, ein Ping ins Netz führt allerdings zur Ausgabe ‘eth0: Destination host unreachable’.
Netstat -rn gibt aus (wobei X.X.X.0 jeweils für das identische Subnetz steht):
Alle drei Interfaces müssten also eigentlich auf X.X.X.0 zugreifen können. Fehlt da u.U. eine Metrik, also Gewichtung der Schnittstellen? Wenn ja, wie könnte die konfiguriert werden? Ein Betrieb der drei Interfaces in verschiedenen Subnetzen ist übrigens kein Problem. Ein Hardwarefehler ist damit ausgeschlossen.
dieses Problem entsteht dadurch das in der Routing Tabelle eth0 für Ihr Subnetz an erster Stelle steht. Ist dieses Interface nicht erreichbar werden weitere nicht versucht. eth0 wird in Ihrem Fall auch Anfragen beantworten die an eth1 gerichtet wurden, sodass die Antwort von einer falschen IP-Adresse kommt.
Es gibt zwei Möglichkeiten diesem Problem zu begegnen:
1.
Sie setzen statische Routen falls Anfragen bestimmter IP-Adressen/Clients immer von einem definierten Interface beantwortet werden sollen. Das ist bei vielen Clients allerdings auch viel Arbeit und ist schlecht zu warten.
Das benötigte Kernel Modul “bonding” ist in den Univention Kernel Paketen enthalten. Das Paket ifenslave kann auf Anfrage zur Verfügung gestellt werden.
hat ein wenig gedauert seit meiner ursprünglichen Anfrage… nachdem ich mich dem Thema heute aber noch einmal ausführlich gewidmet und Sie mir das Ifenslave-Paket gesendet haben funktioniert das “Bonding” meiner drei NICs jetzt bestens.
Alle drei sind nun über die selbe IP ansprechbar und jedes Interface arbeitet bei Ausfall der anderen beiden per Fail-over reibungslos weiter. Die von Ihnen gesendeten Links beschreiben das reine Fail-over-Konzept beim Bonding (Bonding mode=1), durch Setzen von mode=0 und Einbindung des mii-Moduls in den Kernel funktioniert das Bonding nun nach dem Round-Robin Prinzip, so dass zusätzlich eine gleichmäßige Lastverteilung zwischen den gerade aktiven Schnittstellen stattfindet, ein- und ausgehend. Toll Sache.
Allerdings musste ich zum Anlegen des bond0-Interfaces die Datei /etc/networks/interfaces editieren. Würden sich diese Einstellungen auch fest via Baseconfig hinterlegen lassen, oder muss ich die Datei nach jedem Systemupdate wiederherstellen?
Damit Ihre Änderungen an der Datei /etc/network/interfaces erhalten bleiben müssen Sie diese in dem zugehörigen Baseconfig-Template vornommen, das Sie unter /etc/univention/templates/files/etc/network/interfaces finden können. Nachdem Sie Ihre Anpassungen durchgeführt haben können Sie mit dem folgenden Befehl die Konfigurationsdatei neu erzeugen:
[quote=“bozkur_h”]Ich habe UCS 2.1 installiert und brauche das Paket “ifenslave”.
Könnt Ihr mir helfen?[/quote]
Das Paket ist momentan nicht für UCS 2.1 verfügbar. Eine Möglichkeit wäre, dass Sie sich das Paket selbst anhand der Anleitung im Forum bauen (Erstellung selbst gebauter UCS Pakete). Alternativ können Sie sich aber auch gerne direkt an uns (Mail an feedback@univention.de) wenden wenn Sie die Erstellung bei uns beauftragen möchten.
[quote=“bozkur_h”]Ich habe UCS 2.1 installiert und brauche das Paket “ifenslave”.
Könnt Ihr mir helfen?[/quote][/quote]
Das Paket ist momentan nicht für UCS 2.1 verfügbar. Eine Möglichkeit wäre, dass Sie sich das Paket selbst anhand der Anleitung im Forum bauen (Erstellung selbst gebauter UCS Pakete). Alternativ können Sie sich aber auch gerne direkt an uns (Mail an feedback@univention.de) wenden wenn Sie die Erstellung bei uns beauftragen möchten.
[/i][/quote]
Sind alle notwendigen Pakete, denn jetzt in UCS 2.2 wieder enthalten? - Auch ifenslave?