WLAN einrichten unter Debian mit WPA
 

Ein verschlüsseltes WLAN-Netzwerk unter Debian einzurichten ist dank des Pakets wpasupplicant kein Problem mehr. Ich beschreibe hier die Vorgehensweise für die Kommunikation mit der Fritz-Box. Ob das korrekte Treiber-Modul für den WLAN-Chip geladen ist und damit WLAN überhaupt einsatzbereit, kann man mittels
# lspci -v
überprüfen. Steht dort unter dem wireless-Device und unter "kernelmodul in use" ein Kernelmodul, siehts gar nicht schlecht aus. Weitere Auskünfte gibt
# cat /proc/net/dev
ist dort neben dem eth0-Device auch noch eine wlan0 Schnittstelle aufgelistet, ist der Grundstein für den wlan-Betrieb gelegt. Die weitere Vorgehensweise geschieht in 3 Schritten:

1. Router konfigurieren

Zuerst ruft man das Konfigurationsmenü des Routers auf. Es versteht sich von selbst da WLAN noch nicht funktioniert, daß ein Netzwerkkabel an den Router angeschlossen sein muß und die Netzwerkkarte konfiguriert ist. Mittels eines Browsers wie Iceweasel ruft man mit Hilfe der I.P. des Routers dessen Konfigurations-Menü auf. Bei einer Fritz-Box ist die I.P. in der Regel 192.168.178.1.

Nun klickt man sich über Einstellungen, WLan und Sicherheit zu den Einstellungen vor aktiviert die Verschlüsselung WPA und stellt die Verschlüsselungs-Methode auf WPA-TKIP. Anschließend vergibt man den WPA-Key, also ein frei erfundenes Paßwort, welches zur Verschlüsselung benutzt wird und klickt auf Übernehmen. Ein weiterer Klick auf den Einstellungs-Dialog über Sicherheit gibt uns Zugriff auf die SSID (der Name des WLAN-Netzwerks), welche wir später herauskopieren können. Damit ist der Router soweit konfiguriert.

2. wpa_supplicant.conf erstellen

Sollte das Paket wpasupplicant noch nicht installiert sein, sollte man das mit einem
# apt-get install wpasupplicant
tun. Anschließend erstellt man die Konfigurations-Datei für wpasupplicant, welche unter /etc/wpa_supplicant.conf liegen kann oder auch wahlweise unter /etc/wpa_supplicant/wpa_supplicant.conf. Der Ort ist egal, da wir später den korrekten Pfad sowieso noch in der Datei interfaces angeben.

Möchte man die Datei nicht völlig neu schreiben, kann man auf vorgefertigte Beispieldateien zurück greifen, welche unter
/usr/share/doc/wpasupplicant/examples/
liegen. Diejenige, welche wir benötigen nennt sich wpa-psk-tkip.conf, also ein einfaches
# cp -v /usr/share/doc/wpasupplicant/examples/wpa-psk-tkip.conf /etc/wpa_supplicant.conf
reicht aus und wir haben unsere Konfigurations-Datei, in welche wir nur noch unsere vorher festgelegten Daten vom Router eintragen müssen. Also öffnen wir die Datei mit einem Editor unserer Wahl (ich nehme gern den simplen nano)
# nano /etc/wpa_supplicant.conf
und ändern folgende Einträge ab:

# WPA-PSK/TKIP

ctrl_interface=/var/run/wpa_supplicant

network={

ssid="Unsere SSID kopiert aus dem geöffnetem Router-Fenster"
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP
group=TKIP
psk="Unser WPA-Key/Paßwort"

}

3. Datei interfaces anpassen

Und schließlich als letzten Schritt, müssen wir noch die Datei /etc/network/interfaces anpassen und die wlan-Schnittstelle definieren. Dazu öffnen wir auch diese Datei mit einem Editor und tragen ans Ende folgendes ein:

auto wlan0
iface wlan0 inet static

address 192.168.178.20
netmask 255.255.255.0
gateway 192.168.178.1
dns-nameservers 192.168.178.1

# wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf

Natürlich kann man die WLAN-Schnittstelle auch mit DHCP einrichten, aber ich habe hier die Variante mit statischer I.P.-Adresse gewählt. Die Option wpa-driver ist in so fern wichtig, daß die Schnittstelle natürlich nur mit dem korrekten Treiber funktioniert. Läßt man wie in unserer Datei die Angabe weg, wird standardmäßig der wext-Treiber verwendet, welcher für die meisten WLAN-Schnittstellen funktioniert. Dieser wird auch standardmäßig gewählt, wenn man einen falschen Treiber angegeben hat. Eine Liste der möglichen Treiber:

hostap..................Host AP driver (Intersil Prism2/2.5/3)
madwifi................MADWIFI 802.11 support (Atheros, etc.)
atmel....................ATMEL AT76C5XXx (USB, PCMCIA)
wext.................... Linux wireless extensions (generic)
ndiswrapper......Linux ndiswrapper
ipw.......................Intel ipw2100/2200 driver
wired...................wired Ethernet driver

Die Angabe des Treibers sollte vor der Angabe der wpa-conf erfolgen!

Und zum Abschluß muß man lediglich noch die Schnittstelle mit
# ifup wlan0
hochfahren und die eth0-Schnittstelle mit
# ifdown eth0
runterfahren und wenn alles geklappt hat, leuchtet das WLan-Symbol auf und man hat eine Verbindung.

ACHTUNG!: wenn man die eth0 Schnittstelle nicht runter fährt, bekommt man über wlan keine Verbindung! Möchte man beide Schnittstellen gleichzeitig betreiben um mal mit Kabel, mal ohne zu surfen, ist dies entweder über eine sogenannte Bridge realisierbar oder über ifplugd und entsprechende Skripte hinzukriegen. Im letzteren Fall überwacht der ifplugd Dämon ob ein Kabel an eth0 eingesteckt wird oder entfernt wird und führt ein entsprechendes Skript aus, welches die Schnittstellen dann je nach Aktion mit ifup und ifdown automatisch hoch und runter fährt. Sehr kompliziert! Für die Dauerhafte Deaktivierung von eth0 einfach in der Datei interfaces vor auto eth0 ein Rautezeichen setzen und somit den automatischen Start von eth0 beim hochfahren deaktivieren.

Noch zur Ergänzung:

Um die Verschlüsselung eines WLans herauszufinden, kann man den Befehl
# iwlist scanning
benutzen.
Eine Liste der WLan Schnittstellen gibt
# iwconfig
aus.