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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Fährnisse des Buildprozesses unter Windows

    17.07.2019

    Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...

    Weiterlesen...

Neueste Artikel

  • Datenvalidierung UTF8 mit BiDi-Steuerzeichen (TrojanSource 2.0)

    Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.

    Weiterlesen...
  • OpenStreetMap Navi als Docker-Container

    Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.

    Weiterlesen...
  • SQL-Aggregatfunktionen in SQLite als BeanShell-Scripts

    Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.