wpa_supplicant
wpa_supplicant ist eine Variante, wie Verbindungen mit dem WLAN verwaltet werden können.
Vergleich mit anderen Diensten
allgemeine Vor- und Nachteile
- allgemeine Vorteile
- via Kommandozeile zu benutzen
- Konfigurationsdatei
wpa_supplicant.conf
ist einfache Textdatei - Funktionalität zur möglichen Priorisierung von Netzwerken
- brauchbare Dokumentation
- Anreiz Netzwerkkonfiguration auch manuell vorzunehmen
- grafisches Frontend mit #wpa_supplicant-gui verfügbar
- allgemeine Nachteile
- bei Verbindungsproblemen ist ggf. der Dienst wpa_supplicant im Weg
Vergleich mit NetworkManager
Im Vergleich zum NetworkManager (debianman:networkmanager)[1], beispielsweise unter Gnome[2] (package network-manager-gnome
), ist wpa_supplicant weniger fehleranfällig und leichter direkt aus dem Terminal konfigurierbar.
Installation
Kompatibilität
Vorab sollte anhand der Liste beim Projekt geprüft werden, ob eure Hardware auch kompatibel ist.
Debian
- Pakete
- wpasupplicant (Service und Tools)
- wpagui (grafisches Frontend)
- Paket installieren
sudo apt-get update
sudo apt-get install wpasupplicant
- Rechte auf Interfaces beschränken
sudo chmod 0600 /etc/network/interfaces
- wpa_supplicant.conf erstellen
- siehe #Konfiguration
- Interfaces prüfen
-
cat /etc/network/interfaces
- oder setzen:
sudo vi /etc/network/interfaces
# The loopback network interface auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf # EOF
- alternativ s.a. Network-bonding-failover um ohne Verbindungsabbruch zwischen LAN und WLAN wechseln zu können.
- Netzwerkdienst neustarten
sudo /etc/init.d/networking restart
Konfiguration
Die Konfigurationsdatei (Standard: /etc/wpa_supplicant/wpa_supplicant.conf
) muss nach jeder Änderung erst neu eingelesen werden um wirksam zu werden. Mit wpa_cli
kann wpa_supplicant
direkt gesteuert werden.
- erstmal ansehen
cat /etc/wpa_supplicant/wpa_supplicant.conf
- Die Datei kann neben den Netzwerken im Kopf ein paar allg. Angaben enthalten
# general config ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 # activily scanning for ap ap_scan=1 fast_reauth=1 # compatibility to older ap eapol_version=1 # allow updating config by wpa_cli # update_config=1
Priorisierung
Für jedes Netzwerk kann über den Wert priority=x
ein Wert x
(Ganze Zahlen -ge 0) definiert werden. Die Verbindung wird zum Netzwerk mit der höchsten Priorität zuerst aufgebaut, bei gleicher Priorität wird die Reihenfolge durch die Eintragung in der Konfiguration bestimmt.
Keine / Doppelte SSID
Um eine unerwünschte Verbindung zu APs mit gleicher SSID zu verhindern kann die BSSID definiert werden.
Wenn der AP keine SSID sendet, muss für das Netzwerk mit scan_ssid=1
aktiv nach der SSID gescannt werden.
Offenes WLAN konfigurieren
die Datei kann so zum freien WLAN im HQ führen:
vi /etc/wpa_supplicant/wpa_supplicant.conf
Und anhängen von..
# general unsec network #### # This one is for connecting to any unsecured network your machine comes into contect with, just comment out if you don't like this: #network={ # key_mgmt=NONE # priority=0 # id_str="unsecure open wifi" #} # ## ### ### C3D2 ### ### ## # network={ ssid="C3D2" key_mgmt=NONE priority=2 id_str="C3D2" } # ## ### ### C3D2 ### ### ## # #EOF
Passwortgeschütztes WLAN konfigurieren
mit wpa_passphrase
- am Bsp. C3D2-fallback als Einzeiler
so kann die Konfigurationsdatei für ein Netzwerk erweitert werden, Der Prompt erwartet die Passphrase
wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf
entsprechend ohne Prompt - das Passwort wird sowohl in der Shell History als auch in der Konfigurationsdatei im Klartext abgelegt
echo "zweimalDasUebliche" | wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf
mit wpa_cli
wpa_cli
ist eher für die ambitionierte Anwenderin und zum Testen zu empfehlen. Konfigurationsdatei zuvor sichern!
Vorgehensweise:
- konfigurierte Netzwerke listen
- Scannen anschalten
- verfügbare Netzwerke anzeigen
- neue Konfiguration anlegen (Ausgegebene id wird weiterverwendet, hier 0)
- SSID für Netzwerk mit id setzen
- PSK für Netzwerk mit id setzen
- Priorität festlegen (Ganzzahl >= 0; höhere wird eher verbunden)
- Netzwerk auswählen
- Netzwerk aktivieren
- Konfiguration speichern (benötigt Eintrag
update_config=1
in Konfigurationsdatei, nicht empfohlen)
unter wpa_cli
list_networks scan scan_results add_network set_network 0 ssid "WLAN-Network" set_network 0 psk "SupahSecretPassphrase" set_network 0 priority 0 select_network 0 eneable_network 0 save_config
Deaktivieren
Um das Netzwerk manuell konfigurieren zu können, muss WPA Supplicant zunächst deaktiviert werden.
???
wpa_supplicant-gui
Für die grafische Bedienung gibt es auch eine Erweitung.
Quellen
- wpa_supplicant im Debian-Wiki
- wpa_cli erläutert
- Beispiel-Konfigurationsdatei