Redundante Netzwerkschnittstellen für Laptops

vorhergehende Artikel in: Linux
18.02.2022

Ich hatte in eine meiner letzten Linksammlungen mehrere Links zum Thema "Netzwerkbonding" aufgenommen -ich wollte mich einmal damit beschäftigen, jedoch eigentlich aus einem ganz anderen Grund...

Eigentlich sollte es bei der Beschäftigung mit Bonding darum gehen, auszuloten, inwiefern man zwischen zwei PCs mit jeweils mehreren Netzwerkkarten einen höheren Durchsatz erreichen kann, wenn man mehrere GBit Adapter zu einer Schnittstelle zusammenfasst.

Ich wurde recht schnell ernüchtert - denn obwohl es unter Linux sehr einfach ist, ein solches Bonding in Betrieb zu nehmen, hilft es mir beim Szenario der Datenübertragung zwischen zwei PCs nicht weiter: Es existieren zwar verschiedene Betriebsarten für das Bonding, jedoch funktioniert keine davon so wie ich mir das wünschte.

Bei der Recherche zu diesem Thema stieß ich aber auf eine weitere Anwendungsmöglichkeit für das Bonding, die mein Interesse weckte: active-backup. Die Idee: Man fasst mehrere Schnittstellen an einem Laptop zu einer zusammen (meistens wird das WiFi und LAN sein) und kann dann mit dem Laptop die Vorteile des schnelleren GBit-Netzwerkes nutzen, so lange man ein Netzwerkkabel eingesteckt hat - möchte man auf die Couch oder ins Ankleidezimmer (Insiderjoke!) wechseln, kann man einfach das Kabel abziehen und der Netzwerkverkehr läuft ab diesen Zeitpunkt über die WiFi-Schnittstelle. Kommt man wieder in die Nähe einer Netzwerkdose und steckt wider einLAN-Kabel ein, wird ab diesem Zeitpunkt wieder die schnellereSchnittstelle genutzt.

Das elektrisierte mich: Ich machte auch sofort einen Plan, was alles zu tun wäre und welche Anforderungen die fertige Lösung bei mir erfüllen sollte:

  • Netzwerkmanager deaktivieren
  • systemd-resolved deaktivieren
  • Eintragen der redundanten DNS-Server
  • Bündeln der LAN-Schnittstelleund des WiFi mit Präferenz für LAN
  • Einrichten einer Bridge und Verknüpfen des Bonding Interfacemit dieser (wichtig für Virtualisierung mittels VirtualBox oder LXC
  • Einrichten mehrerer potentieller WiFi Netzwerke für unterschiedliche Standorte, aus denen automatisch ein passendes gewählt werden sollte.

Alle angegebenen Punkte konnte ich über entsprechende Anpassungen in /etc/network/interfaces allein realisieren - bis auf den letzten: Hierzu musste ich die WiFi-spezifischen Angaben aus der Datei in eine namens /etc/wpa_supplicant/wpa_supplicant.conf auslagern, die in /etc/network/interfaces referenziert wird.

Hier zunächst /etc/network/interfaces

auto lo
iface lo inet loopback

auto enp1s0f1 iface enp1s0f1 inet manual bond-master bond0 bond-primary enp1s0f1 bond-mode active-backup

auto wlp2s0 iface wlp2s0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf bond-master bond0 bond-primary enp1s0f1 bond-mode active-backup wpa-bridge bond0

iface haus inet manual

iface garten inet manual

auto bond0 iface bond0 inet manual bond-slaves none bond-give-a-chance 20 bond-primary enp1s0f1 bond-mode active-backup bond-miimon 100

auto br0 iface br0 inet dhcp bridge_ports bond0

Und nun noch /etc/wpa_supplicant/wpa_supplicant.conf

network={
        ssid="xxxx"
        scan_ssid=1
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk="fourecks"
        id_str="haus"
        priority=5
}
network={
        ssid="yyyy
        scan_ssid=1
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk="yyyyyyyy"
        id_str="garten"
        priority=4
}

Artikel, die hierher verlinken

Netzwerk im Garten

27.06.2022

Ich habe hier bereits über erste Versuche zu Networkbonding berichtet - Nun, da die Tagestemperaturen langsam wieder unerträglich werden habe ich mich nochmals damit beschäftigt

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.