Netzwerk-Bonding am RaspberryPI mit 2 WLAN-Adaptern im Bond-Modus 0
Hallo,
ich bräuchte mal eure Hilfe.
Ich habe einen rPI4 der bekanntlich einen WLAN-Adapter onboard hat. Zusätzlich habe ich per USB einen WLAN-Stick angeschlossen. Der Pi hängt mit diesen beiden WLAN-Interfaces im private LAN hinter einer Fritzbox. Die Fritzbox ist DHCP-Server, DNS-Server, Router und Switch
Auf dem Pi läuft Raspian Buster.
Die Konfiguration der beiden WLAN-Adapter habe ich geschafft. Die beiden Adapter bekommen eine statische IP-Adresse mittels DHCPCD über die dhcpcd.conf
wlan0 ist der Onboard-Adapter mit 192.168.50.50
wlan1 ist der WLAN-Stick mit 192.168.50.51
Die Fritzbox ist 192.168.50.200
Jetzt erst einmal die grundsätzliche Frage, kann ich mit 2 WLAN-Adaptern überhaupt Bonding betreiben?
Ich habe mehrere Konfig-Beispiele gefunden die alle relativ ähnlich sind. In allen wird der Bond-Modus 1, also active-backup, eingesetzt. Ich würde aber gerne den Modus 0, also balance-rr, nutzen um auf laufend etwas vom zweiten Adapter zu haben, nicht nur wenn einer ausfällt. Ist dies möglich?
Bei den Konfigurationsbeispielen, bei denen 2 eth-Interfaces zusammengeschaltet werden, wird davon gesprochen dass der Switch bei Bond-Modus 0 und 1 nichts können muss, also auch unmanaged sein kann.
Daraus habe ich für mich abgeleitet dass 2 wlan-Interfaces genauso funktionieren müssten da die Fritzbox die LAN-Ports und die verbundenen WLAN-Geräte gleich switched.
An den auskommentierten Einträgen seht ihr was ich schon versucht habe, also die verschiedenen Kombinationsmöglichkeiten zwischen static, manual und dhcp.
Leider funktioniert keine davon.
Sobald das bond0-Interface in's Spiel kommt ist keine Verbindug mehr möglich.
Wo liegt der Fehler?
Ich habe es auch versucht mit
a) etc/modules
mit dem Eintrag bonding
b) /etc/modprobe.d/bonding.conf
mit dem Eintrag
alias bond0 bonding
options bonding mode=0
all_slaves_active=1
Geändert hat dies leider nichts.
Was mache ich falsch?
Vielen Dank schonmal.
ich bräuchte mal eure Hilfe.
Ich habe einen rPI4 der bekanntlich einen WLAN-Adapter onboard hat. Zusätzlich habe ich per USB einen WLAN-Stick angeschlossen. Der Pi hängt mit diesen beiden WLAN-Interfaces im private LAN hinter einer Fritzbox. Die Fritzbox ist DHCP-Server, DNS-Server, Router und Switch
Auf dem Pi läuft Raspian Buster.
Die Konfiguration der beiden WLAN-Adapter habe ich geschafft. Die beiden Adapter bekommen eine statische IP-Adresse mittels DHCPCD über die dhcpcd.conf
wlan0 ist der Onboard-Adapter mit 192.168.50.50
wlan1 ist der WLAN-Stick mit 192.168.50.51
Die Fritzbox ist 192.168.50.200
Jetzt erst einmal die grundsätzliche Frage, kann ich mit 2 WLAN-Adaptern überhaupt Bonding betreiben?
Ich habe mehrere Konfig-Beispiele gefunden die alle relativ ähnlich sind. In allen wird der Bond-Modus 1, also active-backup, eingesetzt. Ich würde aber gerne den Modus 0, also balance-rr, nutzen um auf laufend etwas vom zweiten Adapter zu haben, nicht nur wenn einer ausfällt. Ist dies möglich?
Bei den Konfigurationsbeispielen, bei denen 2 eth-Interfaces zusammengeschaltet werden, wird davon gesprochen dass der Switch bei Bond-Modus 0 und 1 nichts können muss, also auch unmanaged sein kann.
Daraus habe ich für mich abgeleitet dass 2 wlan-Interfaces genauso funktionieren müssten da die Fritzbox die LAN-Ports und die verbundenen WLAN-Geräte gleich switched.
Meine /etc/network/interfaces siehe so aus:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
# auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
#iface wlan0 inet dhcp
#iface wlan0 inet static
# address 192.168.50.50
# netmask 255.255.255.0
# network 192.168.50.0
# broadcast 192.168.50.255
# gateway 192.168.50.200
# dns-nameservers 192.168.50.200
# post-up iw dev wlan0 set power_save off
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
bond-master bond0
#bond-mode 0
# auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
#iface wlan1 inet dhcp
#iface wlan1 inet static
# address 192.168.50.101
# netmask 255.255.255.0
# network 192.168.50.0
# broadcast 192.168.50.255
# gateway 192.168.50.200
# dns-nameservers 192.168.50.200
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
bond-master bond0
#bond-mode 0
#auto bond0
allow-hotplug bond0
#iface bond0 inet static
#iface bond0 inet manual
#iface bond0 inet dhcp
# address 192.168.50.100
# netmask 255.255.255.0
# network 191.168.50.0
# broadcast 192.168.50.255
# gateway 192.168.50.200
# dns-nameservers 192.168.50.200
bond-slaves wlan0 wlan1
bond-mode balance-rr
bond-miimon 100
bond-updelay 200
bond-downdelay 200
An den auskommentierten Einträgen seht ihr was ich schon versucht habe, also die verschiedenen Kombinationsmöglichkeiten zwischen static, manual und dhcp.
Leider funktioniert keine davon.
Sobald das bond0-Interface in's Spiel kommt ist keine Verbindug mehr möglich.
Wo liegt der Fehler?
Ich habe es auch versucht mit
a) etc/modules
mit dem Eintrag bonding
b) /etc/modprobe.d/bonding.conf
mit dem Eintrag
alias bond0 bonding
options bonding mode=0
all_slaves_active=1
Geändert hat dies leider nichts.
Was mache ich falsch?
Vielen Dank schonmal.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 587014
Url: https://administrator.de/contentid/587014
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
13 Kommentare
Neuester Kommentar
Jetzt erst einmal die grundsätzliche Frage, kann ich mit 2 WLAN-Adaptern überhaupt Bonding betreiben?
Nein, das ist auf WLAN Adaptern grundsätzlich technisch nicht möglich.Der zugrundeliegende 802.3ad IEEE Link Aggregation Standard verbietet grundsätzlich das Bonding von Adaptern die unterschiedliche Link Speeds haben !
Der technische Grund dafür ist einfach, denn der 802.3ad Standard hat keinerlei interne Paket Reassembling Algorithmen. Sprich er kann Layer 2 Pakete die z.B. aufgrund unterschiedlicher Laufzeiten (Speeds) nicht mehr in der gesendten Reihenfolge am Ziel ankommen nicht mehr "zusammenbauen".
Da die Linkspeeds auf allen WLAN Ports bekanntlich aber immer hochdynamisch sind aufgrund der unterschiedlichen Feldstärke Situation ist ein Bonding deshalb auf WLAN Ports generell ausgeschlossen und führt zur Fehlfunktion.
Deshalb scheitert dein Vorhaben schon von Grund auf.
Solche simplen Basics sollte man aber als Netzwerker auch kennen.
Alle Grundlagen zum .ad Bonding auf dem RasPi findest du auch hier:
Netzwerk Management Server mit Raspberry Pi
Das würde ja dann genausowenig funktionieren.
Richtig. Jedenfalls wenn man damit versucht einen 802.3ad / LACP Bond zu realisieren.Die statischen Active / Passive Bonds funktionieren natürlich. Und das auch mit unterschiedlichen Infrastrukturen. Das ist ja auch kein Load Sharing sondern rein nur ein Backup.
Das Problem wird dort aber bei WLAN Adaptern sicher die Link Signalisierung sein.
Die Ausführungen von oben beziehen sich rein nur auf 802.3ad / LACP Bondings und nicht auf die anderen Varianten.
Ich meine aber modus 0
Sorry, hatte ich missverstanden. Stimmt, das ist statisches Round Robin. Hier muss man aber aufpassen mit den arp_interval und arp_ip_target Parametern das man die richtig setzt bei Mode 0https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7 ...
Kann man den bond nur in der /etc/network/interfaces konfigurieren?
Nein, nicht nur. Lies die Red Hat Dolu oben.dass bei mir dhcpcd nicht mehr funktioniert sobald ich irgend ein Interface mit iface wlan1 inet static konfiguriere.
Das ist normal und erwartbar. Wenn du statische IP Adressen vergibst in der /etc/network/interfaces ist der dhcpcd (DHCP Client) ja überflüssiger Unsinn.Benutze stattdessen immer statische Profile im dhcpcd !
# It is possible to fall back to a static IP if DHCP fails:
# define static profile
profile static_eth0
static ip_address=192.168.1.23/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
#
# fallback to static profile on eth0
interface eth0
fallback static_eth0
Im "Laptop" Mode findet man hier:
https://wiki.debian.org/Bonding
ein Beispiel mit Kupfer und WLAN. Ggf. greift das ja auch für 2 WLANs ?!
https://wiki.debian.org/Bonding
ein Beispiel mit Kupfer und WLAN. Ggf. greift das ja auch für 2 WLANs ?!