Login
Newsletter
Werbung

Mi, 16. April 2014, 15:00

WLAN unter Linux: Grundlagen

Ein WLAN ist unschlagbar, um Rechner mit wenig Aufwand über kurze Strecken zu vernetzen. Dieser Artikel erklärt, wie man drahtlose Netze unter Linux einrichtet und optimiert.

Hinter Wireless LAN steht eine Sammlung von Standards der IEEE-802.11-Spezifikation, die ihre Entstehung den gelockerten Verordnungen für öffentlich nutzbare Frequenzbereiche verdankt: 1985 erlaubte die US-Regulierungsbehörde FCC die lizenzfreie Nutzung von »schmutzigen« Frequenzbändern. Die technische Gestaltung von Wireless LAN liegt heute beim Berufsverband der Elektrotechnik- und Elektronik-Ingenieure (IEEE) und ist dort Aufgabe der Arbeitsgruppen zu 802.11. Deren Spezifikationen unterliegen einer stetigen, aber langsamen Weiterentwicklung. Zusätzlich gibt es mit der WECA (Wireless Ethernet Compatibility Alliance) eine Zertifizierungsstelle, die über die Einhaltung gemeinsamer Standards wacht und konformen Geräten das Wifi-Logo verleiht.

Bei der Entwicklung von Wireless- Chipsätzen geht es Herstellern um den Massenmarkt, der 1999 zu Zeiten des ersten populären WLAN-Standards 802.11b klar von Windows dominiert wurde. Ob eine WLAN-Karte unter Linux funktionierte, war Glücksache, denn offizielle Treiber gab es selten. Chipsatz-Treiber mussten über Reverse Engineering entwickelt werden, und Linux wurde dabei aufgrund von rechtlichen Bedenken der Kernel-Entwickler zeitweise sogar von OpenBSD überholt. Erst in den letzten fünf Jahren beteiligten sich namhafte Hardware-Hersteller wie Intel, Broadcom, Qualcomm, Realtek und Marvell an der WLAN-Chipsatz-Unterstützung des Linux-Kernels.

Python-Tool iwScanner: Das Programm läuft auf allen Distributionen mit Python-Interpreter. Es arbeitet als Front-End für den Befehl iwlist und zeichnet einen Graphen auf

David Wolski

Python-Tool iwScanner: Das Programm läuft auf allen Distributionen mit Python-Interpreter. Es arbeitet als Front-End für den Befehl iwlist und zeichnet einen Graphen auf

Aufbau eines Funknetzwerks

Die bisherigen Sub-Standards 802.11a/ b/g/n/ac und deren Implementierung unter Linux unterstützen bei Netzwerkverbindungen zwei Modi: Infrastruktur und Ad-hoc-Verbindungen. Im WLAN greifen Teilnehmer im Infrastruktur- Modus über einen zentralen Access Point auf das Netzwerk zu. Dieser sendet an alle Geräte in Reichweite etwa zehnmal in der Sekunde einen Beacon – den Herzschlag des Netzwerks. Dabei handelt es sich um ein passives Grundsignal, das Teilnehmern die Verfügbarkeit eines Funknetzwerks mitteilt, ferner Netzwerknamen (SSID), MAC-Adresse des Access Points, Angaben zur Übertragungsrate und Verschlüsselungsmethode.

Der Ad-hoc-Modus dient dazu, ohne zentralen Zugangspunkt direkt eine Verbindung zu einem anderen Teilnehmer aufzubauen, etwa zum direkten Datenaustausch oder auch für die gemeinsame Nutzung einer Internetverbindung. Die Koordination aller Details wie Übertragungsrate und Verschlüsselung machen dabei beide Teilnehmer direkt unter sich aus und informieren sich auch nicht über andere Geräte im Netzwerk.

Linux bietet für die WLAN-Konfiguration neben den Gerätetreibern, dem Netzwerk-Subsystem zur Authentifizierung über WPA/WPA2 einen zusätzlichen Client, den wpa_supplicant, der dafür zuständig ist, den Schlüssel regelmäßig zum Access Point zu schicken. Zur Konfiguration von wpa_supplicant und den WLAN-Parametern sind unter Linux drei Methoden verbreitet: Der grafische NetworkManager bietet unter GTK-basierten Desktops (Gnome, Unity, XFCE) eine komfortable Konfiguration der WLAN-Verbindung, und unter KDE übernimmt diese Aufgabe die Variante KNetworkmanager. Dies ist bei den verbreiteten Distributionen der Standard. Daneben gibt es das schlanke grafische Tool Wicd, das optional installiert werden kann und als Python-Tool unabhängig von der Desktopumgebung ist, aber eine Deinstallation des NetworkManagers voraussetzt.

WLAN-Übersicht mit LinSSID: Um zu analysieren, welche Funknetzwerke mit welcher Signalstärke auf welchem Kanal in Reichweite liegen, eignet sich das noch junge LinSSID unter Debian, Ubuntu sowie OpenSuse

David Wolski

WLAN-Übersicht mit LinSSID: Um zu analysieren, welche Funknetzwerke mit welcher Signalstärke auf welchem Kanal in Reichweite liegen, eignet sich das noch junge LinSSID unter Debian, Ubuntu sowie OpenSuse

Der klassische Weg, manuell auf der Kommandozeile mit den wireless-tools und seinen Werkzeugen iwconfig und iwlist die WLAN-Parameter zu definieren, ist für Desktop-Nutzer kaum mehr von Bedeutung, zumal der NetworkManager inzwischen auch fortgeschrittene Optionen bietet. So kann der NetworkManager den Linux-Rechner auch in einen Hotspot für Ad-hoc-Verbindungen verwandeln. Unterstützt wird bei als Verschlüsselung momentan lediglich das ältere, unsichere WEP-Verfahren. WPA gibt es für den eigenen Hotspot nur über die manuelle Konfiguration über die wireless-tools.

Router oder Access Point einrichten

Für die erste Konfiguration des Routers muss eine Verbindung mit einem Ethernet-Kabel zwischen Linux-PC und Router (beziehungsweise Access Point) an einem beliebigen LAN-Port hergestellt sein. Denn nur so bekommen Sie von einem gerade erst ausgepackten Gerät garantiert eine IP-Adresse über dessen DHCP-Server. Die Administrationsoberfläche des WLAN-Routers oder Access Points erreichen Sie über den Webbrowser. Um die Adresse herauszufinden, geben Sie in einem Terminal-Fenster das folgende Kommando ein:

ip route show

In der ersten Zeile der Ausgabe ist hinter »default via« die IP-Adresse des Gateways angegeben, der im Heimnetzwerk der WLAN-Router/Access Point ist. Zu dieser Adresse verbinden Sie sich im Browser per HTTP. Das voreingestellte Standard-Passwort für die Weboberfläche finden Sie im Hersteller- oder Provider-Handbuch.

WPA oder WPA2: Was ist sicherer?

Einer der ersten Verschlüsselungsstandards war WEP. Das Verfahren gilt als unsicher und kommt deshalb für das eigene WLAN nicht in Frage. Heute ist WPA beziehungsweise WPA 2 Pflicht. Der Unterschied von WPA 2 zu WPA liegt in den vorgeschriebenen Verschlüsselungsstandards: AES (Advanced Encryption Standard) von WPA 2 gilt als sehr sicher, das ältere TKIP (Temporal Key Integrity Protocol) von WPA ist mit dem verwendeten RC4-Verschlüsselungsverfahren dagegen nicht ganz so robust. Ideal ist also WPA 2 mit AES. Wenn dies bei Altgeräten nicht zur Verfügung steht, ist auch WPA mit der oft angebotenen AES-Erweiterung akzeptabel. Bei schnellen 802.11n-Netzwerken muss gemäß Spezifikation sowieso AES verwendet werden, ansonsten schaltet der Router automatisch einen Gang zu 802.11g herunter. Der gemischte Modus WPA/WPA mit TKIP plus AES ist dann also nicht empfehlenswert.

Abstand halten: Einen freien Kanal finden

Damit sich benachbarte WLANs nicht stören, ist der Frequenzbereich in Kanäle aufgeteilt: Das 2,4-GHz-Band ist in Europa in dreizehn Kanäle aufgeteilt, mit je 20 MHz Breite. Die Funkkanäle liegen eng nebeneinander, und Sie sollten zu fremden WLANs in Reichweite mindestens fünf Kanäle Abstand halten. Funkt also beispielsweise ein WLAN auf Kanal 1, sollte Ihr Router Kanal 6 benutzen, da 802.11b/g mit einer Kanalbandbreite von 20 MHz arbeitet. Bei 802.11n kann optional auch eine Bandbreite von 40 MHz genutzt werden, und in diesem Fall sollten es zehn Kanäle Abstand sein. In dicht bebauten Gegenden und in mehrstöckigen Wohnhäusern ist das oft nicht möglich, da sich zu viele WLANs auf dem Frequenzband drängeln. Dann sollten Sie das eigene WLAN auf den gleichen Kanal legen wie das nächste, fremde WLAN mit dem stärksten Signal. Denn in diesem Fall greift die Fehlerkorrektur moderner Router deutlich besser als bei knapp überlappenden Kanälen. Das Programm LinSSID zeigt alle Netzwerke in Reichweite mit Kanal und Sendeleistung unter Debian, Ubuntu sowie OpenSuse. DEB-Pakete gibt es auf der Projektwebseite, und der Open Suse Build Service liefert inoffizielle RPM-Pakete. Die Frage nach dem root-Passwort nach dem Start von LinSSID können Sie ignorieren, da es sich dabei um einen Fehler handelt. Für andere Distributionen wie Fedora eignet sich der iwScanner, da es sich um ein Python-Programm handelt, das keine Kompilierung erfordert.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung