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.confist 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.confUnd 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.confentsprechend 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.confmit 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=1in 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