Open Source im professionellen Einsatz
Linux-Magazin 07/2014
© Dmitriy Karelin, 123RF.com

© Dmitriy Karelin, 123RF.com

Netzwerkverbindungen bündeln

Mehrfach hält besser

Nicht nur im Rechenzentrum kann eine ausfallsichere Verbindung nicht schaden. Mit Hilfe von Bonding, Hostapd und Dnsmasq lässt sich ein Laptop auch in einen Accesspoint verwandeln, der redundant über mehrere Fäden im Internet hängt.

1047

Bonding, also die Möglichkeit, mehrere Netzwerkgeräte in einem Interface zu bündeln, ist vor allem in Rechenzentren beliebt. Die Bonding-Technologie steckte bereits im Kernel 2.0.30 von 1997 und wurde im Laufe der Zeit sukzessive ausgebaut. Das neueste Stück Dokumentation stammt von 2011 und steht unter [1] zur Ansicht bereit.

Dank sieben verschiedener Bonding-Varianten (siehe Kasten "Die sieben Bonding-Modi") können Admins wahlweise Load Balancing betreiben oder für ihre Netze eine höhere Ausfalltoleranz erreichen: Stolpert ein Techniker im Data Center über ein Netzwerkkabel, läuft der Traffic über ein anderes Kabel im Bonding weiter.

Doch es gibt auch andere Szenarien, in denen Bonding nützlich wäre. Auf Konferenzen mit notorisch anfälligen WLAN-Netzwerken ließen sich die Laptops der Redner per Bonding zuverlässiger ans Internet binden. Veranstalter in einer Gegend mit eingeschränktem Internetempfang können UMTS-Verbindungen auf einem Rechner bündeln, der dann als Accesspoint (AP) zum Einsatz kommt.

Ein Bond fürs Leben

Im vorgestellten Bonding-Setup besteht der erste Schritt darin, ein Bündel aus zwei WLAN- und einem Ethernet-Client zu schnüren. Dabei hilft das zu installierende Paket »ifenslave-2.6« , das ein »sudo apt-get ifenslave-2.6« auf dem eingesetzten Lubuntu installiert. Dann bearbeitet der Netzwerker die Datei »/etc/network/interfaces« , wie es Listing 1 zeigt, wobei er am besten erst ein Backup der Originaldatei anlegt.

Listing 1

/etc/network/interfaces

01 auto eth0
02 iface eth0 inet dhcp
03    bond-master bond0
04    bond-primary wlan0
05    bond-mode active-backup
06
07 auto wlan0
08 iface wlan0 inet dhcp
09    wpa-conf /etc/network/wpa1.conf
10    bond-master bond0
11    bond-primary wlan0
12    bond-mode active-backup
13
14 auto wlan1
15 iface wlan1 inet dhcp
16    wpa-conf /etc/network/wpa1.conf
17    bond-master bond0
18    bond-primary wlan0
19    bond-mode active-backup
20
21 auto bond0
22 iface bond0 inet dhcp
23    bond-slaves none
24    bond-give-a-chance 20
25    bond-mode active-backup
26    bond-miimon 100

Die Einträge sind recht simpel gestrickt, Bonding funktioniert nach dem Master-Slave-Prinzip: Die Datei ordnet die Netzwerkgeräte dem »bond-master bond0« zu. Als Bonding-Modus kommt Modus 1 (»active-backup« ) zum Einsatz. Die WLAN-Clients holen sich die Zugangsdaten für den Accesspoint aus den Dateien »/etc/network/wpa1.conf« (Listing 2) und »/etc/network/wpa2 .conf« . Die Option »bond-slaves none« ist etwas kontra-intuitiv: Es geht darum, die Slaves nicht erneut zu starten, während das Gesamtgebilde »bond0« aktiviert wird. Der Parameter »bond-give-a-chance 20« lässt den WLAN-Geräten ein wenig Zeit, um sich mit den Accesspoints zu verbinden.

Listing 2

/etc/network/wpa1.conf

01 network={
02         ssid="SSID"
03         proto=RSN
04         key_mgmt=WPA-PSK
05         pairwise=CCMP TKIP
06         group=CCMP TKIP
07         psk="Passwort"
08         }

Schaut sich der Netzwerker nach einem Reboot über »/sbin/ifconfig« die vorhandenen Devices an, sollte der Anblick Abbildung 1 ähneln. Es fällt schnell auf, dass »bond0« , »eth0« , »wlan0« sowie »wlan1« die gleiche MAC-Adresse aufweisen. Ob diese Geräte online sind, verrät ein einfaches »cat /proc/net/bonding/bind0« . Die Ausgabe »MII Status = up« zeigt jeweils, ob ein Gerät aktiv ist. Pingt ein Admin nun eine beliebige Webadresse an, sollten auch dann weiterhin Antworten eintrudeln, wenn er das Ethernet-Kabel entfernt oder ein WLAN-Kernelmodul deaktiviert.

Abbildung 1: Nach dem Bonding-Prozess existiert nicht nur ein neues Device namens bond0, alle Netzwerk-Clients besitzen auch identische MAC-Adressen.

Im Testaufbau verfügt der Rechner über zwei WLAN-Clients und einen Ethernet-Zugang. Anstelle der WLAN-Clients lassen sich auch ein oder mehrere UMTS-Geräte einsetzen, falls keine Accesspoints zur Verfügung stehen und jemand zum Beispiel in einer schlecht angebundenen Gegend eine halbwegs zuverlässige Internetanbindung benötigt. Beispiele für Ubuntu und Debian gibt es etwa unter [2].

Selfmade AP

Im vorliegenden Szenario soll der Rechner mehrere Internetzugänge bündeln und zugleich als Accesspoint dienen. Um das zu erreichen, installiert der Anwender die Pakete »hostapd« , »dnsmasq« und »iw« . Dann wendet er sich zunächst der Datei »/etc/network/interfaces« zu. Hier gilt es, den WLAN-Client, der die AP-Funktionen übernehmen soll, aus dem Bonding herauszunehmen.

Dazu wird in Listing 1 der mit »auto wlan0« beginnende Abschnitt gemäß Listing 3 geändert. Das WLAN-Device »wlan0« erhält eine feste IP-Adresse aus einem anderen Subnetz, während »wlan1« im Verbund mit »eth0« die Verbindung ins Internet hält.

Listing 3

/etc/network/interfaces

01 # Update zu Listing 2
02 auto wlan0
03 iface wlan0 inet static
04    address 10.10.0.1
05    netmask 255.255.255.0

Die Authentifizierungssoftware Hostapd [3] ermöglicht es, »wlan0« als Accesspoint zu konfigurieren, der auch verschlüsselte Anmeldungen über WPA 2 Personal erlaubt. Über den »nl80211« -Treiber unterstützt Hostapd eine Reihe neuerer WLAN-Chips, für ältere stehen lediglich »HostAP« , »madwifi« und »prism54« als Treiber bereit.

Generell ist es für den Einsatz als Accesspoint von Vorteil, wenn Hardware mit stabilen und gut unterstützten Treibern zum Zuge kommt. Andernfalls treten bei den Zugriffen verschiedener Clients auf den Accesspoint Probleme auf. Troubleshooting erlaubt der Befehl:

tcpdump -nn -i wlanX

Er hilft dem Admin den Netzwerk-Traffic, der über das Device »wlanX« läuft, im Auge zu behalten und eventuelle Fehler zu analysieren.

Nach der Installation von »hostapd« legt der Anwender zunächst die WLAN-Karte fest, die als Accesspoint auftreten soll, im Beispiel »wlan0« . Wer sich für die Bedeutung der einzelnen Optionen interessiert, kann diese unter [4] nachlesen. Kurz gesagt wird hier »wlan0« zum Accesspoint mit dem Namen »SSID« gemacht. Rechner, die sich mit dem AP verbinden möchten, brauchen ein entsprechendes »Passwort« und nutzen eine sichere WPA-PSK-Verschlüsselung.

Verwendet der AP-Betreiber nur eine Ethernet-Karte für den Internetzugang, kann er in der Datei »/etc/network/interfaces« auch eine Bridge (»br0« ) anlegen. Die ergänzt er ebenfalls in Listing 4, indem er die Zeile »bridge=br0« nach »interface=wlan0« einträgt.

Listing 4

/etc/hostapd/hostapd.conf

01 interface=wlan0
02 driver=nl80211
03 ssid=SSID
04 hw_mode=g
05 channel=1
06 macaddr_acl=0
07 auth_algs=1
08 ignore_broadcast_ssid=0
09 wpa=3
10 wpa_passphrase=Passwort
11 wpa_key_mgmt=WPA-PSK
12 wpa_pairwise=TKIP
13 rsn_pairwise=CCMP

Damit der Hostapd-Daemon nach dem Start des Systems auch gleich automatisch losrennt, benötigt er noch eine entsprechende Anweisung in der Datei »/etc/default/hostapd« . Hier entfernt der Netzwerker das Kommentarzeichen vor der Zeile »DAEMON_CONF="/etc/hostapd/hostapd.conf"« .

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Netz und doppelter Boden

    Der Ausfall einzelner Netzwerkkomponenten darf Infrastrukturen nicht gefährden. Ethernet-Interfaces redundant über Bonding zu koppeln, fängt viele Probleme schon vorher ab.

  • Macht Schule

    Die Accesspoint-Software Hostapd ersetzt den WLAN-Router, wenn Bildungseinrichtungen mobile Klassenzimmer bekommen oder der Laptop des Lehrers in Afrika die OLPCs der Schüler verbindet.

  • Doppelt reißfest

    Wenn in einem hochverfügbaren Netzwerk eine Komponente ausfällt, darf dies die Funktionstüchtigkeit des Netzes nicht beeinträchtigen. Der Bonding-Kerneltreiber auf Servern schaltet dafür automatisch zwischen mehreren Netzwerk-Schnittstellen des Servers um, die an jeweils anderen Switches hängen.

  • Bastelstunde

    Wenn Sie Admin einer kleineren Firma mit zu klein und zu schwach gewordenen Fileserver sind, können Sie natürlich bei einem Anbieter eine neue Komplettlösung kaufen. Oder Sie nehmen nur die Hardware und machen den Rest mit freier Software und der folgenden Anleitung selbst.

  • Tooltipps

    Im Kurztest: Wkhtmltopdf 0.12.2-dev, Natrix 2.1, Replacez 0.1.0, Ansifilter 1.11, Hotspotd 0.1.5

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.