Wlan unter Linux
- Wlan-Security, neuer Angriff auf WEP: wep-cracking
Hardwareunterstützung
Die Hardwareunterstützung unter Linux ist gut bis befriedigend.
- am besten laufen Chipsätze der Firmen Atheros (madwifi-Treiber) und Ralink,
- schlecht laufen Broadcom, Marvell und TI-Chipsätze
Die Firmen Broadcom und TI verhalten sich unfreundlich gegenüber Linux, hier sollte man einen Kauf vermeiden, da wahrscheinlich nie alle Funktionen unterstützt und auch Probleme auftreten könnten.
Das Problem ist auch eher die Unterstützung von einzelnen Funktionen, die Verbindung zu einem Accesspoint geht meist.
Besonders der ad-hoc-Modus ist ein Problem, da er relativ schwer zu implementieren und selten gebraucht wird.
Links
- Wireless LAN resources for Linux: gute Übersichtsseite zu vielen Chipsätzen
Konfiguration
grafische Tools
Natürlich existieren in den unterschiedlichen Distribution auch verschiedene grafische tools zum konfigurieren, z.B. der kwifimanager
oder unter Ubuntu der NetworkManager von Gnome.
WEP
ACHTUNG: WEP ist nur noch wenig sicherer als gar keine Verschlüsselung, sollte nicht benutzt werden!
WLAN: Netzwerkkonfiguration
Beispieleintrag:
iface wlan0 inet dhcp wireless-essid BeispielID
- WLAN Verbindung herstellen:
Hat man ein passendes Netzwerk gefunden, merkt man sich die ESSID (die Kennung des Accesspoints) und verbindet sich zu diesem:
iwconfig wlan0 essid NAME key WEP-SCHLÜSSEL
Wenn man im Netz DHCP zur dynamischen Zuweisung von IP-Adressen verwendet, gibt man gleich danach
iwconfig wlan0 dynamic
ein.
WPA/WPA2
Vorbereitung: WPA-Zugangsdaten kodieren
wpa_passphrase guest
wpa_passphrase guest # reading passphrase from stdin testtest network={ ssid="guest" #psk="testtest" psk=79c0021c05f52257a1af9cb2fb6944e1ffa970f5a18fb71f2f69955d2b10f395 }
- entsprechende Tools der verwendeten Distribution verwenden
- einfacher Eintrag mit dynamsicher IP:
allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid guest wpa-psk 79c0021c05f52257a1af9cb2fb6944e1ffa970f5a18fb71f2f69955d2b10f395
- komplexer Eintrag mit fester IP:
auto ath0 iface ath0 inet static # For linux >= 2.6.14 and recent madwifi (>=r1500) use 'wext', otherwise use 'madwifi' pre-up /sbin/ifconfig ath0 mtu 1492 up wpa-driver wext wpa-ssid guest wpa-bssid 00:28:3b:5g:26:65 wpa-psk 79c0021c05f52257a1af9cb2fb6944e1ffa970f5a18fb71f2f69955d2b10f395 # ? wireless-essid ************* wpa-ap-scan 1 wpa-scan-ssid 1 address 192.168.1.7 netmask 255.255.255.0 gateway 192.168.1.1
Debian: Siehe den Abschnitt »Hidden ssids« in /usr/share/doc/wpasupplicant/README.Debian.gz
- Andere Möglichkeiten (wenn man roaming-modus benötigt): wpa_supplicant
Monitor-Modus
Der Monitor-Modus ermöglicht die Aufzeichnung aller Daten die die Karte „sieht“ aber im Gegensatz zum normalen Modus nicht unbedingt für die Karte bestimmt sein müssen.
Bevor man eine Wlankarte in den Monitor-Modus umschalten kann, muss diese auch aktiviert sein:
ifconfig ath0 up
anstatt ath0 sollte die entsprechende Wlan-Schnittstelle angegeben werden.
Dann wird die Karte auf den Monitor-Modus auf einem bestimmten Kanal (hier 13) gestellt:
iwconfig ath0 mode Monitor channel 13
Befehle
iw
Das Paket iw bietet Konfigurationsmöglichkeit und Information zu Wlan-Schnittstellen.
iw phy INTERFACE info
Supported interface modes: * IBSS * managed * AP * AP/VLAN * monitor * mesh point
iwconfig
Konfiguriert ein WLAN-Schnittstelle („Interface“) Optionen siehe
man iwconfig
iwlist
Nach Netzwerkschnittstellen zu suchen kann man mit einem einfachen
iwlist scan
Dann werden für Wlan-Schnittstellen auch die unterstützten Geschwindigkeiten ausgegeben, ansonsten kann man auch in der Datei /etc/network/interfaces
nachschauen.
iwpriv
Mit iwpriv gibt man private Parameter für wlan an.
Windows-Treiber laden
Windows-Treiber kann man mit Hilfe von
- ndiswrapper (kostenlos, GPL) laden. Dies sollte man allerdings nur im Notfall machen, da es von allen Möglichkeiten die ungünstigste ist.
Der Vorgang geht in etwa so (am Beispiel des rtl8187-Treibers) :
- Originaltreiber von der CD kopieren (bitte nur die Win98/ME Treiber verwenden), benötigt werden die Dateien netrtuw.inf und rtl8187.sys
- ndiswrapper installieren: apt-get install ndiswrapper-utils
- Alten Treiber entladen: rmmod rtl8187
- Alten Treiber auf die Blacklist setzen:
vi /etc/modprobe.d/blacklist
. Folgende Zeile hinzufügen: blacklist rtl8187
- Netzwerk konfigurieren:
vi /etc/network/interfaces
Beispiel:
auto wlan0 iface wlan0 inet dhcp wireless-key schluessel wireless-essid funknetz
- In Verzeichnis der Windows-Treiber wechseln und Treiber mit Ndiswrapper ladeny
sudo ndiswrapper -i Netrtuw.inf sudo ndiswrapper -m sudo modprobe ndiswrapper
- Ndiswrapper bei jedem Start laden lassen:
vi /etc/modules
Folgendes Wort in einer eigenen Zeile hinzufügen: ndiswrapper
- Netzwerk neustarten:
sudo /etc/init.d/networking restart
- Erfolg kontrollieren: iwconfig oder auch mal mit
iwlist wlan0 scan
testen
Anleitung nach: Forumseintrag von Ubuntuusers.
Problembehebung
RaLink RT2500 unter Feisty
RaLink RT2500 unter Feisty geht mit dem Network-manager nicht. Lösung.
Broadcom-Firmware
Das laden von Wlan-Treibern mit Broadcom-Chipsätzen schlägt unter Ubuntu (bei mir 7.04) mit der Meldung:
bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.
fehl (Ausgabe von dmesg
).
Lösung: mit dem bcm43xx-fwcutter
Programm kann man aus Windows-Treibern die benötige Firmware extrahieren. Dazu versucht das Programm die Datei wl_apsta.o
von http://boredklink.googlepages.com/wl_apsta.o runterzuladen, nur das eben die URL nicht stimmt.
Stattdessen kann man die URL http://svit.epfl.ch/stuff/wl_apsta.o benutzen und in der Datei /etc/modules
am Ende bcm43xx eintragen.
Davor sollte man noch
sudo bcm43xx-fwcutter -w /lib/firmware/2.6.15-27-386 /home/USER/ORT_VON/wl_apsta.o
ausführen.
[HowTo] HP/Compaq Nx6110 und Broadcom BCM4318 Rev. 02 unter Dapper Suse: Suse: Wlan bcm4318 https://answers.launchpad.net/ubuntu/+question/329