wpa_supplicant
wpa_supplicant ist eine Variante, wie Verbindungen mit dem WLAN verwaltet werden können. Im Vergleich zum Networkmanager debianman:networkmanager[1] u.a. unter Gnome[2] (Paket network-manager-gnome) ist dies weniger fehleranfällig und leichter direkt aus dem Terminal konfigurierbar. Ein weiteres Feature ist die Priorisierung von Netzwerken. Die Konfigurationsdatei liegt als Plaintext vor und ist damit auch eine brauchbare Dokumentation.
Installation
Kompatibilität
Vorab sollte anhand der Liste beim Projekt geprüft werden, ob eure Hardware auch kompatibel ist.
Debian
- 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.
???
Quellen
- wpa_supplicant im Debian-Wiki
- wpa_cli erläutert
- Beispiel-Konfigurationsdatei