Wpa-roaming

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

wpa-roaming

wpa-roaming ist eine Methode, mit der man drahtlose Netzwerke durchsehen und sich mit ihnen verbinden kann, ohne eine graphische Desktopumgebung zu benötigen, was sehr bequem auf Notebooks ist. Einige Nutzer anderer Linux-Distributionen kennen vielleicht network-manager, der sehr gut aussieht, jedoch einige Nachteile hat:

  • er benötigt eine graphische Nutzeroberfläche
  • es läuft ein Daemon
  • er kann unzuverlässig sein


wpasupplicant ist eine Applikation, die nicht nur mit WPA verschlüsselte Netzwerke ansprechen kann, sondern alle drahtlose Netzwerke. In Kombination mit dem "klassischen" /etc/network/interfaces bietet sie eine sehr mächtige Methode, um sich mit Netzwerken zu verbinden, ohne irgendetwas zu tun. Man kann automatisch mit definierten oder allen freien Netzwerken verbunden werden. Und noch bequemer: wenn man das Hotpluggen einer drahtlosen Netzwerkkarte gestattet, wird man während des Hochfahrens des Rechners automatisch mit dem gewünschten Netzwerk verbunden und kann dieses nutzen, ohne dass man in eine graphische Desktopumgebung wie KDE einloggen muss.


Grundlegendes

Um wpa-roaming mit wpasupplicant auch in einer graphischen Desktopumgebung nutzen zu können, müssen zwei Pakete installiert sein:

  • wpasupplicant
  • wpa-gui


apt-get update && apt-get install wpasupplicant wpagui


wpasupplicant ist notwendig, wpa-gui ist eine sehr angenehme Ergänzung, um eine graphische Nutzeroberfläche zu haben, mit der man Netzwerkumgebungen und Access Points kontrolliert ansprechen kann.

Eine sehr gute theoretische Einführung und Beispiele für hochkomplexe Konfigurationen in /etc/network/interfaces und /etc/wpa_supplicant/wpa_supplicant.conf bietet unser aptosid-Handbuch, während dieser Wiki-Eintrag sich auf die praktische Seite konzentriert: wie wpa-roaming aufgesetzt wird und wie man es gemeinsam mit wpa_gui nutzt.

Auch hier kann man nachschauen (auf Englisch):

/usr/share/doc/wpasupplicant /usr/share/doc/wpagui


wpa-gui ohne Netzwerkkonfiguration

Als root fügt man /etc/network/interfaces Folgendes zu (die Bezeichnung der Netzwerkschnittstelle kann anders sein):

allow-hotplug wlan0
iface wlan0 inet manual
  wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


Als root erstellt man eine rohe /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1

 network={
        key_mgmt=NONE
 }


Diese Konfiguration erlaubt automatische Verbindung mit jeglichem offenen WLAN. Wer dies nicht möchte, setzt die Option "disabled=1" und kann sich mittels wpa-gui erst dann verbinden, wenn man sich verbinden möchte:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1

 network={
        key_mgmt=NONE
        disabled=1
 }


Der nächste Schritt sichert wpa_supplicant.conf vor Lesezugriff Dritter. Dies ist aus Sicherheitsgründen notwendig, da sich in dieser Datei geheim zu haltende Schlüssel für den Netzwerkzugang befinden:

chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf



wpa-roaming am Laufen

Voraussetzungen:

  • Man stellt sicher, dass der Nutzer Mitglied der Gruppe netdev ist (1)
  • Neustart des Netzwerks oder reboot (2)


(1) der bei der Installation von aptosid angelegte Nutzer ist Mitglied der Gruppe netdev

(2) falls ein Netzwerk aktiviert ist, stoppt man dies nun mit

ifdown <interface>


(3) nun aktiviert man das drahtlose Roaming-Netzwerk erstmalig mit

ifup <interface>


Benutzung von wpa_gui

Mit diesem Befehl startet man wpa_gui als Nutzer (man braucht den ganzen Pfad!):

/usr/sbin/wpa_gui

So sieht die Startmaske aus (ohne Daten, die sind bei mir halt schon definiert):

621807.png

Die Oberfläche zum Verwalten von Netzwerken:

436162.png

Um ein bekanntes Netzwerk zu nutzen, klickt man auf "add" und eine neue GUI mit Pulldown-Menüpunkten erscheint (unterstützt werden alle Netzwerkformen: ohne Verschlüsselung, WEP, WPA - man muss nur die korrekten Daten eingeben). Im Anschluss klickt man auch in diesem Fenster auf "add":

520391.png

Oder noch einfacher, man klickt auf "scan", um das Netzwerk zu durchsuchen

482457.png


und doppelklickt auf das gewünschte Netzwerk, um es hinzuzufügen (die Kenndaten werden automatisch übernommen, man muss nur mehr - so man es braucht - das Passwort oder die Passphrase in Text oder Hex eingeben) und klickt auf "add":

806554.png

Wenn alles zur Zufriedenheit funktioniert, kann man die Einstellungen mit "File > Save Configuration" in die Datei /etc/wpa_supplicant/wpa_supplicant.conf schreiben. Zu beachten ist, dass dabei alle Kommentarzeilen verloren gehen.


wpa-gui mit Netzwerkkonfiguration

Mit Hilfe von "IDString" und "Priority" wird gesteuert, mit welchem Netzwerk man sich bei Hochfahren des Rechners oder Aktivierung der Netzwerkkarte verbindet. Höchste Priorität ist "1000", niedrigste Priorität ist "0". Der IDString muss auch in /etc/network/interfaces eingetragen werden.

Hier die Syntax für den Eintrag in /etc/network/interfaces, zuerst bei aktivem DHCP-Server, der zweite ist bei fixer Zuordnung einer IP. Die Daten müssen natürlich an die echten Einstellungen angepasst werden:

# id_str="home_dhcp"
 iface home_dhcp inet dhcp

 # id_str="home_static"
 iface home_static inet static

        address 192.168.0.20
        netmask 255.255.255.0
        network 192.168.0.0

        broadcast 192.168.0.255
        gateway 192.168.0.1


Dazu nun ein Beispiel aus der Praxis. An meinem Notebook will ich automatisch mit meinem Heimnetzwerk verbunden werden, wenn ich zu Hause bin, so gab ich diesem den IDString "home" und Priorität "15". Wenn ich reise, will ich, dass das Notebook sich automatisch mit jedem verfügbaren freien, nicht mit einem Passwort geschützten Netzwerk verbindet. Diese Aktion erhielt den IDString "stalk" und Priorität "1" (sehr niedrig). Zu beachten ist, dass bei letzterer Methode nach Verbindung immer geprüft werden muss, ob diese legal ist und bei offensichtlicher Illegalität muss man die Verbindung sofort trennen. In Deutschland kann eine nicht genehmigte Nutzung eines offenen WLAN auch strafrechtliche Folgen haben.

So sehen die stanzas in /etc/network/interfaces aus:

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
  wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet dhcp
iface stalk inet dhcp


Und so in /etc/wpa_supplicant/wpa_supplicant.conf (SSID und Passwörter sind verändert oder nur erklärt):

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="my_ssid"
        scan_ssid=1
        psk=123ABC  ## Passphrase in Hexadezimal-code!
#       psk="passwort_in_ascii"
        key_mgmt=WPA-PSK
        pairwise=TKIP
        group=TKIP
        auth_alg=OPEN
        priority=15
        id_str="home"
}

network={
        ssid=""
        scan_ssid=1
        key_mgmt=NONE
        auth_alg=OPEN
        priority=1
        disabled=1    ### unterbindet automatisches Verbinden. Man braucht wpa_cli oder wpa_gui.
        id_str="stalk"
}


Anmerkung: die Option "disabled=1" verhindert, dass man ohne Zutun mit dem erstbesten offenen WLAN verbunden wird. Man muss mit wpa_cli oder wpa_gui entscheiden, dass man sich verbinden möchte. Wer automatisch mit irgendeinem WLAN verbunden werden möchte, nimmt entweder diese Option gar nicht in wpa_supplicant.conf auf oder setzt eine Raute vor die Zeile mit der Option "disabled=1".


WEP-Verschlüsselung

Falls mit WEP verschlüsselte Netzwerke permanent in wpa_supplicant.conf festgehalten werden sollen, ist die Syntax:

network={
	ssid="example wep network"
	key_mgmt=NONE
	wep_key0="abcde"
	wep_key1=0102030405
	wep_tx_keyidx=0
}


Anmerkungen

1. Einfache Wiederverwertbarkeit

Einmal aufgesetzt, können die Konfigurationsdateien ohne Probleme auf einem anderen Laptop oder PC mit WLAN-Karte weiter benutzt werden. Man kopiert /etc/network/interfaces (die Bezeichnung der Schnittstelle muss eventuell angepasst werden) und /etc/wpa_supplicant/wpa_supplicant.conf auf den anderen Rechner. Man muss danach nichts mehr installieren, nur mehr das Netzwerk und wpasupplicant (neu) starten oder rebooten. Es ist "wash & go" (TM).


2. Backup

Es ist hilfreich, ein Backup von /etc/network/interfaces und /etc/wpa_supplicant/wpa_supplicant.conf anzulegen, aber man sollte das Backup verschlüsseln, da es vertrauliche Informationen enthalten kann. Man kann dazu mit einem Passwort versehene Archivformate wie 7zip, zip, rar oder andere nutzen.


3. Knöpfchen für wpa_gui

Falls man ein Knöpfchen am Desktop haben möchte, erstellt man dieses ganz einfach durch Rechtsklick auf Kmenü > Internet > wpa_gui: "Eintrag zur Arbeitsfläche hinzufügen".


4. Versteckte SSIDs

Versteckte SSIDs werden erkannt, wenn "scan_ssid=1" im Netzwerkblock gesetzt ist.


5. Algorithmus zur Authentifizierung

Für WPA/WPA2-Verschlüsselung braucht man

 auth_alg=OPEN

Für statische WEP-Verschlüsselung kann diese Option im Netzwerkblock nötig sein:

  auth_alg=SHARED


Das ist es! Viel Spaß!

Übernommen aus dem sidux-wiki