WLAN Einrichten

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Netzwerk ‹ WLAN Einrichten


Review.png 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.png Hinweis: Einige WLAN-Karten/USB WLAN Sticks benötigen eine Firmware. Dazu muss man vorher das Paket Debianpackage.png firmware-linux oder Debianpackage.png 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 Debianpackage.png 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 Debianpackage.png 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.png 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.png 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 Debianpackage.png ifscheme kann man die aktuelle manuelle Einstellung ein wenig vereinfachen. Debianpackage.png 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: Debianpackage.png cnetworkmanager (Kommandozeile), Debianpackage.png knetworkmanager (für KDE-Nutzer), Debianpackage.png network-manager-gnome (Gnome-Nutzer) sowie Debianpackage.png wicd (Curses und GUI).

Hinweis.png 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

konkrete Produktempfehlungen:

Überblick:

Amazon-Suche

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

  1. http://www.mediatek.com/en/products/connectivity/wifi/home-network/usb-dongle/
  2. https://youtu.be/niu14NoLeQc?t=42m8s
  3. http://avm.de/produkte/fritzwlan/fritzwlan-stick-ac-860/technische-daten/
  4. http://avm.de/produkte/fritzwlan/fritzwlan-stick-ac-430/technische-daten/
  5. http://avm.de/produkte/fritzwlan/fritzwlan-stick-n/technische-daten/
  6. http://linuxwiki.de/LinuxWireless#Wireless-Karten_und_Chips
  7. "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