WLAN Einrichten
Review: Dieser Artikel ist für das Review freigegeben.
|
Einführung
Dieser Artikel soll eine kleine Hilfestellung für die Einrichtung eines WLAN Netzwerkes geben. Bei der Einrichtung empfiehlt es sich, ein kabelgebundenes Netzwerk verfügbar zu haben, um ggfs. in der Lage zu sein, fehlende Pakete nachzuinstallieren. Dies gilt insbesondere dann, wenn man sein Debian System gerade neu aufsetzt.
Wird die WLAN Karte bereits erkannt?
Manche WLAN-Netzwerkkarten werden automatisch erkannt. Dies kann man feststellen, indem man sich alle Netzwerkkarten bzw. alle WLAN-Karten anzeigen läßt mittels (iw befindet sich im Paket [1] und muss evtl. nachinstalliert werden):
user@debian:~$ iw dev
Enthält die Ausgabe dann einen Eintrag, der wlan0 oder wlan1 usw. enthält, so wurde die Netzwerkkarte bereits vom System erkannt.
phy#0 Interface wlan0 ifindex 2 wdev 0x1 addr 08:d5:c0:a5:55:86 type managed channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
Hier ist wlan0 die Netzwerkkarte.
Anderes Beispiel:
root@piranha:~# iw dev phy#0 Interface wlx00265a872dbb ifindex 3 wdev 0x1 addr 00:26:5a:87:2d:bb type managed txpower 0.00 dBm
Erkennung der WLAN Karte
Ist die Netzwerkkarte noch nicht erkannt, sollte man zunächst einmal feststellen um welche Hardware es sich handelt. Dies geschieht (für eingebaute) Karten z. B. mittels:
user@debian:~$ lspci -vv
(Bei USB-Karten ist natürlich anstelle von lspci ein lsusb abzusetzen.)
Bei mir enthält die Ausgabe dann z.B. folgenden Eintrag für die eingebaute Netzwerkkarte:
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01) Subsystem: Dell Wireless 1397 WLAN Mini-Card Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 17 Region 0: Memory at f8000000 (64-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: b43-pci-bridge
Eine Suche im Internet (oder z.B. in den Kernel-Sourcen) ergibt dann in meinem Fall, das ich das Kernel-Modul b43 laden muss. Dies geschieht mit dem Befehl:
root@debian:~# modprobe b43
Firmware nachladen
Hinweis: Einige WLAN-Karten/USB WLAN Sticks benötigen eine Firmware. Dazu muss man vorher das Paket firmware-linux oder firmware-linux-nonfree installieren. Bei unfreien Treibern muss dazu unter Umständen noch die Paketliste angepasst werden (siehe Sources.list ) |
Ob die Karte erkannt wurde, kann man dann noch einmal mittels ip link show oder iw dev kontrollieren.
Erkennung eines USB WLAN Sticks
Der D-Link WLAN Stick wurde erst erkannt nachdem der unfreie Treiber rt2870.bin
in /lib/firmware/
installiert wurde.
user@debian:~$ lsusb -vv
Bus 001 Device 002: ID 07d1:3c0f D-Link System AirPlus G DWL-G122 Wireless Adapter(rev.E1) [Ralink RT2070] Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x07d1 D-Link System idProduct 0x3c0f AirPlus G DWL-G122 Wireless Adapter(rev.E1) [Ralink RT2070] bcdDevice 1.01 iManufacturer 1 Ralink iProduct 2 11g Adapter iSerial 3 1.0 bNumConfigurations 1 Configuration Descriptor: ...
Einbinden in das Netzwerk
Für das Einbinden der Karte in ein bestehendes WLAN-Netzwerk stehen im wesentlichen 3 Wege zur Verfügung:
- Komplett manuell: hier nutzt man die Befehle iw, ip und wpa_supplicant
- Der Debian Weg über ifupdown und Einträgen in der Datei /etc/network/interfaces
- Über einen Netzwerk-Manager
Im Heimnetzwerk sollte man auf jeden Fall eine Verschlüsselung mittels WPA2 einrichten. Für die Einrichtung einer WPA(2) verschlüsselten Verbindung benötigt man das Paket wpasupplicant.
In Hotels und Restaurants hat man häufig unverschlüsselte WLANs. Hier sollte man entsprechende Schutzmaßnahmen nicht vergessen.
Manuelle Einrichtung der Netzwerkverbindung
Die manuelle Einrichtung ist eigentlich untypisch, dient aber sicherlich dem Verständnis der Konfiguration, die bei den anderen Einrichtungen vorzunehmen sind.
Manuelles Aufbauen einer unverschlüsselten Verbindung
Zunächst muss die Karte aktiviert werden:
root@debian:~# ip link set dev wlan0 up
Bei einer unverschlüsselten Verbindung (z.B. im Restaurant) benötigt man zunächst mal die Informationen zu den vorhanden WLAN Access Points:
root@debian:~# iw dev wlan0 scan
In der Ausgabe sind dann alle vorhandenen Netzwerke aufgeführt.
Über iw kann man dann die Informationen aus dem Scan in seiner Netzwerkkarte einstellen.
root@debian:~# iw dev wlan0 connect "MEIN_HOME_ROUTER"
(Ggfs. muss man noch weitere Dinge wie channel, freq, ... einstellen.)
Dann kann man sich auch hier eine IP Adresse zuweisen lassen.
root@debian:~# dhclient -v wlan0
Manuelles Aufbauen einer WPA verschlüsselten Verbindung
Zunächst mal erzeugt man sich eine Konfigurationsdatei für WPA, die die ESSID und den Schlüssel enthält:
root@debian:~# wpa_passphrase <ROUTER_SSID> <router_password> >/root/wpa.conf
Hinweis: Die bei uns weit verbreitete FRITZ!Box hat ein shell Sonderzeichen in der SSID. Daher zuerst einen Platzhalter z.B. "FRITZ Box" angeben und dann in wpa.conf nacheditieren. |
Dann baut man die verschlüsselte Verbindung auf:
root@debian:~# wpa_supplicant -B -i wlan0 -c /root/wpa.conf
Nun muss man warten bis die Verbindung aufgebaut wurde. Das dauert so ca. 1-5 Sekunden. Ob die Verbindung aufgebaut wurde sieht man wenn die Ausgabe von iw dev wlan0 link
von Not connected.
auf Connected to [MAC-DES-AP] (on wlan0)
wechselt.
Schliesslich besorgt man sich noch IP-Adresse, Nameserver und Routing Information über DHCP:
root@debian:~# dhclient -v wlan0
Hinweis: Bei versteckten Netzwerken muss der network-Block in der /root/wpa.conf zusätzlich diesen Parameter enthalten "scan_ssid=1" |
WLAN Einrichtung in der /etc/network/interfaces
Eine Einrichtung der Netzwerkkarte in der /etc/network/interfaces
ist sicherlich dann sinnvoll, wenn man nicht dauernd in unterschiedlichen
Netzwerken unterwegs ist, sondern nur ein oder sehr wenige WLAN Netze nutzt.
Für eine WPA Verbindung zu einem WLAN Access Point mit der ESSID MEIN_WLAN_ROUTER und Passwort password würde der Eintrag lauten:
iface wlan0 inet dhcp wpa-ssid MEIN_WLAN_ROUTER wpa-psk ef7961eb7e82c8577f946080343238171cc3b093e66b0dbf7d18d12cf3684b4f
Den Eintrag für wpa-psk kann man wie oben beschrieben ermitteln mittels
root@debian:~# wpa_passphrase MEIN_WLAN_ROUTER password
Wenn man die WPA Informationen direkt in die /etc/network/interfaces schreibt, darf nur root diese Datei lesen können:
root@debian:~# chmod 600 /etc/network/interfaces
Alternative: wenn man wie oben beschrieben die WPA-Konfiguration in /root/wpa.conf
abgelegt hat, so kann man darauf verweisen
iface wlan0 inet dhcp wpa-conf /root/wpa.conf
Die Netzwerkverbindung kann man dann mittels:
root@debian:~# ifup wlan0
aufbauen und mit
root@debian:~# ifdown wlan0
wieder abbauen.
Umschalten zwischen Netzwerken
Wer unterschiedliche Netze mittels einer Konfiguration in /etc/network/interfaces umschalten möchte, sollte in der Datei mit Aliasen arbeiten:
iface wlan0-home inet dhcp wpa-ssid MEIN_HOME_ROUTER wpa-psk f76edcba8a135e05ecb637dcd845bed373cdb960da77c4db4f7d30baf9ae7d73 iface wlan0-work inet dhcp wpa-ssid MEIN_WORK_ROUTER wpa-psk 935c68b64ea476dde70a676a4de9fdd08d5ef304fc1ca3f9916fc76197e76455
Das Aufbauen der Verbindung geht dann mittels
root@debian:~# ifup wlan0=wlan0-home
bzw.
root@debian:~# ifup wlan0=wlan0-work
Mittels ifscheme kann man die aktuelle manuelle Einstellung ein wenig vereinfachen. guessnet ermöglicht es, den entsprechenden Alias automatisch auszuwählen.
Nutzung eines Netzwerkmanagers
Die Nutzung eines Netzwerkmanagers macht in meinen Augen insbesondere dann Sinn, wenn man häufig in unterschiedlichen Netzen (Home, Work, Kunde, Hotel, ...) unterwegs ist.
Hier stehen verschiedene Debian Pakete zur Verfügung: cnetworkmanager (Kommandozeile), knetworkmanager (für KDE-Nutzer), network-manager-gnome (Gnome-Nutzer) sowie wicd (Curses und GUI).
Hinweis: Für die Nutzung eines Netzwerkmanagers gilt: Es kann nur einen geben. |
Das bedeutet nicht nur, dass man bei Nutzung eines Netzwerkmanagers alle anderen Netzwerkmanager deinstalliert haben sollte. Ausserdem sollte die /etc/network/interfaces nur einen Eintrag für das Loopback Interface enthalten:
# The loopback network interface auto lo iface lo inet loopback
Die Nutzung der Netzwerkmanager ist der entsprechende Dokumentation zu entnehmen.
USB-WLAN-Adapter
Zu empfehlen sind WLAN-USB-Adapter (WLAN-USB-Sticks), für die der Hersteller einen Linux-Treiber anbietet. Fündig werden Sie unter anderem bei einigen Modellen der Marken CSL Computer, TP-Link und Asus da diese zum Teil Chipsätze von der Firma MediaTek[1][2] oder bestimmte Chipsätze von Realtek (z.B. RTL8191SU oder RTL8188CUS) einsetzen.
Wenn Sie einen Fritz! Box (Fritzbox) WLAN-Stick (für die der Hersteller AVM leider keine Linux-Treiber anbietet[3][4][5]) verwenden möchten, gibt es dazu einen detaillierten Bericht auf UbuntuUsers.de. Dort wird gezeigt, wie der Windows-Treiber unter Linux verwendet werden kann, außerdem werden fertige Pakete zum Download angeboten.
Nützliche Links
- Von Debian GNU/Linux unterstützte Chipsätze: https://wiki.debian.org/rtl819x
- Von Debian GNU/Linux unterstützte USB-Geräte: https://wiki.debian.org/DeviceDatabase/USB
- Artikel zu Wifi (Wlan) im offiziellen Wiki: https://wiki.debian.org/WiFi
konkrete Produktempfehlungen:
Überblick:
unter Debian GNU/Linux getestet:
CSL - 300 Mbit/s USB 2.0 WLAN Stick
bei Suche nach bestimmten Mediatek-Chipsätzen auf Amazon.de gefunden (nicht getestet):
Libertview-B600-Dual-Brand-USB-Wifi-Adapter CSL 300Mbit USB WLAN Adapter VIGICA Wifi USB Wireless Adapter ARCHER T2UH TP-LINK CSL - Wireless USB Adapter TP-Link Archer T1U AC450 ARCHER T2U TP-LINK
Ethernet-WLAN-Adapter
Der große Vorteil von Ethernet-WLAN-Adaptern (LAN-WLAN-Adaptern) ist, dass für sie überhaupt keine Treiber benötigt werden, da Sie Ihren Computer, Fernseher oder Spielekonsole per Ethernet-Kabel (LAN-Kabel) mit dem Adapter verbinden. Dieser verbindet sich dann via WLAN mit Ihrem Router. Einzige Bedingung: es muss ein Ethernet-Anschluss an Ihrem Gerät vorhanden sein. Probleme kann es nur dann geben, wenn der Hersteller eine Software zur Konfiguration einsetzt, die er nicht für Linux verfügbar macht.[6]
Produktbeispiele (nicht getestet)
- D-Link Dap-1360 WLAN
- Linksys Opensource WLAN router Wrt54gl
Netwerkkarten / WiFi-Chipsets für Notebooks
Auch ein einzelnes Modell eines bestimmten Herstellers kann freie, quelloffene (Open-Source / Opensource) Firmware und Treiber nutzen, wie beispielsweise ein Atheros 11n USB-Gerät. Das betrifft aber wirklich nur dieses eine Modell dieses Herstellers, das zudem veraltet ist, da die Firmware und die Treiber erst offen gelegt wurden, als das Modell bereits veraltet war.[7]
Referenzen
- ↑ http://www.mediatek.com/en/products/connectivity/wifi/home-network/usb-dongle/
- ↑ https://youtu.be/niu14NoLeQc?t=42m8s
- ↑ http://avm.de/produkte/fritzwlan/fritzwlan-stick-ac-860/technische-daten/
- ↑ http://avm.de/produkte/fritzwlan/fritzwlan-stick-ac-430/technische-daten/
- ↑ http://avm.de/produkte/fritzwlan/fritzwlan-stick-n/technische-daten/
- ↑ http://linuxwiki.de/LinuxWireless#Wireless-Karten_und_Chips
- ↑ "are there any wireless card chipsets which you would recommend? - i know only of one such thing, its an old atheros11n usb-device lots of people working inside atheros fighting for opensource actual managed to convince managment to release firmware for that one. not much development afterwards because mainly the firmware was only opened after the device was already long obsolete. but if you look for devices supported by f9khtc for you will find an open driver, an open firmware and you can compile everything there." - Felix Fietkau, wireless drivers: freedom considered harmful? (openwert) [32c3] https://youtu.be/niu14NoLeQc?t=40m53s