Der WPA-Supplicant

Roaming

Eine automatische Umschaltung zwischen bekannten Netzwerken ist ebenfalls möglich. Zusätzliche Pakete müssen nicht installiert werden. wpasupplicant führt bei entsprechender Konfiguration die Skripte wpa_action und wpa_cli im Verzeichnis / aus, und verbindet sich automatisch mit dem in Reichweite befindlichen Netzwerk. Gemischte Konfigurationen mit statischer IP-Adresse und automatischer Zuordnung über Dynamic Host Configuration Protocol (DHCP) sind ebenfalls möglich.

Damit wpa_supplicant die Mehrfachkonfiguration erkennt und die Umgebung nach bekannten Netzwerken absucht, sind besondere Einstellungen in der Datei /etc/network/interfaces zu vorzunehmen. Der Name des Netzwerks ist frei wählbar, deutsche Umlaute und Sonderzeichen sollten aber vermieden werden.

Statische IP-Adressen sind den tatsächlichen Gegebenheiten anzupassen. Hier eine Beispielkonfiguration für Netzwerke mit statischer IP-Adresse, automatischer Zuordnung über DHCP, WPA- und WPA2 Verschlüsselung und offene Netzwerke:

auto lo
iface lo inet loopback
iface eth1 inet dhcp
iface eth2 inet dhcp
iface ath0 inet dhcp

# Schnittstelle prüfen
pre-up ifconfig wlan0 up
pre-up ifconfig wlan0 down

# Mehrfachkonfiguration aktivieren
iface wlan0 inet manual

# Roaming aktivieren
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

# erstes bekanntes WLAN Name:Home mit DHCP
iface Home inet dhcp

# zweites bekanntes WLAN Name:Office mit statischer IP
iface office inet static
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.255
gateway 192.168.0.1

# verbindet sich mit allen unverschlüsselten Netzwerken über DHCP
iface offen inet dhcp

#Schnittstelle automatisch aktivieren
auto wlan0


Jedes zu nutzende Funknetzwerk ist mit einem eigenen Eintrag für SSID, Verschlüsselungsart und Netzwerkschlüssel einzurichten. Der Eintrag id_str="Name" muß mit den Einstellungen in der Datei interfaces übereinstimmen.

Entsprechende Konfiguration der /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=2
network={
   ssid="WLAN-ID1"
   id_str="home"
   scan_ssid=1
   proto=RSN
   key_mgmt=WPA-PSK
   pairwise=CCMP
   group=TKIP CCMP
   psk="WPA2 Netzwerkschlüssel"
}
network={
    ssid="WLAN-ID 2"
    id_str="Office"
    scan_ssid=1
    proto=WPA
    key_mgmt=WPA-PSK
    pairwise=TKIP
    group=TKIP
    psk="WPA Netzwerkschlüssel"
}
network={
     ssid=""
     id_str="offen"
     scan_ssid=1
     key_mgmt=NONE
}

Die Einträge angepasst, um Fehler zu beheben oder um ein neues Netzwerk einzufügen, dann kann der Vorgang im laufenden Betrieb mit folgenden Befehlen unterbrochen und mit den geänderten Werten neu gestartet werden:

wpa_action wlan0 stop
wpa_action wlan0 reload
ifup wlan0