Wpa supplicant: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
K (backlink nw-bonding-failover)
KKeine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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.
{{SEITENTITEL:wpa_supplicant}}
[[wpa_supplicant]] ist eine Variante, wie Verbindungen mit dem WLAN verwaltet werden können.


== Installation ==
== Vergleich mit anderen Diensten ==


=== Debian ===
=== allgemeine Vor- und Nachteile ===


1. Paket installieren
; allgemeine Vorteile:
* via [[w:de:Kommandozeile|Kommandozeile]] zu benutzen
* [[#Konfiguration | Konfigurationsdatei <code>wpa_supplicant.conf</code>]] ist einfache [[w:de:Textdatei|Textdatei]]
* Funktionalität zur möglichen Priorisierung von Netzwerken
* brauchbare Dokumentation
* Anreiz Netzwerkkonfiguration auch manuell vorzunehmen
* grafisches Frontend mit [[#wpa_supplicant-gui]] verfügbar


<source lang=bash>sudo apt-get update
; allgemeine Nachteile:
sudo apt-get install wpasupplicant</source>
* bei Verbindungsproblemen ist ggf. der Dienst <tt>wpa_supplicant</tt> im Weg


2. Rechte auf Interfaces beschränken
=== Vergleich mit NetworkManager ===


<source lang=bash>sudo chmod 0600 /etc/network/interfaces</source>
Im Vergleich zum NetworkManager ([http://manpages.debian.org/cgi-bin/man.cgi?query=networkmanager debianman:networkmanager])<ref>https://wiki.debian.org/NetworkManager</ref>, beispielsweise unter [[w:de:Gnome|Gnome]]<ref>https://wiki.gnome.org/Projects/NetworkManager</ref> ([https://packages.debian.org/search?keywords=network-manager-gnome package <code>network-manager-gnome</code>]), ist [[wpa_supplicant]] weniger fehleranfällig und leichter direkt aus dem Terminal konfigurierbar.


3. wpa_supplicant.conf erstellen, [[#Konfiguration|s. Konfiguration]]
== Installation ==


4. Interfaces prüfen
=== Kompatibilität ===


<source lang=bash>cat /etc/network/interfaces</source>
Vorab sollte anhand der [http://hostap.epitest.fi/wpa_supplicant/ Liste beim Projekt] geprüft werden, ob eure Hardware auch kompatibel ist.


oder setzen:
=== Debian ===


<source lang=bash>sudo cat >/etc/network/interfaces<<EOF
;Pakete:
* wpasupplicant (Service und Tools)
* wpagui (grafisches Frontend)
 
; Paket installieren:
: <source lang=bash>sudo apt-get update</source>
: <source lang=bash>sudo apt-get install wpasupplicant</source>
; Rechte auf Interfaces beschränken:
: <source lang=bash>sudo chmod 0600 /etc/network/interfaces</source>
; wpa_supplicant.conf erstellen:
: siehe [[#Konfiguration]]
; [[Network-Interface|Interface]]s prüfen:
:: <source lang=bash>cat /etc/network/interfaces</source>
: oder setzen:
:: <source lang=bash>sudo vi /etc/network/interfaces</source>
<pre>
# The loopback network interface
# The loopback network interface
auto lo
auto lo
Zeile 30: Zeile 52:
iface wlan0 inet dhcp
iface wlan0 inet dhcp
   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
EOF</source>
# EOF
</pre>
: alternativ s.a. [[Network-bonding-failover]] um ''ohne Verbindungsabbruch zwischen LAN und WLAN wechseln'' zu können.
; Netzwerkdienst neustarten:
: <source lang=bash>sudo /etc/init.d/networking restart</source>


alternativ s.a. [[Network-bonding-failover]] um ''ohne Verbindungsabbruch zwischen LAN und WLAN wechseln'' zu können.
== Konfiguration ==
 
5. Netzwerkdienst neustarten
 
<source lang=bash>sudo /etc/init.d/networking restart</source>


== Konfiguration ==
Die Konfigurationsdatei (Standard: <code>/etc/wpa_supplicant/wpa_supplicant.conf</code>) muss nach jeder Änderung erst neu eingelesen werden um wirksam zu werden. Mit <code>wpa_cli</code> kann <code>wpa_supplicant</code> direkt gesteuert werden.


erstmal ansehen:
; erstmal ansehen
: <source lang=bash>cat /etc/wpa_supplicant/wpa_supplicant.conf</source>


<source lang=bash>cat /etc/wpa_supplicant/wpa_supplicant.conf</source>
; Die Datei kann neben den Netzwerken im Kopf ein paar allg. Angaben enthalten:


Die Datei kann neben den Netzwrken im Kopf ein paar allg. Angaben enthalten:
<pre>
<pre># general config
# general config


ctrl_interface=/var/run/wpa_supplicant
ctrl_interface=/var/run/wpa_supplicant
Zeile 59: Zeile 82:
eapol_version=1
eapol_version=1


#allow updating config by wpa_cli
# allow updating config by wpa_cli
#update_config=1</pre>
# update_config=1
</pre>


==== Priorisierung ====
==== Priorisierung ====


Für jedes Netzwerk kann über den Wert <tt>priority=x</tt> ein Wert <tt>x</tt> (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.
Für jedes Netzwerk kann über den Wert <code>priority=x</code> ein Wert <code>x</code> (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 ====
==== Keine / Doppelte SSID ====


Um eine unerwünschte Verbindung zu APs mit gleicher SSID zu verhindern kann die BSSID definiert werden.
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 <tt>scan_ssid=1</tt> aktiv nach der SSID gescannt werden.
Wenn der AP keine SSID sendet, muss für das Netzwerk mit <code>scan_ssid=1</code> aktiv nach der SSID gescannt werden.


=== Offenes WLAN konfigurieren ===
=== Offenes WLAN konfigurieren ===
Zeile 75: Zeile 99:
die Datei kann so zum [[WLAN#WLAN_C3D2|freien WLAN im HQ]] führen:
die Datei kann so zum [[WLAN#WLAN_C3D2|freien WLAN im HQ]] führen:


<source lang=bash>cat >>/etc/wpa_supplicant/wpa_supplicant.conf<<EOF
<source lang=bash>vi /etc/wpa_supplicant/wpa_supplicant.conf</source>
#### general unsec network ####
Und anhängen von..
<pre>
# 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:  
# 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={
#network={
Zeile 84: Zeile 110:
#}
#}


### ### ### C3D2 ### ### ###
# ## ### ### C3D2 ### ### ## #
network={
network={
         ssid="C3D2"
         ssid="C3D2"
Zeile 91: Zeile 117:
         id_str="C3D2"
         id_str="C3D2"
}
}
### ### ### C3D2 ### ### ###
# ## ### ### C3D2 ### ### ## #
EOF</source>
#EOF </pre>


=== Passwortgeschütztes WLAN konfigurieren ===
=== Passwortgeschütztes WLAN konfigurieren ===


==== mit <code>wpa_passphrase</code> am Bsp. [[C3D2-fallback]] als Einzeiler ====
==== mit <code>[[man:wpa_passphrase|wpa_passphrase]]</code> ====


Die Konfiguration muss nach dem schreiben erst neu gelesen werden um wirksam zu werden.
: am Bsp. [[C3D2-fallback]] als Einzeiler


''so kann die Konfigurationsdatei für ein Netzwerk erweitert werden,''
''so kann die Konfigurationsdatei für ein Netzwerk erweitert werden,''
Zeile 105: Zeile 131:
<source lang=bash>wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf</source>
<source lang=bash>wpa_passphrase C3D2-fallback >> /etc/wpa_supplicant/wpa_supplicant.conf</source>


''entsprechend ohne Prompt''
''entsprechend ohne Prompt'' - '''das Passwort wird sowohl in der Shell History als auch in der Konfigurationsdatei im Klartext abgelegt'''


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


==== mit <code>wpa_cli</code> ====
==== mit <code>[[man:wpa_cli|wpa_cli]]</code> ====


Dieses Tool ist eher für den ambitionierten Anwender / zum Testen zu empfehlen, Konfigurationsdatei zuvor gesichern!
<code>wpa_cli</code> ist eher für die ambitionierte Anwenderin und zum Testen zu empfehlen. Konfigurationsdatei zuvor sichern!


''Vorgehensweise:''
''Vorgehensweise:''
Zeile 128: Zeile 154:
''unter <code>wpa_cli</code>''
''unter <code>wpa_cli</code>''


<pre>list_networks
<pre>
list_networks
scan
scan
scan_results
scan_results
Zeile 137: Zeile 164:
select_network 0
select_network 0
eneable_network 0
eneable_network 0
save_config</pre>
save_config
</pre>
 
== Deaktivieren ==
 
Um das [[Netzwerk manuell konfigurieren]] zu können, muss WPA Supplicant zunächst deaktiviert werden.
 
<!-- Bitte hier sinnvoll ergänzen. -->
<source lang=bash>
???
</source>
 
== wpa_supplicant-gui ==
 
Für die grafische Bedienung gibt es auch eine Erweitung.
 
<!-- Doku erwünscht -->


== Quellen ==
== Quellen ==
Zeile 144: Zeile 187:
* [http://sirlagz.net/2012/08/27/how-to-use-wpa_cli-to-connect-to-a-wireless-network/ wpa_cli erläutert]
* [http://sirlagz.net/2012/08/27/how-to-use-wpa_cli-to-connect-to-a-wireless-network/ wpa_cli erläutert]
* [http://www.lsi.upc.edu/lclsi/Manuales/wireless/files/wpa_supplicant.conf Beispiel-Konfigurationsdatei]
* [http://www.lsi.upc.edu/lclsi/Manuales/wireless/files/wpa_supplicant.conf Beispiel-Konfigurationsdatei]
== Einzelnachweise ==
<references />
[[Kategorie:Netzwerk]]

Aktuelle Version vom 25. Dezember 2014, 18:00 Uhr

wpa_supplicant ist eine Variante, wie Verbindungen mit dem WLAN verwaltet werden können.

Vergleich mit anderen Diensten

allgemeine Vor- und Nachteile

allgemeine Vorteile
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.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.

???

wpa_supplicant-gui

Für die grafische Bedienung gibt es auch eine Erweitung.


Quellen

Einzelnachweise