Wpa supplicant: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
K (added: unsec open wifi, option id_str)
Zeile 48: Zeile 48:
erstmal ansehen:
erstmal ansehen:


<source lang=bash>
<source lang=bash>cat /etc/wpa_supplicant/wpa_supplicant.conf</source>
cat /etc/wpa_supplicant/wpa_supplicant.conf  
</source>


Die Datei kann neben den Netzwrken im Kopf ein paar allg. Angaben enthalten:
Die Datei kann neben den Netzwrken im Kopf ein paar allg. Angaben enthalten:
Zeile 84: Zeile 82:


<source lang=bash>cat >>/etc/wpa_supplicant/wpa_supplicant.conf<<EOF
<source lang=bash>cat >>/etc/wpa_supplicant/wpa_supplicant.conf<<EOF
#### 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 ### ### ###
### ### ### C3D2 ### ### ###
network={
network={
         ssid="C3D2"
         ssid="C3D2"
         key_mgmt=NONE
         key_mgmt=NONE
         priority=0
         priority=2
        id_str="C3D2"
}
}
### ### ### C3D2 ### ### ###
### ### ### C3D2 ### ### ###
Zeile 97: Zeile 104:
==== mit <code>wpa_passphrase</code> am Bsp. [[C3D2-fallback]] als Einzeiler ====
==== mit <code>wpa_passphrase</code> am Bsp. [[C3D2-fallback]] als Einzeiler ====


Die Konfiguration muss nach dem schreiben erst neu gelesen werden um wirksam zu werden, z.B. indem das if neu gestartet wird.
Die Konfiguration muss nach dem schreiben erst neu gelesen werden um wirksam zu werden.
 
''so kann die Konfigurationsdatei für ein Netzwerk erweitert werden:''


<source lang=bash>
''so kann die Konfigurationsdatei für ein Netzwerk erweitert werden,''
wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf
Der Prompt erwartet die Passphrase
</source>


Der Propt erwartet die Passphrase
<source lang=bash>wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf</source>


''entsorechend ohne Prompt''
''entsprechend ohne Prompt''


<source lang=bash>
<source lang=bash>echo "zweimalDasUebliche" | wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf</source>
echo "zweimalDasUebliche" | wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf
</source>


==== mit <code>wpa_cli</code> ====
==== mit <code>wpa_cli</code> ====

Version vom 20. Juni 2014, 07:56 Uhr

Ist eine Variante wie die WLAN-Netzwerke konfiguriert werden können. Im Vergleich zum Networkmanager u.a. unter Gnome (Paket gnome-network-manager) 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

Debian

1. Paket installieren

sudo apt-get update
sudo apt-get install wpasupplicant

2. Rechte auf Interfaces beschränken

sudo chmod 0600 /etc/network/interfaces

3. wpa_supplicant.conf erstellen, s. Konfiguration

4. Interfaces prüfen

cat /etc/network/interfaces

oder setzen:

sudo cat >/etc/network/interfaces<<EOF
# 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

5. Netzwerkdienst neustarten

sudo /etc/init.d/networking restart

Konfiguration

erstmal ansehen:

cat /etc/wpa_supplicant/wpa_supplicant.conf

Die Datei kann neben den Netzwrken 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:

cat >>/etc/wpa_supplicant/wpa_supplicant.conf<<EOF
#### 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

Die Konfiguration muss nach dem schreiben erst neu gelesen werden um wirksam zu werden.

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

echo "zweimalDasUebliche" | wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf

mit wpa_cli

Dieses Tool ist eher für den ambitionierten Anwender / zum Testen zu empfehlen, Konfigurationsdatei zuvor gesichern!

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

Quellen