Viele kennen die manuelle Eintragung von festen IP-Adressen für eth0 und wlan0 Interfaces auf dem Raspberry PI. Mir was es nicht Recht in der Datei /etc/network/interfaces alles eintragen zu müssen und auf das wpa_supplicant verzichten zu müssen.
Nun habe ich eine Konfiguration gefunden, die wirklich meinen Ansprüchen genügt und folgende Kriterien erfüllen muss:
- Eintragen von verschiedenen Accesspoint Konfigurationen in der Datei „interfaces“
- Nutzen von wpa_supplicant mit verschiedenen Access-Point Profiles
- Eintragung und Nutzung von mehreren wlan0 Profile mit dynamischen und statischen IP-Adressen.
- Nutzung von Unverschlüsselten WLAN-Zugängen
- Keine Klartext PSK-Keys für verschlüsselte WLAN-Profile
- Nutzung des Befehl „wpa_passphrase“
Hier ein Beispiel für die Datei „/etc/wpa_supplicant/wpa_supplicant.conf
# WLAN Nr.1 Name:office mit WPA2-Verschlüsselung network={ ssid="WLAN-ID1" id_str="office" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=TKIP CCMP psk=6ffa89a008a95de109d63ad526dc1ac22b9b647dd5960c54aabb150158c084a0 } # WLAN Nr.2 Name:dahoam mit WPA-Verschlüsselung network={ ssid="WLAN-ID2" id_str="dahoam" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK pairwise=TKIP group=TKIP psk=6ffa89a008a95de109d63ad526dc1ac22b9b647dd5960c54aabb150158c084a0 } # Unverschlüsselte Netzwerke network={ ssid=""
Nun passen wir die Datei „/etc/network/interfaces“ an wie folgt an einem Beispiel
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface office inet static address 192.168.10.8 netmask 255.255.255.0 network 192.168.10.255 gateway 192.168.10.1 iface dahoam inet dhcp wireless-power off
Nun kann man an zwei verschiedenen Standorten abhängig von der WLAN-SSID das entsprechende Interface „wlan0“ booten und bekommt im Profile „office“ eine feste IP-Adresse und „dahoam“ ( was in Bayern Zuhause bedeutet ) eine dynamische IP-Adresse zugewiesen.
Nutzung des Programm wpa_passphrase root@thethingbox:~# wpa_passphrase MeinSSID MeinWLANPasswort network={ ssid="MeinSSID" #psk="MeinWLANPasswort" psk=98a8008f0e2c516b2e343eacbeb0e18ea4b7f44ea9e1f159d2fdaadc144cf38f } root@thethingbox:~# wpa_passphrase MeinSSID2 MeinWLANPasswort2 network={ ssid="MeinSSID2" #psk="MeinWLANPasswort2" psk=1bb3dd83d3472a1badbaa8ce1abcb5ad5ba222a0544ec12f133dd567c1d167e2 } root@thethingbox:~# wpa_passphrase MeinSSID3 MeinWLANPasswort3 network={ ssid="MeinSSID3" #psk="MeinWLANPasswort3" psk=e09d3594ac3c2953d5385b54c3b8421d10c534a9e520b5773b8f72097f3dc8a6 }
Die Ausgabe kann direkt in die Datei „/etc/wpa_supplicant/wpa_supplicant.conf“ geschrieben werden. Wenn man
Viel Spass beim ausprobieren. Sollten sich Schreibfehler eingeschlichen haben, dann bitte mir melden, Danke.
Liebe Grüße , Joachim
hi joachim,
tolles beispiel, wie man wpa_supplicant nutzen kann! funktioniert auch wpa-eap, bzw. schonmal getestet?
gruß,
chris
Hallo Chris
versucht hab ich es nicht da ich keine solche Infrastruktur habe. Aber es sollte funktionieren.
Schau mal hier ein Beispiel:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
network={
ssid="example"
scan_ssid=1
key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="very secret passphrase"
eap=TTLS PEAP TLS
identity="user@example.com"
password="foobar"
ca_cert="/etc/cert/ca.pem"
client_cert="/etc/cert/user.pem"
private_key="/etc/cert/user.prv"
private_key_passwd="password"
phase1="peaplabel=0"
ca_cert2="/etc/cert/ca2.pem"
client_cert2="/etc/cer/user.pem"
private_key2="/etc/cer/user.prv"
private_key2_passwd="password"
}
Wichtig ist das „id_str=“ in dem TAG drin steht wo die Konfiguration eingetragen ist.
Grüße Joachim