Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Wireless LAN (WLAN) bezeichnet ein „drahtloses" lokales Funknetzwerk im privaten Umfeld oder auch in öffentlichen Bereichen wie z.B. auf Flughäfen oder öffentlichen Plätzen in Großstädten, sog. Hot Spots. Erwähnenswert ist in diesem Zusammenhang das Freifunk-Projekt , das für den Nutzer kostenfreie „Hot Spots" zur Verfügung stellt.
Hier soll ein Einblick in die Funktionsweise des WLAN, Begriffserklärungen sowie eine Konfigurationshilfe zur Einrichtung der verwendeten WLAN-Hardware unter Linux im allgemeinen und für Ubuntu-Linux gegeben werden.
Auch "Station-Modus" genannt. Klassischer Aufbau eines WLAN-Netzwerks mit zentralem Zugriffspunkt (Access Point), also dem WLAN-Router. Dieser verwaltet meist auch die kabelgebundenen Geräte und kümmert sich um den Zugang zum Internet.
Um die Reichweite und Ausdehnung oben beschriebener Infrastruktur-Netze zu erhöhen, nutzt man WDS. Solche Netze finden sich oft an Universitäten, Hochschulen oder auch öffentlichen Einrichtungen. Im Gegensatz zu Ad-Hoc-Netzen ist hier auch eine höhere Sicherheit mittels WPA(1/2)-Verschlüsselung möglich. Die Verwaltung der angeschlossenen Endgeräte (Clients) bleibt weiterhin beim zentralen Zugriffspunkt bzw. Router.
Für den privaten Bereich werden dazu sog. Repeater in verschiedenen Bauformen angeboten. Um WPA-Verschlüsselung verwenden zu können, müssen die Geräte untereinander allerdings kompatibel sein. Das funktioniert meist nur mit Geräten desselben Herstellers. Die mögliche Datenrate reduziert sich außerdem, da die Datenpakete zwischen den einzelnen Geräten mehrfach übertragen werden müssen.
Um die Kompatibilitätsprobleme zwischen Geräten einzelner Hersteller zu umgehen, werden derzeit fast nur noch Repeater angeboten, die auch als Wireless-Bridge arbeiten können.
Dies ist eine Brücke zwischen verschiedenen Netzwerken. Bei dieser Methode wird eine sog. Punkt-zu-Punkt-Verbindung zum zentralen Access Point aufgebaut, also in der Regel dem zentralen WLAN-Router, das Gerät selbst stellt dann aber wieder einen eigenen WLAN-Zugriffspunkt zur Verfügung. Die Verbindung zum zentralen Access Point kann auch über Kabel erfolgen. Die Verwaltung der angeschlossenen Endgeräte (Clients) bleibt auch hier weiterhin beim zentralen AP bzw. Router.
Zusätzlich bieten einige Geräte Ethernet Anschlüsse. So ist auch mit Geräten anderer Hersteller eine sichere WPA2-verschlüsselte Verbindung über WLAN sowie eine Reichweitenerhöhung möglich, und auch Endgeräte ohne WLAN können in das Netzwerk integriert werden.
Auch als IBSS-Modus (Independent Basic Service Set) bezeichnet. Dieser Modus ermöglicht eine einfache Vernetzung mehrerer Endgeräte untereinander, es gibt keinen zentralen „Verwalter“ wie beim Infrastrukturmodus.
Für die Sicherheit wird im allgemeinen einfache WEP-Verschlüsselung verwendet, was zwar unsicher ist, durch die durchweg geringe Reichweite und Nutzungsdauer solcher Netze aber kurzfristig in Kauf genommen werden kann.
Dabei kann einer der beteiligten Teilnehmer auch den zur Verfügung stehenden Internetzugang weiterleiten. In diesem Fall übernimmt einer der Clients wieder die zentrale Verwaltung des Netzwerks. Ab Ubuntu 14.04 ist hierbei nun auch WPA(2)-Verschlüsselung möglich. Siehe dazu auch Internetverbindungsfreigabe.
Vermaschte Netze (Mesh-Netzwerke) nach IEEE 802.11s ist eine Vernetzung mehrerer Rechner untereinander, wobei hier auch ein oder mehrere Rechner im Verbund einen Internetzugang zur Verfügung stellen können. Offiziell wird dieser Standard unter Linux als Teil des mac80211-Subsystems seit Kernel Version 2.6.26 unterstützt. Solche vermaschten Netze werden z.B. beim bereits erwähnten Freifunk-Projekt eingesetzt.
Der Monitor Modus kann dazu verwendet werden, um im eigenen Netzwerk den Datenverkehr zu protokollieren oder auch nach Fehlern zu suchen.
In den meisten Fällen wird dieser Modus jedoch dazu missbraucht, um zu versuchen, in fremde WLAN-Netze einzubrechen, was natürlich gesetzeswidrig ist. Aus rechtlichen Gründen werden entsprechende Anfragen zu dem Thema hier im Forum deshalb nicht weiter unterstützt und im Zweifelsfall nach Absprache im Team auch gesperrt.
Da die Technik ständig weiterentwickelt wird, hat sich in den letzten Jahren im WLAN-Bereich einiges getan. Im wesentlichen wird versucht, die mögliche Datenrate und Reichweite durch verschiedene technische Raffinessen weiter zu verbessern.
Die unterschiedlichen WLAN-Übertragungsarten sind über die IEEE 802.11 Normen definiert und festgelegt.
Der neueste Standard 802.11ac wurde 2014 als Erweiterung zu 802.11n verabschiedet.
Die hier in der Anleitung verwendete Programme und Werkzeuge werden in einem Terminal [1] ausgeführt. Dieses öffnet man über die Tastenkombination Strg + Alt + T , sofern man ein System mit grafischer Oberfläche verwendet, und kopiert die gezeigten Befehle einfach.
In diesem Abschnitt geht es um die Erkennung der verwendeten WLAN-Hardware und des zugehörigen Treibermodul, sollte es Probleme bei der Inbetriebnahme geben oder die WLAN-Hardware nicht automatisch vom System erkannt werden.
Geräte-ID und Bezeichnung von PCI(e) Karten mit Ausgabe der Modulzuordnung und des momentan geladenen Moduls abfragen [1]:
lspci -nnk | grep -i net -A2 # alternativ lspci -nnk
Beispielausgabe für eine Ethernet- und WLAN-Karte:
00:19.0 Ethernet controller [0200]: Intel Corporation 82562V-2 10/100 Network Connection [8086:10c0] (rev 02) Subsystem: Micro-Star International Co., Ltd. Device [1462:502c] Kernel driver in use: e1000e 20:00.0 Network controller [0280]: Intel Corporation Ultimate N WiFi Link 5300 [8086:4235] Subsystem: Intel Corporation Device [8086:1101] Kernel driver in use: iwlwifi
Die Geräte-ID und das verwendete Treibermodul, sofern im Kernel vorhanden, wird angezeigt. Wird nichts weiter angezeigt, so gibt es in der verwendeten Kernelversion vermutlich kein zur Hardware passendes Modul.
Steht dort nicht „Kernel driver in use: ...
“ so wird das Modul nicht automatisch geladen, weil es möglicherweise gesperrt ist, oder es erzeugt bei diesem Versuch einen Fehler. Bei einigen Treibermodulen wie z.B. p54pci
, muss aus Lizenzgründen zusätzlich die passende Firmware manuell nachinstalliert werden. Erläuterungen dazu im Abschnitt Firmware-installieren.
Weitere Informationen und Möglichkeiten dazu in Kernelmodule.
Das erforderliche Kernelmodul und auch der verbaute Chipsatz ist bei USB-Adaptern nicht immer direkt ersichtlich.
Geräte-ID und -Bezeichnung der USB-Geräte abfragen [1]:
lsusb
Beispielausgabe für einen WLAN-Adapter am USB-Anschluß:
Bus 001 Device 003: ID 13d3:3247 IMC Networks 802.11 n/g/b Wireless LAN Adapter
Der Chipsatz-Typ und das zugehörige Treibermodul sind hier noch nicht erkennbar.
Die Geräte-ID besteht besteht immer aus zwei Blöcken, der Hersteller- (hier 13d3) und Produktkennung (hier 3247). Damit kann nach dem verbauten Chipsatz und Treibermodul gesucht werden. Mehr dazu im nachfolgenden Abschnitt.
Mit den zuvor gewonnenen Informationen kann nun das passende Treibermodul bestimmt werden.
Modulzuordnung über die Geräte-ID abfragen [1]:
modprobe -c | grep -i "<Hersteller-ID>.*<Product-ID>"
Das gilt auch für die im Beispiel oben angegebenen PCI(e)-Geräte! Entsprechend zum Beispiel für den USB-Adapter also [1]:
modprobe -c | grep -i "13d3.*3247"
Darauf folgt in der Regel eine entsprechende Ausgabe des passenden Kernel-Moduls:
alias usb:v13D3p3247d*dc*dsc*dp*ic*isc*ip* rt2800usb
Das hier verwendete Modul rt2800usb ist für WLAN-Karten mit Ralink-Chipsatz geeignet.
Erfolgt keinerlei Ausgabe, so ist kein zur Hardware passendes Modul im Kernel enthalten, oder der Hersteller verwendet eine unbekannte Geräte-ID. Ebenso kann es passieren, dass mehrere Treibermodule für ein Gerät im Kernel enthalten sind, was zu einem Konflikt führen kann. Nicht benötigte Module können jedoch gesperrt werden. Eine Anleitung dazu findet sich in Kernelmodule.
Sollten die Netzwerkhardware nach einer Neuinstallation nicht direkt erkannt werden, so sollte man das System nach Möglichkeit über eine Kabelverbindung aktualisieren. Dadurch wird u.a. auch eine aktuelle Kernelversion installiert, welche die Hardware nun möglicherweise unterstützt. Dazu kann z.B. auch die Internetverbindung eines Smartphones über USB-Kabel, sog. Tethering, genutzt werden
Im Normalfall wird die WLAN-Hardware direkt unterstützt. In WLAN/Karten findet man ansonsten eine ständig aktualisierte Übersicht bereits bekannter Geräte und wie diese in Betrieb zu nehmen sind. Probleme gibt es oft mit neuen Geräten. Im Zweifelsfall sollte man im entsprechenden Forenbereich nachfragen, bevor man etwas installiert.
Für bestimmte WLAN-Karten kann bzw. muss der Treiber erst über den Restricted-Manager aktiviert werden. Die automatische Erkennung funktioniert allerdings nicht immer reibungslos, und es wird u.U. der falsche Treiber installiert. Dies ist vor allem bei Broadcom WLAN-Karten der Fall. Hat man eine entsprechende Karte, so ist WLAN/Karten/Broadcom eine gute Anlaufstelle.
Für WLAN-Karten von Ralink und Realtek ist normalerweise ein Treiber im Kernel enthalten, Diese sind allerdings nicht nicht immer ausgereift, funktionieren nicht einwandfrei oder unterstützen aktuelle Gerätevarianten noch nicht.
In diesem Fall kann zuerst versucht werden, den Systemtreiber und die Firmware zu aktualisieren. Alternativ gibt es vielleicht einen passenden Treiber vom jeweiligen Hersteller, der manuell nachinstalliert werden kann. Entsprechende Anleitungen sind ebenfalls in WLAN/Karten zu finden und verlinkt.
Da die im Kernel enthaltenen Treibermodule nicht immer aktuell sind, hat man verschiedene Möglichkeiten, diese zu aktualisieren, sollte die Hardware nicht oder nur unzureichend unterstützt werden.
bei den LTS-Versionen 14.04 und 12.04 gibt es die Möglichkeit, aktuellere Kernelversionen einzusetzen, um die Hardwareunterstützung zu verbessern. Siehe dazu LTS Enablement Stacks.
Eine weitere Methode ist über die Linux-Backports-Modules
Dies sind zurückportierte Treiberpakete aus der jeweils aktuellen Ubuntu-Version
oder manuell über Linux Wireless
Zusätzlich werden regelmäßig aktuelle Installationspakete über https://www.kernel.org angeboten
Diese enthalten die letzten Fehlerkorrekturen und Aktualisierungen → Anleitung im Forum
Bei aktueller Hardware hilft möglicherweise nur die Installation eines sog. Mainline-Kernel
auch in Kombination mit einem aktuellen Treiberpaket von Linux Wireless
und der neuesten Firmware
Die Firmware für viele WLAN-Karten gehört bereits zur Grundinstallation von Ubuntu und braucht nicht extra installiert zu werden. Bei bestimmten WLAN-Karten muss die erforderliche Firmware jedoch manuell nachinstalliert oder auch aktualisiert werden. Gibt es Funktionsprobleme, ist WLAN/Karten ein guter Anlaufpunkt. Im Zweifelsfall sollte man auch hier im entsprechenden Forenbereich nachfragen.
Meldungen zur Firmware werden im Syslog protokolliert. Fehlermeldungen abfragen [1]:
egrep -i 'fw|firm' /var/log/syslog
Während das Standard-Firmware-Paket linux-firmware bereits vorinstalliert ist, benötigt bestimmte WLAN-Hardware, wie z.B. der Firma Broadcom oder Intersil/Prism, aus Lizenzgründen die manuelle Installation einer sog. proprietären, also „unfreien“ Firmware [1]:
linux-firmware-nonfree
mit apturl
Paketliste zum Kopieren:
sudo apt-get install linux-firmware-nonfree
sudo aptitude install linux-firmware-nonfree
Im Paket sind diverse Firmwaredateien für verschiedene WLAN-Karten enthalten. Das Paket ist ab Ubuntu 16.04 jedoch nicht mehr in den offiziellen Paketquellen verfügbar! Bei Bedarf können entsprechende Pakete von hier heruntergeladen werden.
In Einzelfällen oder bei sehr aktueller WLAN-Hardware kann einen manuelle Installation der neusten Firmware erforderlich sein, um ein Gerät in Betrieb zu nehmen. Zum Herunterladen der aktuellen Firmware wird Git benötigt (siehe auch http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ ).
Aktuelle Firmware herunterladen [1]:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Die Firmware-Dateien befinden sich anschließend in ~/linux-firmware. Benötigte und zur verwendeten WLAN-Hardware passende Dateien bzw. Verzeichnisse müssen anschließend manuell nach /lib/firmware kopiert werden [3]. Rechner abschließend ausschalten und Stromquellen (Netz/Akku) für ein paar Minuten entfernen, um die alte Firmware sicher zu entladen.
Alternativ kann das Paket linux-firmware einer aktuelleren Ubuntu-Version heruntergeladen und manuell installiert werden.
Existiert für die verwendete WLAN-Hardware kein Linux-Treiber oder lässt sich keine Lösung zur Inbetriebnahme finden, dann bleibt ein Versuch über NdisWrapper.
iw - funktioniert nur mit Geräten und Treibern, die mit dem nl80211-Subsystem des Kernels arbeiten. Eine entsprechende Liste findet man auf wireless.kernel.org - Drivers .
iwconfig - aus den wireless-tools. Funktioniert im Gegensatz zu iw
auch mit Treibern von Realtek, Ralink, Broadcom, älteren Intel-Modulen und NdisWrapper.
iwpriv
- nur noch für einige ältere Intel- oder Ralink-Treiber geeignet und veraltet. Deshalb hier nicht näher beschrieben.
WPA2 oder auch WPA2-AES/CCMP ist die zur Zeit aktuelle und sicherste Verschlüsselungsmethode für kleinere private Netze. Jeder aktuell erhältliche Router und WLAN-Hardware unterstützt diesen Standard. WPA2-AES ist deshalb die erste Wahl bei der Absicherung des privaten WLAN-Netzwerks.
Wi-Fi Protected Access oder auch WPA1-TKIP (Temporal Key Integrity Protocol) war als Übergangslösung für die zu schwach gewordene WEP-Verschlüsselung gedacht und basiert z.T. auch auf dieser. Diese Methode ist inzwischen veraltet, rel. unsicher und sollte nur noch in Ausnahmefällen verwendet werden.
Viele WLAN-Router sind werkseitig auf einen Mischmodus eingestellt und bieten WPA2- und gleichzeitig WPA1-Verschlüsselung an, um mit alter Hardware kompatibel zu bleiben. Das ist inzwischen aber überholt, zudem gibt es bei dieser Mischform oft Verbindungsprobleme mit dem Network-Manager.
WEP war die erste Verschlüsselungsmethode für WLAN-Netze und ist inzwischen veraltet, sehr unsicher und leicht zu entschlüsseln. Es gibt auch hier einige Ausnahmefälle wie z.B. Ad-Hoc-Verbindungen, wo WEP-Verschlüsselung noch zur Anwendung kommt. Diese WLAN-Netze sind allerdings nicht für den Dauerbetrieb gedacht.
Moderne WLAN-Router bieten die Möglichkeit, einen sog. Gastzugang einzurichten. Das ist ein zweiter virtueller Zugangspunkt, ebenfalls mit eigener SSID und auch sicherer WPA2-Verschlüsselung, über den Internetzugang möglich ist.
Dieses Netzwerk ist aber vom Hauptnetzwerk, also allen anderen Rechnern, bestehenden Datei- oder Druckerfreigaben und sonstigen Geräten im Netzwerkverbund abgeschottet. Das ist praktisch, wenn man jemandem vorübergehend über den eigenen Anschluss Zugang zum Internet gewähren möchte. Wird der Zugriff nicht mehr benötigt, so schaltet man ihn wieder ab.
Unverschlüsselte Netze werden beispielsweise in Firmen oder auch Universitäten, also größeren Netzwerkinstallationen oder auch WDS-Systemen verwendet. Die Absicherung erfolgt dann durch eine nachgeschaltete Benutzerauthentifizierung mit Zertifikat, beispielsweise über einen Radius-Server oder ähnliche Methoden. Das WLAN-Netz kann zusätzlich auch mit WPA2-Verschlüsselung abgesichert sein. Für den privaten Bereich ist diese Zugangsart allerdings zu aufwendig.
Der PSK (Pre-Shared-Key) ist ein Schlüssel, der einmalig manuell zwischen den beteiligten Geräten ausgetauscht ("shared") werden muss. Er darf zwischen 8 und 63 Zeichen umfassen. Schlüssel ab etwa 16 Zeichen, die nicht durch eine einfache Wörterbuchattacke herausgefunden werden können, gelten als sicher. Der Schlüssel sollte sich aus Klein- und Großbuchstaben, Zahlen und den erlaubten Sonderzeichen zusammensetzen.
Ein guter Schlüsselgenerator ist das Programm pwgen. Mit dem folgenden Befehl erhält man einen geeigneten Schlüssel. Die zu wählende Schlüssellänge darf 8 bis 63 Zeichen betragen.
Schlüssel erzeugen[1]:
pwgen -c -n -s SCHLÜSSELLÄNGE 1
Dieser Schlüssel wird dann im WLAN-Router eingetragen und muss bei der Anmeldung jedes einzelnen Client bekannt sein. Als Client bezeichnet man jedes WLAN-fähige Gerät wie z.B. PCs, Notebooks, Tablet-PC, Smartphones, E-Book Reader usw., die sich über WLAN am Netzwerk anmelden wollen.
Einige der nachfolgend aufgeführten Einrichtungsverfahren legen den Schlüssel im Klartext, in einer Datei auf der Festplatte, ab. Für solche Verfahren empfiehlt es sich, den 63-ASCII-Zeichen-Schlüssel noch in Hexadezimalform umzuwandeln. Die Berechnung erfolgt mittels wpa_passphrase. Dem Befehl wird die SSID des Access-Points und der mit pwgen erzeugte Schlüssel übergeben.
Zugangsschlüssel in hex-Code umwandeln [1]:
wpa_passphrase MEINE_SSID MEIN_SCHLÜSSEL
ergibt:
# reading passphrase from stdin meinschluessel network={ ssid="MeineSSID" #psk="MeinSchluessel" psk=626d3fc95a3efe75acaebf1388ed167a90e59390efab91a5841242e49bc62b3a }
Die SSID - Service Set Identifier - ist der öffentlich gezeigte Name des Netzwerks.
Die Werkseinstellung des WLAN-Routers sollte man immer ändern, da
der Name bei Geräten in der Nachbarschaft sonst mehrfach vorkommen kann (z.B. „FRITZ!Box Fon WLAN 7170“), was unter Umständen zu Verbindungsproblemen führt
Außenstehende so Informationen zur verwendeten Hardware bekommen
manchmal Leerzeichen in der SSID enthalten sind, was zwar zulässig ist, aber ebenfalls schon zu Verbindungsschwierigkeiten geführt hat
Leerzeichen in der SSID sollte man deshalb nicht verwenden und bei Bedarf durch Unterstriche ersetzen. Beispiel: "Meine_WLAN_SSID"
Eine unsichtbare SSID ist kein wirksames Mittel zum Schutz des eigenen WLAN und kann durch entsprechende Programme (WLAN-Sniffer) einfach ermittelt werden. Dies verursacht höchstens Probleme beim Verbindungsaufbau. Eine automatische Verbindung bei Systemstart funktioniert dann ebenfalls in den meisten Fällen nicht.
Werden mehrere Zugriffspunkte, wie bei WDS-Systemen, zu einem Verbund verknüpft, und erhalten alle eine identische SSID, so nennt man diese nun ESSID - Extended Service Set Identifier.
Als BSSID - Basic Service Set Identifier - wird bei WLAN-Geräten und Zugriffspunkten (Access-Points) die MAC-Adresse bezeichnet, um das Gerät eindeutig zu identifizieren.
Die BSSID des Access-Points kann bei Bedarf im Verbindungsprofil des Network-Managers eingetragen werden. Die Auswahl des Zugriffspunktes erfolgt so durch die SSID/ESSID und die BSSID. So wird z.B. ein ungewollter Wechsel zwischen verschiedenen Zugriffspunkten, sog. Roaming, verhindert. Dies ist vor allem bei WDS-Systemen hilfreich, wenn sich mehrere Zugriffspunkte mit identischer ESSID in Reichweite befinden. Verbindungsabbrüche können so vermieden werden.
Nur bestimmte Sonderzeichen sind im WLAN-Zugangsschlüssel (PSK) und im Namen (SSID) des Netzwerks zulässig. Weitere Informationen dazu in WLAN/Sonderzeichen.
Netzwerkadapter haben eine eindeutige, jedoch nicht unveränderbare MAC-Adresse (BSSID). WLAN-Router bieten als zusätzliche Sicherheitseinstellung einen sog. MAC-Adressfilter oder MAC-Gerätesperre, teils auch als einfache Kindersicherung konfigurierbar, für das interne LAN und WLAN an.
Da die MAC-Adresse freigeschalteter Geräte im Netzwerk allerdings unverschlüsselt übertragen wird, so kann man diese Adressen auch einfach kopieren, sog. MAC-Spoofing. Damit lässt sich solch eine Sperre bei WLAN und auch kabelgebundenen Verbindungen sehr einfach umgehen.
Ein MAC-Adressfilter ist somit also ebenfalls kein wirksames Mittel zur Absicherung des WLAN.
Eine vereinfachte Anmeldung und Authentifizierung mittels Pin, sog. WPS, ist mit dem Network-Manager momentan nicht möglich. Nur wpa_gui bietet eine entsprechende Option.
Welche Funkkanäle unterstützt die verwendete WLAN-Karte bzw. der verwendete Treiber.
Konfiguration abfragen [1]:
iwlist chan iw list
Werden hier nur die Funkkanäle 1-11 angezeigt, so kann man die Regionseinstellung prüfen und ggf. anpassen. Nicht alle Treibermodule für z.B. Broadcom, ältere Intel-Karten oder Realtek ermöglichen dies allerdings.
Der eigene WLAN-Router sollte fest auf einen freien Funkkanal eingestellt sein. Oft ist werksseitig die Auswahl auf Automatik gesetzt („Auto“), was dazu führen kann, dass ein Funkkanal gewählt wird, der durch die WLAN-Karte des PC nicht unterstützt wird. Eine Verbindung wird dadurch unmöglich. Zudem kann es bei einem automatischen Wechsel des Kanals zu Verbindungsabbrüchen kommen.
Ein manueller Scan zeigt alle WLAN-Netze in der Nachbarschaft und deren Eigenschaften, wie den verwendeten Funkkanal, die Verschlüsselungsmethode und die Empfangsstärke, und hilft so bei der Wahl der passenden Einstellungen für das eigene WLAN. Wer ein grafisches Werkzeug dazu verwenden möchte, kann z.B. LinSSID oder iwScanner verwenden. Ebenso lassen sich so natürlich die Einstellungen des eigenen WLAN und die Empfangsqualität ermitteln.
manuellen Scan der WLAN-Umgebung auslösen [1]:
# detailreich sudo iw dev <Interface> scan sudo iwlist <Interface> scan # gefiltert und übersichtlicher mit den wesentlichen Informationen sudo iwlist <Interface> scan | egrep -i 'cell|chan|essid|wpa|cipher|qual'
Die Schnittstellenbezeichnung, bzw. das Interface, ist natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan0 oder wlo1, zu ersetzen!
Über die Regionseinstellungen des Systems werden die zulässigen Funkkanäle, die zugehörige Bandbreite (20 MHz oder 40 MHz) und die maximal zulässige Sendeleistung festgelegt. Hierbei gibt es einige Dinge, die zu beachten sind und die bei der Auswahl der Einstellungen für das eigene WLAN-Netzwerk helfen.
Im Normalfall sind die Einstellungen des Systems und des eigenen WLAN-Routers zur Kanalnutzung und Sendeleistung durch Voreinstellung automatisch richtig konfiguriert.
Bedingt durch die Bandbreite von 20 MHz, sind im 2,4-GHz-Band nur drei Kanäle völlig störungsfrei nebeneinander verwendbar, bei 40-MHz Bandbreite (N-Modus) sogar nur zwei. Der Abstand und die Empfangsleistung zwischen den den einzelnen Netzen spielt dabei natürlich auch eine Rolle.
Bei den Einstellungen des eigenen WLAN-Routers sollte man also nach Möglichkeit einen entsprechenden freien Funkkanal wählen und fest einstellen. Dabei hilft es, wie zuvor bereits beschrieben, die WLAN-Umgebung zu scannen. Manche Router zeigen auch in einer grafischen Übersicht die Kanalbelegung durch Netze in der Nachbarschaft an.
Die WLAN-Karte des Clients, unabhängig vom verwendeten Betriebssystem, stellt sich bei der Verbindungsaufnahme automatisch auf den Funkkanal des WLAN-Routers ein.
Durch die inzwischen starke Verbreitung von Internetzugängen und WLAN-Routern ist das 2,4-GHz-Band meist vollständig belegt oder auch überlastet. Ein störungsfreier Betrieb ist manchmal kaum noch möglich. Sofern die eigenen Geräte dies unterstützen, sollte man also auf das 5-GHz-Band ausweichen.
Kanalnutzung / Bandbreite | |||
Frequenzband | Bandbreite | störungsfrei parallel verwendbare Kanäle | |
2,4 GHz-Band | 20 MHz | 1 + 6 + 11 oder entsprechend / Abstand 5 Kanäle | |
2,4 GHz-Band | 40 MHz im n-Modus | 3 + 11 | |
5 GHz-Band | 20/40/80/160 MHz Bandbreite | nur im a-Modus bei 20/40-MHz-Bandbreite überlappungsfrei, 80/160-Mhz-Bandbreite im ac-Modus | |
5 GHz-Band | 20MHz Bandbreite | 19 Kanäle überlappungsfrei | |
5 GHz-Band | 40MHz Bandbreite | 19 Kanäle überlappungsfrei | |
5 GHz-Band | 80MHz Bandbreite ac-Modus | 9 mögliche überlappungsfreie Frequenzbereiche | |
5 GHz-Band | 160MHz Bandbreite ac-Modus | 4 mögliche überlappungsfreie Frequenzbereiche |
Detaillierte Erläuterungen und anschauliche Grafiken zu dem Thema findet man unter WLAN - Überlappungsfreie Kanäle und Spektralmasken
Die Standardeinstellung beim Systemstart wird in der Datei /etc/default/crda festgelegt. Siehe auch iw.
Einstellung abfragen und vorübergehend ändern [1]:
sudo iw reg get sudo iw reg set DE
Verwendet werden hierbei Ländercodes gemäß der ISO-Norm 3166. Standard ist normalerweise Einstellung 00 (World), also eine globale Einstellung, was allerdings nicht immer korrekt funktioniert und die benötigten Einstellungen liefert.
Bestimmte Gerätetreiber unterstützen nur die Funkkanäle 1-11 und arbeiten auch nicht mit iw bzw. dem nl80211-Subsystem zusammen. Die Einstellungen können unter Linux dann also nicht geändert werden. Die Kanaleinstellung des eigenen WLAN-Routers muss dann ggf. angepasst werden, um eine Verbindung zu ermöglichen.
Je nach Land und Frequenzbereich ist eine entsprechende Sendeleistung zulässig. Da bei höheren Frequenzen, also im 5-GHz-Band, die Dämpfung der Funkwellen in der Luft erheblich stärker ist als bei niedrigen Frequenzen, also im 2,4,GHz-Band, darf die Sendeleistung höher sein, um Verluste bei der Reichweite auszugleichen. Jedes EU-Land hat da ggf. seine eigenen Ausnahmen und Sonderregelungen.
Publikationen der Bundesnetzagentur zu den freigegebenen Frequenzen und der in der BRD zulässigen Strahlungsleistung (PDF-Dokumente):
Es gibt im Privatbereich (engl. "consumer") momentan allerdings keine WLAN-Router, welche im 5-GHz-Band eine entsprechend höhere Sendeleistung erbringen können (soweit bekannt). In der Regel beträgt auch hier die maximale Strahlungsleistung 20 dBm (100 mW), was bedeutet, dass die Reichweite im 5-GHz-Band u.U. stark eingeschränkt ist, insbesondere bei den höheren Kanälen 100-140.
zulässige Sendeleistung in Deutschland | ||||
Kanalbereich | Frequenzband MHz | Kanäle | max. Strahlungsleistung in mW | max. Strahlungsleistung in dBm |
1 - 13 (2,4GHz-Band) | 2412 - 2472 | 1-13 | 100 | 20 |
36 - 64 (5GHz-Band) | 5180 - 5320 | 36,40,44,48,52,56,60,64 | 200 | 23 |
100 - 140 (5GHz-Band) | 5500 - 5700 | 100,104,108,112,116,120,124,128,132,136,140 | 1000 | 30 |
Einstellungen abfragen [1]:
iwconfig | egrep -i 'ieee|power'
Sendeleistung des WLAN-Adapters ändern [1]:
Einstellung mittels iwconfig
ändern:
sudo iwconfig <Interface> txpower 15
Einstellung mittels iw
ändern:
iw list | grep phy # ermittelt zunächst das physikalische Interface phy* iw phy phy0 set txpower fixed 15 iw dev <Interface> set txpower fixed 15
Die Bezeichnung der WLAN-Schnittstelle oder der physischen Schnittstelle sind natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan1 bzw phy1, zu ersetzen! Weitere Möglichkeiten zur Konfiguration sind in iw beschrieben.
Einige WLAN-Karten und diverse WLAN-USB-Adapter bieten auch eine höhere Sendeleistung an, was aber nur in bestimmten Ländern zulässig ist. Die gesetzlichen Vorgaben des Landes, in dem man sich befindet, müssen beachtet werden!
Ist das "Power Management" der WLAN-Karte aktiv, werden die Leistung, Reichweite und die Empfangseigenschaften verändert und reduziert. Möglicherweise gibt es Verbindungsprobleme mit aktivierten "Power Management", was vor allem bei mobilen Systemen im Batteriebetrieb auftritt.
Weitere Informationen und Lösungsmöglichkeiten dazu im Forum. Erweiterte Einstellmöglichkeiten bietet TLP von linrunner, welches die systeminterne Energieverwaltung ergänzt.
Einstellungen abfragen [1]:
iwconfig | egrep -i 'ieee|power'
Beispielausgabe:
<Interface> IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Power Management:on
Einstellungen über iw ändern [1]:
sudo iw dev <Interface> set power_save off sudo iw dev <Interface> set power_save on
Einstellungen über iwconfig ändern [1]:
sudo iwconfig <Interface> power off sudo iwconfig <Interface> power on
Die Schnittstellenbezeichnung, bzw. das Interface, ist natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan0 oder wlo1, zu ersetzen!
Jeder WLAN- und auch Ethernet-Anschluß erhält vom System eine bestimmte Schnittstellenbezeichnung zugewiesen. Über diese Bezeichnung erfolgt anschließend die Konfiguration.
Abfrage vorhandenen Schnittstellen und deren momentane Konfiguration [1]:
ifconfig -a # zeigt alle verfügbaren Schnittstellen iwconfig # zeigt nur WLAN-Schnittstellen iw dev # zeigt nur WLAN-Schnittstellen
Die Bezeichnung der Schnittstellen wurde ab Ubuntu 15.10 auf sog. „Consistent Network Device Naming“ umgestellt. Die Bezeichnung orientiert sich nun an dem verwendeten Datenbus (USB/PCI) an welchem der WLAN-Adapter angeschlossen ist. Siehe dazu Netzwerk Schnittstellen Bezeichnungen. Die Bezeichnungen können aber manuell auf die bisher bekannte Syntax umgestellt werden.
Wird die Netzwerkhardware korrekt erkannt, das betrifft sowohl WLAN- als auch Ethernet-Schnittstellen, und ist ein Treibermodul dafür im Kernel enthalten, dann wird bis einschließlich Ubuntu 15.04 automatisch über das udev-System eine Konfiguration dafür angelegt und eine freie Schnittstelle zugewiesen.
Abfrage der Konfiguration [1] (nur bis einschließlich Ubuntu 15.04):
cat /etc/udev/rules.d/70-persistent-net.rules | egrep -i 'device|sub' -A3
Beispielausgabe:
# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:19.0 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:21:0e:8f:4a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # USB device 0x13d3:0x3247 (usb) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:af:72:78:ff", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
Unter Ubuntu ist der Network-Manager Standard.
wpa_gui ist ebenfalls eine grafische Oberfläche für wpa_supplicant und somit auch eine Alternative zu Wicd und dem NetworkManager
ceni - Netzwerkmanager für die Konsole. Das Programm stammt aus der Distribution aptosid (früher Sidux) und ist nicht in Ubuntu enthalten (Verwendung auf eigene Gefahr). Ein Fremdpaket für Debian-basierende Distributionen kann z.B. als ceni_VERSION_all.deb heruntergeladen werden.
Fremdpakete können das System gefährden.
Drahtlosgeräte bei mobilen Geräten wie Note- und Netbooks werden meist über einen Schalter, Taster oder eine Tastenkombination wie Fn + F2 ein- oder ausgeschaltet. Läßt sich WLAN nicht einschalten, so helfen folgende Wiki-Artikel weiter.
Acer Hotkeys (veraltet, aber das Abkleben des entsprechenden Pins auf der WLAN-Karte kann ein letzter Ausweg sein)
Scheitert die Verbindungsaufnahme, treten Unterbrechungen oder sonstige Störungen auf, so kann man natürlich entsprechende Meldungen des System auswerten.
Zustand und Konfiguration der Schnittstelle [1]:
ifconfig <Interface> iwconfig <Interface>
Die Schnittstellenbezeichnung, bzw. das Interface, ist natürlich durch die tatsächlich verwendete Bezeichnung, wie z.B. wlan0 oder wlo1, zu ersetzen!
Ereignisse im Syslog zu Netzwerk und WLAN auslesen und filtern [1]:
egrep -i 'net|eth|wlan|firm|reason' /var/log/syslog
Im Logauszug stehen diverse Informationen zum Verbindungaufbau und Ablauf und auch zu Firmware-Fehlern.
Die häufigsten Fehlermeldungen auswerten (für erfahrene Anwender) :
Fehlerdiagnose | |
Ereignis | Meldung |
reason 0 | no ReasonCode - Normal operation. |
reason 1 | unspecifiedReasonClient - associated but no longer authorized. |
reason 2 | previousAuthNotValid - Client associated but not authorized. |
reason 3 | deauthenticationLeaving - The access point went offline, deauthenticating the client. Previous authentications no longer valid. |
reason 4 | disassociationDueToInactivity - Client session timeout exceeded. |
reason 5 | disassociationAPBusy - The access point is busy, performing load balancing, for example. |
reason 6 | class2FrameFromNonAuthStation - Client attempted to transfer data before it was authenticated. |
reason 7 | class2FrameFromNonAssStation - Client attempted to transfer data before it was associated. |
reason 8 | disassociationStaHasLeft - Operating System moved the client to another access point using non-aggressive load balancing. |
reason 9 | staReqAssociationWithoutAuth - Client not authorized yet, still attempting to associate with an access point. |
reason 15 | 4-Way Handshake timeout. |
reason 16 | Group key update timeout. |
reason 17 | Information element in 4-Way Handshake different from (Re)Associate Request/Probe Response/Beacon. |
reason 18 | Multicast cipher is not valid. |
reason 19 | Invalid pairwise cipher. |
reason 21 | Unsupported RSN IE version. |
reason 22 | Invalid RSN IE capabilities. |
reason 23 | IEEE 802.1X authentication failed. |
reason 24 | Cipher suite is rejected per security policy. |
reason 32 | Disassociated for unspecified, QoS-related reason. |
Mittels iw - Ereignisse und Diagnose ist eine laufende Auswertung während der Verbindung möglich.
Für einen manuellen Verbindungsversuch und erweiterte Fehlerdiagnose kann alternativ auch folgendes Skript bis einschließlich Ubuntu 14.04 verwendet werden. Für Ubuntu 15.xx oder höher gib es eine an systemd angepasste Version des Skript.
USB-WLAN-Adapter benötigen meistens die zur Verfügung stehenden 500 mA am USB-Anschluß. Weitere Geräte sollten nicht am selben USB-Doppelanschluß verwendet werden. Da der USB-Controller den Anschluss bei Überschreitung des zulässigen Stroms abschalten kann, können Geräteabstürze, Verbindungsunterbrechungen oder auch Systemabstürze die Folge sein.
Lösungsmöglichkeiten:
Gerät an einem USB 3.0-Anschluß verwenden, die Stromaufnahme darf dort höher sein
einen USB-Hub mit eigener Stromversorgung verwenden
einen USB Y-Adapter verwenden, um zwei Anschlüsse zu koppeln (Notlösung, nicht gerätekonform)
Die Firmware, also das Betriebssystem des eigenen WLAN-Routers, ist nicht immer fehlerfrei und sollte deshalb aktuell sein bzw. aktualisiert werden.
Der Standort des WLAN-Routers sollte sich nicht zu nah neben Wänden, Decken oder metallischen Gegenständen wie Heizkörpern befinden. Je nach Material wird das Funksignal ansonsten gedämpft oder auch reflektiert, was zu sog. Interferenzen führt. Das gilt auch für die WLAN-Adapter der angeschlossenen Clients.
USB-WLAN-Adapter können über eine USB-Verlängerung angeschlossen werden, um diese besser positionieren zu können. Je nach Qualität des Kabels kann dieses bis zu zwei Meter lang sein. Im Rechner verbaute Karten können oft mit einer besseren Antenne über eine Kabelverlängerung mit Standfuß angeschlossen werden.
Schnurlostelefone (DECT) oder auch ein Babyphone sollten nach Möglichkeit nicht direkt neben dem WLAN-Router platziert werden, da diese Geräte ebenfalls im selben Frequenzband arbeiten.
Viele Router bieten Stromsparmechanismen (Nachtschaltung). Das WLAN kann so über einstellbare Zeitfenster abgeschaltet werden, wenn man es sowieso nicht benötigt.
Die meisten Router bieten auch die Möglichkeit, USB-Geräte anzuschließen und im Netzwerk zur Verfügung zu stellen. Moderne Baureihen stellen dafür inzwischen einen USB-3.0-Anschluss bereit. Durch schlechte Abschirmung der Bauteile kann es allerdings vorkommen, dass USB-3.0-Geräte an diesem Anschluss das WLAN auf dem 2,4-Ghz-Band stark stören können.
WLAN/Karten - Übersicht bekannter WLAN-Hardware mit Informationen zum Treiber und zur Inbetriebnahme
WLAN/Chipsätze - Informationen zu den div. Chipsätzen
Router - Ubuntu als Router konfigurieren
WLAN Router - Ubuntu als WLAN-Router konfigurieren
Skripte/WLAN-Accesspoint Konfigurationen - Linux-Rechner und WLAN-Router für verschiedene Einsatzszenarien konfigurieren
PC-Direktverbindung per WLAN - Ad-hoc-Vernetzung ohne Router
WLAN-Sniffer:
LinSSID - grafisches Analysewerkzeug
iwScanner - grafisches Analysewerkzeug
WiFi Radar - grafisches Analysewerkzeug und Verbindungsmanager
Kismet - Analysewerkzeug für die Kommandozeile
FreeRADIUS - WLAN-Authentifizierungsserver
WLAN - eine umfassende Beschreibung zu WLAN
WEP-/WPA-Key-Generator - WLAN-Schlüssel erzeugen
Funknetze von Grund auf – Wichtige Schlagworte rund um WLAN im Überblick - Grundlagenartikel, LinuxUser 07/2008
Serviceheft WLAN - Informationsblatt der Bundesnetzagentur
IEEE 802.11n / WLAN mit 150 MBit/s - www.elektronik-kompendium.de
Diese Revision wurde am 23. Januar 2017 15:06 von aasche erstellt.