WLAN: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Keine Bearbeitungszusammenfassung
(48 dazwischenliegende Versionen von 19 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== (W)LAN und Arch Linux ==
{{veraltet}}
Methoden der Authentifizierung - welches Tool für was?
Dieser Artikel beschreibt Möglichkeiten, sich teils automatisiert zu auswählbaren Netzwerken zu verbinden und diese dann zu nutzen. Hauptaugenmerk liegt dabei auf kabellosen WLAN-Verbindungen, aber etliche Konzepte/Tools lassen sich auch für kabelgebundene Verbindungen nutzen, teils gleichzeitig oder im Wechsel.


Dieser Artikel beschreibt Möglichkeiten, sich teils automatisiert zu auswählbaren Netzwerken zu verbinden und diese dann zu nutzen. Hauptaugenmerk liegt dabei auf kabellose WLAN-Verbindungen, aber etliche Konzepte/Tools lassen sich auch für kabelgebundene Verbindungen nutzen, teils gleichzeitig oder im Wechsel.
== Überblick ==
Für alle Wlan-Karten werden die Wireless-Tools zur Einrichtung benötigt:


=== Überblick ===
pacman -S wireless_tools iw crda
Es wird in diesem Artikel davon ausgegangen, daß die Wireless-Netzkarte schon erkannt ist. Das Modul(Treiber) für die Karte also geladen ist. Nützliche Befehle um das zu erkennen sind (als root ausführen):


Es wird in diesem Artikel davon ausgegangen, dass die Wireless-Netzkarte schon erkannt ist, das Modul(Treiber) für die Karte also geladen ist. Nützliche Befehle um das zu erkennen sind (als root ausführen):


<tt>ifconfig -a</tt>
ip link


zeigt alle Netzdevices
Eine Liste aller Wlan-Netzwerkgeräte lässt sich aufrufen mit dem Befehl


iwconfig


<tt>iwconfig</tt>
Wichtig zu wissen ist, welchen Namen die WLAN-Karte hat. Gebräuchlich sind z.B. wlan0, eth1, ath0 (üblich bei Atheros Chips), ra0 (üblich bei RaLink Chips).
Die Nummern hinter den Textbezeichnern können varieren.


zeigt auch alle Netzdevices, prüft aber darauf, welches mit den kabellosen Erweiterungen (wireless extensions) umgehen kann, also wlan-fähig ist.
Im folgenden gehen wir von einer Atheroskarte mit dem Namen ath0 aus. Dieser muss je nach System angepasst werden.


iwlist ath0 scan


Wichtig zu wissen ist, welchen Namen die WLAN-Karte hat. Gebräuchlich sind z.B. wlan0, eth1, ath0, ra0 (die Nummern hinter den Textbezeichnern können varieren.Ich gehe in diesem Artikel von meiner WLAN-Cardbus-Karte aus, welche den Device-Namen ath0 hat. Ihr müßt das an euren Kartenbezeichner anpassen.
scannt die momentan erreichbaren WLAN-Netze bzw. AccessPoints.  


WLAN-Netze sind entweder unverschlüsselt, d.h. offen, einfach mit WEP oder fortgeschritten mit WPA/WPA2 verschlüsselt. Je nach Verschlüsselung kommen verschiedene Verbindungsmethoden in Frage.


<tt>iwlist ath0 scan</tt>
Scannt die momentan erreichbaren WLAN-Netze bzw. AccessPoints.
Was wir jetzt wollen ist, uns kabellos mit einer Gegenstelle zu verbinden und über diese Verbindung unseren Netzwerkverkehr (hier TCP/IP) zu transportieren. Wichtig bei diesem Vorgang: das sind zwei separate Vorgänge.
Die Verbindung zu einer Gegenstelle herstellen ist vergleichbar bei einer kabelgebundenen Verbindung mit dem Einstecken des Kabels in einen Hub/Switch. Ohne diese physikalische Teilnahme am LAN kann auf der logischen (Software)-Ebene kein Netzwerkprotokoll transportiert werden (hier TCP/IP, z.B. eine IP-Adresse beziehen).
Um nun kabellos diese "physikalische" Verbindung (den "Link") aufzubauen gibt es eigene Befehle und Konzepte, die sich aber je nach Art dieser Verbindung unterscheiden.Das Medium Funkübertragung bringt es mit sich, daß wir nicht bestimmen können - im Gegensatz zur kabelgebundenen Verbindung - wer ausschließlich unsere Daten bekommt bzw. von wem wir diese erhalten. Ähnlich wie Radio werden Signale in den Äther verschickt und jeder mit einem geeigneten Empfänger kann diese Daten nutzen.In der Regel bestimmt unsere Gegenstelle (meist ein AccessPoint), wie wir die Verbindung dahin aufbauen können. Meist gebraucht dabei sind:
'''Open (Offen)'''
Die Gegenstelle verlangt keinerlei Authentifizierung (Paßwort o.ä.), die Übertragung der Daten geschieht unverschlüsselt.
'''WEP'''
Die Gegenstelle verlangt ein Paßwort und die Daten werden verschlüsselt übertragen. Diese Art der Übertragung ist mittlerweile als sehr unsicher einzustufen, da durch Mithören der Funkdaten sehr einfach der Schlüssel (das Paßwort) errechenbar ist.
'''WPA/PSK'''
Die Gegenstelle verlangt ein Paßwort und die Daten werden verschlüsselt übertragen. Diese Art der Verschlüsselung macht es "Mithörern" wesentlich schwerer bis nahezu unmöglich, anhand der mitgehörten Daten den Schlüssel zu errechnen. Es ist die im Privatbereich bevorzugte Methode der Funkdaten-Verschlüsselung.
Welches Wlan-Konzept bei ArchLinux eignet sich für welche Übertragung:
{| class="prettytable"
| <center>'''Methode'''</center>
| <center>'''Open'''</center>
| <center>'''WEP'''</center>
| <center>'''WPA'''</center>


In der folgenden Tabelle kann abgelesen werden, welches Wlan-Konzept bei Arch Linux sich für welche Verschlüsselung eignet:
{|{{prettytable}}
! Methode
! Open
! WEP
! WPA
|-
|-
| rc.conf
| rc.conf
Zeile 62: Zeile 38:
| <center>X</center>
| <center>X</center>
| <center>-</center>
| <center>-</center>
|-
|-
| Netzwerk-Profile
| Netzwerk-Profile
Zeile 68: Zeile 43:
| <center>X</center>
| <center>X</center>
| <center>X</center>
| <center>X</center>
|-
|-
| wpa_supplicant
| wpa_supplicant
Zeile 74: Zeile 48:
| <center>X</center>
| <center>X</center>
| <center>X</center>
| <center>X</center>
|-
|-
| Networkmanager
| Networkmanager
Zeile 80: Zeile 53:
| <center>X</center>
| <center>X</center>
| <center>X</center>
| <center>X</center>
|}
Weiterhin ist wichtig bei der Suche nach der geeigneten Methode zu wissen: Befinde ich mich immer/meist an einer Stelle (Zuhause oder Zuhause/Büro) oder bin ich oft/meist mobil in unterschiedlichen Netzen unterwegs ("road warrior"). Verbinde ich mich also meist zu festen, bekannten Netzwerken oder bewege ich mich oft in "unbekanntem" Gebiet (Hot-Spots, Service). Für die nachfolgend vorgestellten Konzepte ist es dabei auch meist unerheblich, ob die Verbindung kabelgebunden (Ethernet) oder kabellos (WLan) geschieht. Oder beides. Sowohl Ethernet als auch WLan können von dem einen oder anderen Konzept profitieren.
Legende:<br>
''Fest'' = immer die gleiche Verbindung zu EINER Gegenstelle<br>
''Mehrere'' = verschiedene Verbindungen wählbar, diese sind aber vordefiniert.<br>
''Mobil'' = verschiedene Verbindungen, die auch zeitnah erstellt werden können.<br>
<nowiki>* = es gibt Einschränkungen</nowiki>
{| class="prettytable"
| <center>'''Methode'''</center>
| <center>'''Fest'''</center>
| <center>'''Mehrere'''</center>
| <center>'''Mobil'''</center>
|-
| rc.conf
| <center>X</center>
| <center>-</center>
| <center>-</center>
|-
| Netzwerk-Profile
| <center>X</center>
| <center>X</center>
| <center>-*¹</center>
|-
| wpa_supplicant
| <center>X</center>
| <center>X</center>
| <center>X*²</center>
|-
|-
| Networkmanager
| [[wicd]]
| <center>X</center>
| <center>X</center>
| <center>X</center>
| <center>X</center>
| <center>X</center>
| <center>X</center>
|}
|}
<nowiki>*¹ = bezieht sich auf das händische Editieren einer Konfig-Datei</nowiki><br>
<nowiki>*² = bezieht sich auf das Tool ====>"wpa_gui"</nowiki>


Weiterhin ist auch die Anzahl der Netze, zu denen man sich verbinden möchte, ausschlaggebend. Ist z.B der PC stationär, sind die Flexibilitätsanforderungen höchstwahrscheinlich geringer als bei einem Netbook eines Reisenden.
Für die nachfolgend vorgestellten Konzepte ist es meist unerheblich, ob die Verbindung kabelgebunden (Ethernet) oder kabellos (WLan) geschieht.


Ein weiteres Kriterium für die bevorzugte Methode ist, ob das System selbständig prüfen soll, ob sich eine Netzwerkverbindung geändert hat und ggf. daraufhin bestimmte Aktionen auslösen soll. Oder ob diese Aufgabe der jeweilige Benutzer entscheiden will/muß.
'''rc.conf'''


Das kann z.B. der Wechsel von kabelgebundener Verbindung (Ethernet) zu WLan sein (Notebook aus der Docking-Station genommen). Oder ob per WLan automatisch eine Verbindung aufgebaut wird sobald eine bekannte Funkzelle gefunden wird.
Es kann eine einzige feste Verbindung definiert werden. Mehr ist nicht möglich.


Legende:<br>
'''netcfg (Netzwerk-Profile)'''
<nowiki>* = es gibt Einschränkungen</nowiki>


{| class="prettytable"
Es können mehrere Profile eingerichtet werden, die per Hand gestartet werden müssen. Kommt ein neues dazu, muss eine neue Profildatei erstellt werden. Soll der WLAN-Aufbau automatisch erfolgen, muss dies mit dem Zusatzprogramm ifplugd nachgerüstet werden.
| <center>'''Methode'''</center>
| <center>'''Benutzer'''</center>
| <center>'''Automatisch'''</center>


|-
'''wpa_supplicant'''
| rc.conf
| <center>X</center>
| <center>-*</center>


|-
Es können mehrere Verbindungen eingerichtet werden. Für eine mobile Verwendung wird jedoch das Programm wpa_gui benötigt.
| Netzwerk-Profile
| <center>X</center>
| <center>-*</center>


|-
'''Networkmanager'''
| wpa_supplicant
| <center>X</center>
| <center>-*</center>
 
|-
| Networkmanager
| <center>X</center>
| <center>X</center>


|}
Anlegen vieler Profile ist möglich, Automatischer Verbindungsaufbau und -wechsel, Grafische Oberfläche zur Konfiguration.
<nowiki>* = bezieht sich auf die Nutzung des Tools ====>"ifplugd"</nowiki>


'''Wicd'''


Ein weiteres Kriterium kann sein, ob direkt nach dem Booten eine WLan-Verbindung bestehen soll um z.B. NFS/Samba-Freigaben zu mounten oder Dienste anzubieten ohne daß ein User angemeldet ist.
Ähnlich wie Networkmanager, kann aber auch vollständig ohne grafische Oberfläche benutzt werden. Die Anmeldung in schon bekannten Wlan-Netzen kann hier auch ohne Nutzeranmeldung automatisch erfolgen.
 
Legende:<br>
<nowiki>* = es gibt Einschränkungen</nowiki>
 
{| class="prettytable"
| <center>'''Methode'''</center>
| <center>'''Ja'''</center>
| <center>'''Nein'''</center>
 
|-
| rc.conf
| <center>X</center>
|
 
|-
| Netzwerk-Profile
| <center>X</center>
|
 
|-
| wpa_supplicant
| <center>X</center>
|
 
|-
| Networkmanager
|
| <center>X*</center>
 
|}
<nowiki>* = eine kabelgebundene Ethernet-Verbindung ist nach dem Booten möglich, aber WLan-Verbindungen erfordern daß ein User angemeldet ist und ein Windowmanager läuft, da die Authentifizierungs-Daten aus dem Gnome-Keyring oder bei KDE über den kwallet-Schlüsselring benötigt werden.</nowiki>


== Konzepte ==
== Konzepte ==
=== rc.conf (Arch Linux WLan Einstellungen) ===
=== rc.conf (Arch Linux WLan Einstellungen) ===
Diese Methode ist am geeignetsten, um sich immer zu einer vorgegebenen Gegenstelle zu verbinden, wobei diese Verbindung unverschlüsselt oder allerhöchsten durch WEP abgesichert ist.
Diese Methode ist am einfachsten, um sich immer zu einer vorgegebenen Gegenstelle zu verbinden, wobei diese Verbindung unverschlüsselt oder allerhöchstens durch WEP abgesichert ist.
 


Dazu wird das Netzdevice in der Datei ''/etc/rc.conf'' bekannt gemacht.
Dazu wird das Netzdevice in der Datei ''/etc/rc.conf'' bekannt gemacht.
Zeile 212: Zeile 98:


<tt>ath0="ath0 192.168.1.100 ... "</tt>
<tt>ath0="ath0 192.168.1.100 ... "</tt>


Im Netzwerk-Bootscript bei Arch Linux gibt es einen Teil, der kabellose Netzwerkkarten besonders behandelt (den "Link" aufbaut). Das kabellose Device wird dabei genauso eingerichtet wie eine normale Ethernet-Karte. Über Zusatzeinstellungen in einer Extra-Datei ''/etc/conf.d/wireless'' wird dieses Device als WLan-Device eingerichtet.
Im Netzwerk-Bootscript bei Arch Linux gibt es einen Teil, der kabellose Netzwerkkarten besonders behandelt (den "Link" aufbaut). Das kabellose Device wird dabei genauso eingerichtet wie eine normale Ethernet-Karte. Über Zusatzeinstellungen in einer Extra-Datei ''/etc/conf.d/wireless'' wird dieses Device als WLan-Device eingerichtet.


Um sich also zum eigenen AccessPoint mit der Kennung(ESSID) "MyHome" zu verbinden und nach erfolgreicher Verbindung darüber eine IP dynamisch zugewiesen zu bekommen:
Um sich also zum eigenen AccessPoint mit der Kennung(ESSID) "MyHome" zu verbinden und nach erfolgreicher Verbindung darüber eine IP dynamisch zugewiesen zu bekommen:
<pre>
<pre>
#/etc/rc.conf
#/etc/rc.conf
Zeile 227: Zeile 110:
#/etc/conf.d/wireless
#/etc/conf.d/wireless
wlan_ath0="ath0 essid MyHome"
wlan_ath0="ath0 essid MyHome"
# Für eine WEP-Verbindung mit Paßwort:
# Für eine WEP-Verbindung mit Passwort:
wlan_ath0="ath0 essid Myhome key 12345678"
wlan_ath0="ath0 essid Myhome key 12345678"
# bzw. der Schlüssel als Klartext:
# bzw. der Schlüssel als Klartext:
Zeile 234: Zeile 117:


Testen und per Hand diese Verbindung aufbauen:
Testen und per Hand diese Verbindung aufbauen:
  /etc/rc.d/network ifdown ath0
  /etc/rc.d/network ifdown ath0
   
   
  /etc/rc.d/network ifup ath0
  /etc/rc.d/network ifup ath0


Wenn alles funktioniert hat, dann sollte jetzt:
Wenn alles funktioniert hat, dann sollte jetzt:


<tt>ifconfig ath0</tt>
ip addr show ath0


die WLan-Karte als UP mit der zugewiesenen Ip-Adresse zeigen
die WLan-Karte als UP mit der zugewiesenen Ip-Adresse zeigen


<tt>route -n</tt>
route -n


sollte ein Default-Gateway (UG) mit der Destinantion 0.0.0.0 zeigen.
sollte ein Default-Gateway (UG) mit der Destinantion 0.0.0.0 zeigen.


<tt>cat /etc/resolv.conf</tt>
cat /etc/resolv.conf


sollte uns einen oder mehrere Nameserver zeigen.
sollte uns einen oder mehrere Nameserver zeigen.


<tt>ping www.google.de</tt>
ping www.google.de


sollte mit Antwortpaketen beantwortet werden.
sollte mit Antwortpaketen beantwortet werden.
Zeile 263: Zeile 144:
Logdatei /var/log/everything.log auswerten
Logdatei /var/log/everything.log auswerten


Siehe auch Wiki-Artikel "Netzwerkprobleme"
Siehe auch Wiki-Artikel [[Netzwerkprobleme]]


=== Netzwerk-Profile ===
=== Netzwerk-Profile ===
Diese Methode erlaubt während des Bootvorgangs oder nachträglich das Wählen zwischen unterschiedlichen Netzwerkverbindungen (egal ob Ethernet oder Wlan). Hierbei kann für Wlan auch eine WPA-verschlüsselte Verbindung eingerichtet werde.


{{hinweis|Folgende Ausführungen sind nicht mehr aktuell.}}


Für WPA wird gebraucht:
Diese Methode erlaubt während des Bootvorgangs oder nachträglich das Wählen zwischen unterschiedlichen Netzwerkverbindungen (egal, ob Ethernet oder WLAN). Hierbei kann für WLAN auch eine WPA-verschlüsselte Verbindung eingerichtet werden.


pacman -Sy wpa_supplicant
Zur Nutzung unterschiedlicher Netwerkprofile wird ''core/netcfg'' und ''core/dialog'' gebraucht:


pacman -S netcfg dialog


Die verschiedenen Profile liegen in ''/etc/network-profiles''. Anfangs befindet sich nur eine Vorlage darin, die Datei ''template''.
Für WPA wird zusätzlich gebraucht:


Anhand dieser Datei können jetzt unterschiedliche Profile erstellt werden. Profile können z.B. sein: ein Profil für Ethernet zuhause mit statischer IP-Adresse, eines für Ethernet mit DHCP für unterwegs, eines für die WLAN-Verbindung (verschlüsselt WPA), usw.
pacman -S wpa_supplicant


Die zu nutzenden Verbindungsprofile müssen in ''/etc/network.d'' abgelegt werden. Im Unterordner ''examples/'' sind bereits einige Beispielverbindungen gespeichert. Zur Nutzung müssen diese nur kopiert werden.


Ich stelle hier zwei Profile vor, um das Prinzip deutlich zu machen. Kommentare zu den einzelnen Parametern finden sich in der ''template'' Datei.
Anhand der Beispielprofile können jetzt unterschiedliche Profile erstellt werden. Profile können z.B. sein: ein Profil für Ethernet zuhause mit statischer IP-Adresse, eines für Ethernet mit DHCP für unterwegs, eines für die WLAN-Verbindung, usw. Am besten sucht man sich das hier am besten passende heraus und modifiziert es dementsprechend.
 
Hier sind zwei Beispielprofile, die aber auch im ''examples/'' Ordner zu finden sind.


* Profil für Ethernet mit statischer IP-Adresse
* Profil für Ethernet mit statischer IP-Adresse
* WPA-verschlüsselte kabellose Verbindung
* Eine einfache WPA2-PSK-verschlüsselte Verbindung (vor allem für Heimnetzwerke)
 


<pre>
<pre>
#/etc/network-profiles/home-lan
#/etc/network-profiles/examples/ethernet-static


# Profil: LAN-Zuhause mit statischer IP
# Profil: LAN-Zuhause mit statischer IP
#
#
DESCRIPTION="Home LAN "
CONNECTION='ethernet'
# Wird im Menü angezeigt
DESCRIPTION='A basic static ethernet connection using iproute'
# Zugeordnete Schnittstelle
INTERFACE='eth0'
IP='static'
ADDR='192.168.1.23'
GATEWAY='192.168.1.1'
DNS=('192.168.1.1')
</pre>


# Network Settings
INTERFACE=eth0
HOSTNAME=myhost
# Interface Settings (use IFOPTS="dhcp" for DHCP)
IFOPTS="192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255"
GATEWAY=192.168.1.1
# DNS Settings (optional)
DOMAIN=local.lan
DNS1=192.168.1.1
DNS2=
</pre>


<pre>
<pre>
#/etc/network-profiles/uni-wlan
#/etc/network.d/WLAN-Zuhause


# Profil: Uni-Zugang mit WPA-Verschluesselung, IP ueber DHCP
#Profil: W-LAN zuhause mit einfacher WPA-PSK-Verschlüsselung
#
DESCRIPTION="Uni WLAN"


# Network Settings
CONNECTION='wireless'
INTERFACE=ath0
DESCRIPTION='Angezeigte Beschreibung'
HOSTNAME=myhost
# Genutzte Schnittstelle
 
INTERFACE='wlan0'
# Interface Settings (use IFOPTS="dhcp" for DHCP)
SECURITY='wpa'
IFOPTS="dhcp"
ESSID='Name des Netzwerks'
KEY='Dein-Pre-Shared-Key'
# DNS Settings (optional)
# Die IP kann auch statisch festgelegt werden. Zumeist bieten heutige Router jedoch DHCP an.
#DOMAIN=localdomain
IP='dhcp'
#DNS1=192.168.0.1
# Auskommentieren, wenn das Netzwerk unsichtbar ist.
#DNS2=
#HIDDEN=yes
# Wireless Settings (optional)
ESSID=UniESSID
#KEY=
#IWOPTS="mode managed essid $ESSID channel 11 key s:$KEY"
WIFI_INTERFACE=ath0
#WIFI_WAIT=5            # seconds to wait for the wireless card to
                        # associate before bringing the interface up
USEWPA="yes"            # start wpa_supplicant with the profile
WPAOPTS="-D wext"      # use "" for normal operation or specify additional
                        # options (eg, "-D ipw")
                        # see /etc/wpa_supplicant.conf for configuration
#AUTOWPA="yes"          # automatically configure WPA
#PASSKEY=""            # wpa passkey/phrase. for use with AUTOWPA
</pre>
</pre>


Bei diesem letzten Beispiel kommt nun erstmal das Tool ''wpa_supplicant'' mit ins Spiel, welches die Authentifizierung und Verschlüsselung mit WPA/PSK ermöglicht.
Bei dem zweiten Beispiel kommt nun erstmals das Tool ''wpa_supplicant'' mit ins Spiel, welches die Authentifizierung und Verschlüsselung mit WPA/PSK ermöglicht.


Dieses Profil nutzt nun den Parameter ESSID um in der wpa_supplicant Konfigdatei ''/etc/wpa_supplicant.conf'' einen zu dieser ESSID passenden Eintrag zu finden.


Durch den Parameter USEWPA=“yes“ ermöglichen wir das. Dieses Profil nutzt nun den Parameter ESSID um in der wpa_supplicant Konfidatei ''/etc/wpa_supplicant.conf'' einen zu dieser ESSID passenden Eintrag zu finden.
Zur Konfiguration von wpa_supplicant siehe den entsprechenden Abschnitt in diesem Artikel.
 
Zur Konfiguration von wpa_supplicant siehe den Abschnitt in diesem Artikel ===> wpa_supp
 
 
Hinweis: die Parameter KEY= und IWOPTS= in den Profil-Dateien dienen bei einer Wlan-Verbindung den Angaben für offenes oder mit WEP-verschlüsselter Authentifizierung.
 


Wie können wir jetzt mit diesen Profilen arbeiten?
Wie können wir jetzt mit diesen Profilen arbeiten?


Voraussetzung dafür sind erstmal entsprechende Einträge in der ''/etc/rc.conf''. Hinweis: da wir die Netzwerk-Verbindungen komplett durch die Profiles regeln wollen/können brauchen wir in der rc.conf keinen Einträge für Ethernet- oder WLAN-Devices. Bis auf loopback Device (lo) können wir alles auskommentieren bzw. löschen.
Voraussetzung dafür sind erstmal entsprechende Einträge in der ''/etc/rc.conf''. Hinweis: da wir die Netzwerk-Verbindungen komplett durch die Profiles regeln wollen/können, brauchen wir in der rc.conf keine Einträge für Ethernet- oder WLAN-Devices. Da das Loopback-Interface automatisch gestartet wird, braucht man sich auch darum nicht kümmern.
 
 
<nowiki>#/etc/rc.conf</nowiki>
lo="lo 127.0.0.1"
INTERFACES=(lo)
<nowiki>#</nowiki>
NET_PROFILES=(menu)
 


Durch den Parameter NET_PROFILES wird die Profilwahl gesteuert. Wir haben hier folgende Optionen:
Durch den Parameter NETWORKS wird die Profilwahl gesteuert. Wir haben hier folgende Optionen:


* menu = bietet beim Bootvorgang ein Auswahl-Menü an. Dieses Menü wartet ca. 5 Sekunden auf eine Auswahl oder bootet danach das Profil, dessen Dateiname lexikalisch an erster Stelle kommt.
* menu = bietet beim Bootvorgang ein Auswahl-Menü an. Dieses Menü wartet ca. 5 Sekunden auf eine Auswahl oder bootet danach das Profil, dessen Dateiname lexikalisch an erster Stelle kommt.
Hinweis: Das automatische Menu-ANGEBOT FUNKTIONIERT NICHT, wenn "network" als Daemon in der rc.conf mit einem vorangestellten "@" während des Bootvorgangs in den Hintergrund verbannt wurde!
* ''profildatei_name'' = Durch Angabe eines Profilnamens (z.B. obiges home-lan)
* ''profildatei_name'' = Durch Angabe eines Profilnamens (z.B. obiges home-lan)
Hinweis: Um die Profile zur Bootzeit nutzen zu können, muss der Daemon net-profiles gestartet werden:


Eine weitere Möglichkeit ist, in der ''rc.conf'' den Parameter NET_PROFILES wegzulassen und das gewünschte Profil als Bootparameter anzugeben bzw. in den Bootmanager einzutragen. Dieser Parameter heißt NET=''profildatei_name''
<pre>
DAEMONS=( ... net-profiles ...)
</pre>


Es ist auch möglich, zur Bootzeit gar kein Profil zu starten. Das nachträgliche Aktivieren bzw. Deaktivieren von Netwerkprofilen geschieht über das Programm ''netcfg''.


Wir können auch nach dem Booten erstmal ganz ohne Netzwerk booten (also kein NET_PROFILES in der rc.conf und kein Bootparameter NET=), und dann später das gewünschte Profil per Hand aktivieren.
<pre>
 
netcfg-menu
 
# ruft das Menü auf
Dieses nachträgliche Aktivieren oder auch das spätere Wechseln der Profile außerhalb des Bootvorgangs geschieht durch das Tool ''netcfg''.
 
 
netcfg --menu
   
   
<nowiki># ruft das Menü auf</nowiki>
netcfg profil_name
# startet das Profil profil_name
   
   
netcfg profil_name
netcfg -a
# stoppt alle Netzwerkverbindungen
<nowiki># startet das Profil profil_name</nowiki>
 
netcfg -d profil_name
netcfg --stopall
# stoppt das angegebene profil
<nowiki># stoppt alle Netzwerkverbindungen</nowiki>
<nowiki># netcfg -h gibt noch weitere Optionen</nowiki>


# netcfg -h gibt noch weitere Optionen
</pre>


Hinweis: bei Verwendung der Netzwerk-Profile kann immer nur ein Device aktiv sein, da jedes Profil genau ein Device regelt. Wenn analog unseren Beispielen oben Home-Lan aktiv ist und zu Uni-Wlan gewechselt wird, dann wird die Verbindung der aktiven Profiles beendet und das Device deaktiviert.
Hinweis: bei Verwendung der Netzwerk-Profile kann immer nur ein Device aktiv sein, da jedes Profil genau ein Device regelt. Wenn analog unseren Beispielen oben Home-Lan aktiv ist und zu Uni-WLAN gewechselt wird, dann wird die Verbindung der aktiven Profiles beendet und das Device deaktiviert.


=== wpa_supplicant ===
=== wpa_supplicant ===
Zeile 408: Zeile 250:


wpa_supplicant kommt mit den gebräuchlichsten Authentifizierungs-Standards zurecht.
wpa_supplicant kommt mit den gebräuchlichsten Authentifizierungs-Standards zurecht.


wpa_supplicant wird installiert mit:
wpa_supplicant wird installiert mit:


  pacman -Sy wpa_supplicant
  pacman -S wpa_supplicant
 


Die sehr ausführlich kommentierte Konfigurations-Datei liegt in /etc/wpa_supplicant.conf.
Die sehr ausführlich kommentierte Konfigurations-Datei liegt in /etc/wpa_supplicant.conf.
Zeile 419: Zeile 259:
Davon sollte man sich erstmal eine Sicherung machen um dann seine eigenen Netzwerke einzutragen.
Davon sollte man sich erstmal eine Sicherung machen um dann seine eigenen Netzwerke einzutragen.


  cp /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.org
  cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.org


Unterhalb von „#example block“ sind jetzt Beispiel-Netze aufgeführt. Diese kann man als Grundlage für seine eigene Umgebung verwenden, sollte dann diese Beispiele aber löschen.
Unterhalb von „#example block“ sind jetzt Beispiel-Netze aufgeführt. Diese kann man als Grundlage für seine eigene Umgebung verwenden, sollte dann diese Beispiele aber löschen.


Hier soll ein Beispiel gezeigt werden für ein WLAN-Netz, welches mit WPA-PSK verschlüsselt ist.
Hier soll ein Beispiel gezeigt werden für ein WLAN-Netz, welches mit WPA-PSK verschlüsselt ist.


Den Netzwerk-Namen „UniESSID“ und das Paßwort anpassen.
Den Netzwerk-Namen „UniESSID“ und das Passwort anpassen.
 


<pre>
network={
network={
ssid="UniESSID"
ssid="UniESSID"
key_mgmt=WPA-PSK
key_mgmt=WPA-PSK
proto=WPA
proto=WPA
pairwise=TKIP
pairwise=TKIP
group=TKIP
group=TKIP
psk="klartext-passwort"
psk="klartext-passwort"
}
}
</pre>


 
Für jedes verschlüsselte WLAN, mit dem man sich verbinden will, muss nun solch ein network Block in dieser Konfigdatei existieren. Man kann diese (als root) schnell mit einem Editor (copy&paste) einfügen bzw. ändern. Es gibt aber auch eine grafische Oberfläche. Dazu später mehr.
Für jedes verschlüsselte WLAN, mit dem man sich verbinden will, muß nun solch ein network Block in dieser Konfigdatei existieren. Man kann diese (als root) schnell mit einem Editor (copy&paste) einfügen bzw. ändern. Es gibt aber auch eine grafische Oberfläche. Dazu später mehr.




Zeile 455: Zeile 287:
wpa_supplicant:
wpa_supplicant:


  ifconfig ath0 up
  ip link set ath0 up
   
   
  wpa_supplicant -iath0 -c/etc/wpa_supplicant.conf -d
  wpa_supplicant -iath0 -c/etc/wpa_supplicant.conf -d


Das startet wpa_supplicant im Vordergrund im Debug-Modus (-d)
Das startet wpa_supplicant im Vordergrund im Debug-Modus (-d)


In der zweiten Konsole bedienen wir jetzt den Daemon:
In der zweiten Konsole bedienen wir jetzt den Daemon:


wpa_cli
  wpa_cli


gibt uns eine Bedienungsumgebung, in der wir Netze suchen, verbinden, trennen und auch neue Netze in die Konfig-Datei eintragen können. Die Bedienung ist typisch spartanisch, aber es funktioniert. Bei den meisten Befehlen müssen nur die ersten Buchstaben eingegeben werden, wenn es mehrere Alternativen gibt bekommen wir das mitgeteilt.
gibt uns eine Bedienungsumgebung, in der wir Netze suchen, verbinden, trennen und auch neue Netze in die Konfig-Datei eintragen können. Die Bedienung ist typisch spartanisch, aber es funktioniert. Bei den meisten Befehlen müssen nur die ersten Buchstaben eingegeben werden, wenn es mehrere Alternativen gibt bekommen wir das mitgeteilt.


  help – zeigt uns alle möglichen Befehle
  help – zeigt uns alle möglichen Befehle
  scan – scannt nach verfügbaren Netzwerken
  scan – scannt nach verfügbaren Netzwerken
  scan_result – zeigt uns das Ergebniss des Scans (scan_r geht auch)
  scan_result – zeigt uns das Ergebniss des Scans (scan_r geht auch)
  list – zeigt uns unsere definierten Netzwerke aus der wpa_supplicant.conf
  list – zeigt uns unsere definierten Netzwerke aus der wpa_supplicant.conf
   
  select <nr> - wählt und aktiviert das bei list gezeigte Netzwerk mit der Nummer <nr>, select <ESSID> geht auch
<nowiki>select <nr> - wählt und aktiviert das bei list gezeigte Netzwerk mit der Nummer <nr>, select <ESSID> geht auch.</nowiki>
  disconnect – trennt die Verbindung
  disconnect – trennt die Verbindung
  reassociate – nimmt die momentan gewählte Verbindung wieder auf.
  reassociate – nimmt die momentan gewählte Verbindung wieder auf.
  reconfigure – liest die Konfigdatei /etc/wpa_supplicant.conf neu ein.
  reconfigure – liest die Konfigdatei /etc/wpa_supplicant.conf neu ein.
  quit – beendet das wpa_cli Tool.
  quit – beendet das wpa_cli Tool.


Neben dem Interface lasssen sich die wpa_cli Kommandos auch direkt aufrufen, z.B.
Neben dem Interface lasssen sich die wpa_cli Kommandos auch direkt aufrufen, z.B.


  wpa_cli select 0
  wpa_cli select 0


Wenn mit obigen Kommandos die verschlüsselte Verbindung nun erfolgreich war (wpa_cli meldet uns das mit: CTRL-EVENT-CONNECTED, das Status-Fenster des Daemons mit: WPA: Key negotiation completed with), dann ist das erst die halbe Miete.
Wenn mit obigen Kommandos die verschlüsselte Verbindung nun erfolgreich war (wpa_cli meldet uns das mit: CTRL-EVENT-CONNECTED, das Status-Fenster des Daemons mit: WPA: Key negotiation completed with), dann ist das erst die halbe Miete.


Wie einleitend angeführt sind WLAN-Authentifizierung/Verbindung und TCP/IP zwei verschiedene Paar Schuhe. Um jetzt z.B. über einen WLAN-Router ins Internet zu kommen muß unser WLAN-Device noch eine IP bekommen und Routen und Nameserver angegeben werden.
Wie einleitend angeführt sind WLAN-Authentifizierung/Verbindung und TCP/IP zwei verschiedene Paar Schuhe. Um jetzt z.B. über einen WLAN-Router ins Internet zu kommen muss unser WLAN-Device noch eine IP bekommen und Routen und Nameserver angegeben werden.
 


Wenn der Router DHCP anbietet reduziert sich dieser Aufwand auf ein simples:
Wenn der Router DHCP anbietet reduziert sich dieser Aufwand auf ein simples:


  dhcpcd ath0
  dhcpcd ath0


Um die Nutzung von wpa_supplicant zu automatisieren bietet sich an:
Um die Nutzung von wpa_supplicant zu automatisieren bietet sich an:


<nowiki>#/etc/rc.local</nowiki>
#/etc/rc.local
wpa_supplicant -iath0 -c/etc/wpa_supplicant.conf -Dwext -B


wpa_supplicant -iath0 -c/etc/wpa_supplicant.conf -Dwext
Nach dem Boot wird wpa_supplicant als Daemon (-B) automatisch gestartet und versucht sich automatisch mit dem am besten erreichbarem WLAN zu authentifizieren, welches entweder „offen“ ist oder in der Konfigdatei definiert ist.
 
 
Nach dem Boot wird der Daemon so automatisch gestartet und versucht sich automatisch mit dem am Besten erreichbarem WLAN zu authentifizieren, welches entweder „offen“ ist oder in der Konfigdatei definiert ist.




'''Die GUI zu wpa_supplicant'''
'''Die GUI zu wpa_supplicant'''


Mit:
Mit:
Zeile 522: Zeile 338:
installieren wir das Tool.
installieren wir das Tool.


Gestartet wird es mit: wpa_gui
Gestartet wird es mit:
 
wpa_gui


Um wpa_gui auch als Nicht-Root benutzen zu können:
Um wpa_gui auch als Nicht-Root benutzen zu können:


* start mittels kdesu/gksu und Eingabe des Root-Paßworts
* start mittels kdesu/gksu und Eingabe des Root-Passworts
* Über sudo und freischalten dieses Programms in /etc/sudoers
* Über sudo und freischalten dieses Programms in /etc/sudoers


Mit dieser GUI kann sich komfortabel zu jedem beliebigen WLAN verbunden werden, Netze und Einstellungen hinzugefügt, bearbeitet werden u.v.m.
Mit dieser GUI kann sich komfortabel zu jedem beliebigen WLAN verbunden werden, Netze und Einstellungen hinzugefügt, bearbeitet werden u.v.m.


Lediglich die TCP/IP Netzwerkeinstellungen müssen ggf. von Hand jeweils angepaßt werden.
Lediglich die TCP/IP Netzwerkeinstellungen müssen ggf. von Hand jeweils angepasst werden.
 
 
(NB: hier muß sicher noch einiges ausführlicher/besser dargestellt werden.)


(NB: hier muss sicher noch einiges ausführlicher/besser dargestellt werden.)


=== Networkmanager ===
=== Networkmanager ===
In Arbeit
Die Installation und Konfiguration wird [[Networkmanager|hier]] beschrieben.
 
* Anleitung zur Einrichtung einer Verbindung für W-Lan/Wireless mittels nm-applet (GNOME-Applet für NetworkManager) als Benutzer (Nicht Root) ist aktuell nicht verfügbar.


=== Sonstige hilfreiche Tools ===
=== Wicd ===
In Arbeit
Wicd ist ein vom Desktop unabhängiger Networkmanager.
Die Installation und Konfiguration wird [[Wicd|hier]] beschrieben.


* ifplugd
Startet man den Wicd-Client wird ein Icon ins Tray eingefügt und man erhält eine hübsche GTK-Oberfläche.
* wlassistant
Die Curses-basierte Oberfläche startet man im Terminal.


Die Bedienung läuft dann gleich ab: <br>
Es gibt ein Hauptfenster in dem die WLAN- und die Kabelverbindungen angezeigt werden. Über die Einträge der WLAN-APs kann man die Verbindung zu diesem konfigurieren (Statische DNS, Passwort etc.). Kabelnetzwerke werden standardmäßig angezeigt, wenn eines verfügbar ist. Mit Refresh wird nach neuen APs gesucht. Unter Preferences kann man seine Interfaces konfigueren, die zu verwenden Treiber einstellen usw.


Eine Besonderheit ist die Verbindung zu versteckten APs dar: In der GTK-Oberfläche klickt man auf Netzwerk und dann auf Find Hidden-Network, in der Curses-Oberfläche muss man Shift-I tippen um zu dieser Funktion zu gelangen.


=== Weitere Konzepte ===
* ifplugd - A daemon which brings up/down network interfaces upon cable insertion/removal.
* wifi-radar - A PyGTK2 utility for managing WiFi profiles
* wifi-select - Tool for selecting wifi networks in console


[[Kategorie:Konfiguration]]
[[Kategorie:Hardware]]


[[Kategorie:Unvollständig]]
[[en:Wireless Setup]]

Version vom 8. Mai 2013, 15:05 Uhr

Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.


Dieser Artikel beschreibt Möglichkeiten, sich teils automatisiert zu auswählbaren Netzwerken zu verbinden und diese dann zu nutzen. Hauptaugenmerk liegt dabei auf kabellosen WLAN-Verbindungen, aber etliche Konzepte/Tools lassen sich auch für kabelgebundene Verbindungen nutzen, teils gleichzeitig oder im Wechsel.

Überblick

Für alle Wlan-Karten werden die Wireless-Tools zur Einrichtung benötigt:

pacman -S wireless_tools iw crda 

Es wird in diesem Artikel davon ausgegangen, dass die Wireless-Netzkarte schon erkannt ist, das Modul(Treiber) für die Karte also geladen ist. Nützliche Befehle um das zu erkennen sind (als root ausführen):

ip link

Eine Liste aller Wlan-Netzwerkgeräte lässt sich aufrufen mit dem Befehl

iwconfig

Wichtig zu wissen ist, welchen Namen die WLAN-Karte hat. Gebräuchlich sind z.B. wlan0, eth1, ath0 (üblich bei Atheros Chips), ra0 (üblich bei RaLink Chips). Die Nummern hinter den Textbezeichnern können varieren.

Im folgenden gehen wir von einer Atheroskarte mit dem Namen ath0 aus. Dieser muss je nach System angepasst werden.

iwlist ath0 scan

scannt die momentan erreichbaren WLAN-Netze bzw. AccessPoints.

WLAN-Netze sind entweder unverschlüsselt, d.h. offen, einfach mit WEP oder fortgeschritten mit WPA/WPA2 verschlüsselt. Je nach Verschlüsselung kommen verschiedene Verbindungsmethoden in Frage.


In der folgenden Tabelle kann abgelesen werden, welches Wlan-Konzept bei Arch Linux sich für welche Verschlüsselung eignet:

Methode Open WEP WPA
rc.conf
X
X
-
Netzwerk-Profile
X
X
X
wpa_supplicant
X
X
X
Networkmanager
X
X
X
wicd
X
X
X

Weiterhin ist auch die Anzahl der Netze, zu denen man sich verbinden möchte, ausschlaggebend. Ist z.B der PC stationär, sind die Flexibilitätsanforderungen höchstwahrscheinlich geringer als bei einem Netbook eines Reisenden. Für die nachfolgend vorgestellten Konzepte ist es meist unerheblich, ob die Verbindung kabelgebunden (Ethernet) oder kabellos (WLan) geschieht.

rc.conf

Es kann eine einzige feste Verbindung definiert werden. Mehr ist nicht möglich.

netcfg (Netzwerk-Profile)

Es können mehrere Profile eingerichtet werden, die per Hand gestartet werden müssen. Kommt ein neues dazu, muss eine neue Profildatei erstellt werden. Soll der WLAN-Aufbau automatisch erfolgen, muss dies mit dem Zusatzprogramm ifplugd nachgerüstet werden.

wpa_supplicant

Es können mehrere Verbindungen eingerichtet werden. Für eine mobile Verwendung wird jedoch das Programm wpa_gui benötigt.

Networkmanager

Anlegen vieler Profile ist möglich, Automatischer Verbindungsaufbau und -wechsel, Grafische Oberfläche zur Konfiguration.

Wicd

Ähnlich wie Networkmanager, kann aber auch vollständig ohne grafische Oberfläche benutzt werden. Die Anmeldung in schon bekannten Wlan-Netzen kann hier auch ohne Nutzeranmeldung automatisch erfolgen.

Konzepte

rc.conf (Arch Linux WLan Einstellungen)

Diese Methode ist am einfachsten, um sich immer zu einer vorgegebenen Gegenstelle zu verbinden, wobei diese Verbindung unverschlüsselt oder allerhöchstens durch WEP abgesichert ist.

Dazu wird das Netzdevice in der Datei /etc/rc.conf bekannt gemacht.

(Hier anhand meines Devices ath0)

Für eine dynamische IP-Vergabe, DHCP-Server im Netz:

ath0="dhcp"

Für eine statische IP:

ath0="ath0 192.168.1.100 ... "

Im Netzwerk-Bootscript bei Arch Linux gibt es einen Teil, der kabellose Netzwerkkarten besonders behandelt (den "Link" aufbaut). Das kabellose Device wird dabei genauso eingerichtet wie eine normale Ethernet-Karte. Über Zusatzeinstellungen in einer Extra-Datei /etc/conf.d/wireless wird dieses Device als WLan-Device eingerichtet.

Um sich also zum eigenen AccessPoint mit der Kennung(ESSID) "MyHome" zu verbinden und nach erfolgreicher Verbindung darüber eine IP dynamisch zugewiesen zu bekommen:

#/etc/rc.conf
ath0="dhcp"

INTERFACES=(lo eth0 '''ath0''')
 
#/etc/conf.d/wireless
wlan_ath0="ath0 essid MyHome"
# Für eine WEP-Verbindung mit Passwort:
wlan_ath0="ath0 essid Myhome key 12345678"
# bzw. der Schlüssel als Klartext:
wlan_ath0="ath0 essid Myhome key s:klartextpasswort"

Testen und per Hand diese Verbindung aufbauen:

/etc/rc.d/network ifdown ath0

/etc/rc.d/network ifup ath0

Wenn alles funktioniert hat, dann sollte jetzt:

ip addr show ath0

die WLan-Karte als UP mit der zugewiesenen Ip-Adresse zeigen

route -n

sollte ein Default-Gateway (UG) mit der Destinantion 0.0.0.0 zeigen.

cat /etc/resolv.conf

sollte uns einen oder mehrere Nameserver zeigen.

ping www.google.de

sollte mit Antwortpaketen beantwortet werden.


Wenn es Probleme gibt:

Logdatei /var/log/everything.log auswerten

Siehe auch Wiki-Artikel Netzwerkprobleme

Netzwerk-Profile

Hinweis: Folgende Ausführungen sind nicht mehr aktuell.

Diese Methode erlaubt während des Bootvorgangs oder nachträglich das Wählen zwischen unterschiedlichen Netzwerkverbindungen (egal, ob Ethernet oder WLAN). Hierbei kann für WLAN auch eine WPA-verschlüsselte Verbindung eingerichtet werden.

Zur Nutzung unterschiedlicher Netwerkprofile wird core/netcfg und core/dialog gebraucht:

pacman -S netcfg dialog

Für WPA wird zusätzlich gebraucht:

pacman -S wpa_supplicant

Die zu nutzenden Verbindungsprofile müssen in /etc/network.d abgelegt werden. Im Unterordner examples/ sind bereits einige Beispielverbindungen gespeichert. Zur Nutzung müssen diese nur kopiert werden.

Anhand der Beispielprofile können jetzt unterschiedliche Profile erstellt werden. Profile können z.B. sein: ein Profil für Ethernet zuhause mit statischer IP-Adresse, eines für Ethernet mit DHCP für unterwegs, eines für die WLAN-Verbindung, usw. Am besten sucht man sich das hier am besten passende heraus und modifiziert es dementsprechend.

Hier sind zwei Beispielprofile, die aber auch im examples/ Ordner zu finden sind.

  • Profil für Ethernet mit statischer IP-Adresse
  • Eine einfache WPA2-PSK-verschlüsselte Verbindung (vor allem für Heimnetzwerke)


#/etc/network-profiles/examples/ethernet-static

# Profil: LAN-Zuhause mit statischer IP
#
CONNECTION='ethernet'
# Wird im Menü angezeigt
DESCRIPTION='A basic static ethernet connection using iproute'
# Zugeordnete Schnittstelle
INTERFACE='eth0'
IP='static'
ADDR='192.168.1.23'
GATEWAY='192.168.1.1'
DNS=('192.168.1.1')


#/etc/network.d/WLAN-Zuhause

#Profil: W-LAN zuhause mit einfacher WPA-PSK-Verschlüsselung

CONNECTION='wireless'
DESCRIPTION='Angezeigte Beschreibung'
# Genutzte Schnittstelle
INTERFACE='wlan0'
SECURITY='wpa'
ESSID='Name des Netzwerks'
KEY='Dein-Pre-Shared-Key'
# Die IP kann auch statisch festgelegt werden. Zumeist bieten heutige Router jedoch DHCP an.
IP='dhcp' 
# Auskommentieren, wenn das Netzwerk unsichtbar ist.
#HIDDEN=yes

Bei dem zweiten Beispiel kommt nun erstmals das Tool wpa_supplicant mit ins Spiel, welches die Authentifizierung und Verschlüsselung mit WPA/PSK ermöglicht.

Dieses Profil nutzt nun den Parameter ESSID um in der wpa_supplicant Konfigdatei /etc/wpa_supplicant.conf einen zu dieser ESSID passenden Eintrag zu finden.

Zur Konfiguration von wpa_supplicant siehe den entsprechenden Abschnitt in diesem Artikel.

Wie können wir jetzt mit diesen Profilen arbeiten?

Voraussetzung dafür sind erstmal entsprechende Einträge in der /etc/rc.conf. Hinweis: da wir die Netzwerk-Verbindungen komplett durch die Profiles regeln wollen/können, brauchen wir in der rc.conf keine Einträge für Ethernet- oder WLAN-Devices. Da das Loopback-Interface automatisch gestartet wird, braucht man sich auch darum nicht kümmern.

Durch den Parameter NETWORKS wird die Profilwahl gesteuert. Wir haben hier folgende Optionen:

  • menu = bietet beim Bootvorgang ein Auswahl-Menü an. Dieses Menü wartet ca. 5 Sekunden auf eine Auswahl oder bootet danach das Profil, dessen Dateiname lexikalisch an erster Stelle kommt.

Hinweis: Das automatische Menu-ANGEBOT FUNKTIONIERT NICHT, wenn "network" als Daemon in der rc.conf mit einem vorangestellten "@" während des Bootvorgangs in den Hintergrund verbannt wurde!

  • profildatei_name = Durch Angabe eines Profilnamens (z.B. obiges home-lan)

Hinweis: Um die Profile zur Bootzeit nutzen zu können, muss der Daemon net-profiles gestartet werden:

DAEMONS=( ... net-profiles ...)

Es ist auch möglich, zur Bootzeit gar kein Profil zu starten. Das nachträgliche Aktivieren bzw. Deaktivieren von Netwerkprofilen geschieht über das Programm netcfg.

netcfg-menu
# ruft das Menü auf
 
netcfg profil_name
# startet das Profil profil_name
 
netcfg -a
# stoppt alle Netzwerkverbindungen

netcfg -d profil_name
# stoppt das angegebene profil

# netcfg -h gibt noch weitere Optionen

Hinweis: bei Verwendung der Netzwerk-Profile kann immer nur ein Device aktiv sein, da jedes Profil genau ein Device regelt. Wenn analog unseren Beispielen oben Home-Lan aktiv ist und zu Uni-WLAN gewechselt wird, dann wird die Verbindung der aktiven Profiles beendet und das Device deaktiviert.

wpa_supplicant

wpa_supplicant ist zum einen eine Umgebung um verschlüsselte Wlan-Verbindungen zu ermöglichen, zum anderen ein Tool um diese Anmeldung auch durchführen zu können.

wpa_supplicant kommt mit den gebräuchlichsten Authentifizierungs-Standards zurecht.

wpa_supplicant wird installiert mit:

pacman -S wpa_supplicant

Die sehr ausführlich kommentierte Konfigurations-Datei liegt in /etc/wpa_supplicant.conf.

Davon sollte man sich erstmal eine Sicherung machen um dann seine eigenen Netzwerke einzutragen.

cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.org

Unterhalb von „#example block“ sind jetzt Beispiel-Netze aufgeführt. Diese kann man als Grundlage für seine eigene Umgebung verwenden, sollte dann diese Beispiele aber löschen.

Hier soll ein Beispiel gezeigt werden für ein WLAN-Netz, welches mit WPA-PSK verschlüsselt ist.

Den Netzwerk-Namen „UniESSID“ und das Passwort anpassen.

network={
ssid="UniESSID"
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP
group=TKIP
psk="klartext-passwort"
}

Für jedes verschlüsselte WLAN, mit dem man sich verbinden will, muss nun solch ein network Block in dieser Konfigdatei existieren. Man kann diese (als root) schnell mit einem Editor (copy&paste) einfügen bzw. ändern. Es gibt aber auch eine grafische Oberfläche. Dazu später mehr.


Starten als Daemon und Bedienung

Momentan starten wir alle Tools testweise per Hand im Vordergrund um uns vertraut zu machen. Wir brauchen zwei Textkonsolen, in denen wir beidemal root sind. Ich gehe hier wieder von meinem WLAN-Device ath0 aus.

wpa_supplicant:

ip link set ath0 up

wpa_supplicant -iath0 -c/etc/wpa_supplicant.conf -d

Das startet wpa_supplicant im Vordergrund im Debug-Modus (-d)

In der zweiten Konsole bedienen wir jetzt den Daemon:

 wpa_cli

gibt uns eine Bedienungsumgebung, in der wir Netze suchen, verbinden, trennen und auch neue Netze in die Konfig-Datei eintragen können. Die Bedienung ist typisch spartanisch, aber es funktioniert. Bei den meisten Befehlen müssen nur die ersten Buchstaben eingegeben werden, wenn es mehrere Alternativen gibt bekommen wir das mitgeteilt.

help – zeigt uns alle möglichen Befehle
scan – scannt nach verfügbaren Netzwerken
scan_result – zeigt uns das Ergebniss des Scans (scan_r geht auch)
list – zeigt uns unsere definierten Netzwerke aus der wpa_supplicant.conf
select <nr> - wählt und aktiviert das bei list gezeigte Netzwerk mit der Nummer <nr>, select <ESSID> geht auch
disconnect – trennt die Verbindung
reassociate – nimmt die momentan gewählte Verbindung wieder auf.
reconfigure – liest die Konfigdatei /etc/wpa_supplicant.conf neu ein.
quit – beendet das wpa_cli Tool.

Neben dem Interface lasssen sich die wpa_cli Kommandos auch direkt aufrufen, z.B.

wpa_cli select 0

Wenn mit obigen Kommandos die verschlüsselte Verbindung nun erfolgreich war (wpa_cli meldet uns das mit: CTRL-EVENT-CONNECTED, das Status-Fenster des Daemons mit: WPA: Key negotiation completed with), dann ist das erst die halbe Miete.

Wie einleitend angeführt sind WLAN-Authentifizierung/Verbindung und TCP/IP zwei verschiedene Paar Schuhe. Um jetzt z.B. über einen WLAN-Router ins Internet zu kommen muss unser WLAN-Device noch eine IP bekommen und Routen und Nameserver angegeben werden.

Wenn der Router DHCP anbietet reduziert sich dieser Aufwand auf ein simples:

dhcpcd ath0

Um die Nutzung von wpa_supplicant zu automatisieren bietet sich an:

#/etc/rc.local

wpa_supplicant -iath0 -c/etc/wpa_supplicant.conf -Dwext -B

Nach dem Boot wird wpa_supplicant als Daemon (-B) automatisch gestartet und versucht sich automatisch mit dem am besten erreichbarem WLAN zu authentifizieren, welches entweder „offen“ ist oder in der Konfigdatei definiert ist.


Die GUI zu wpa_supplicant

Mit:

pacman -S wpa_supplicant_gui

installieren wir das Tool.

Gestartet wird es mit:

wpa_gui

Um wpa_gui auch als Nicht-Root benutzen zu können:

  • start mittels kdesu/gksu und Eingabe des Root-Passworts
  • Über sudo und freischalten dieses Programms in /etc/sudoers

Mit dieser GUI kann sich komfortabel zu jedem beliebigen WLAN verbunden werden, Netze und Einstellungen hinzugefügt, bearbeitet werden u.v.m.

Lediglich die TCP/IP Netzwerkeinstellungen müssen ggf. von Hand jeweils angepasst werden.

(NB: hier muss sicher noch einiges ausführlicher/besser dargestellt werden.)

Networkmanager

Die Installation und Konfiguration wird hier beschrieben.

  • Anleitung zur Einrichtung einer Verbindung für W-Lan/Wireless mittels nm-applet (GNOME-Applet für NetworkManager) als Benutzer (Nicht Root) ist aktuell nicht verfügbar.

Wicd

Wicd ist ein vom Desktop unabhängiger Networkmanager. Die Installation und Konfiguration wird hier beschrieben.

Startet man den Wicd-Client wird ein Icon ins Tray eingefügt und man erhält eine hübsche GTK-Oberfläche. Die Curses-basierte Oberfläche startet man im Terminal.

Die Bedienung läuft dann gleich ab:
Es gibt ein Hauptfenster in dem die WLAN- und die Kabelverbindungen angezeigt werden. Über die Einträge der WLAN-APs kann man die Verbindung zu diesem konfigurieren (Statische DNS, Passwort etc.). Kabelnetzwerke werden standardmäßig angezeigt, wenn eines verfügbar ist. Mit Refresh wird nach neuen APs gesucht. Unter Preferences kann man seine Interfaces konfigueren, die zu verwenden Treiber einstellen usw.

Eine Besonderheit ist die Verbindung zu versteckten APs dar: In der GTK-Oberfläche klickt man auf Netzwerk und dann auf Find Hidden-Network, in der Curses-Oberfläche muss man Shift-I tippen um zu dieser Funktion zu gelangen.

Weitere Konzepte

  • ifplugd - A daemon which brings up/down network interfaces upon cable insertion/removal.
  • wifi-radar - A PyGTK2 utility for managing WiFi profiles
  • wifi-select - Tool for selecting wifi networks in console