F&A: WLAN unter Linux mit Verschlüsselung (WEP/WPA)?!

Rones

Vice Admiral Special
Mitglied seit
11.11.2001
Beiträge
830
Renomée
5
Standort
Augsburg
Hallo zusammen,

dieser Thread kann gerne eine Sammelstelle verschiedener Erfahrungen werden, ich fange selbst einfach mal mit meinen bisherigen Wissen an.

Mein erster Beitrag zum Thema:

Heute habe ich einen WLAN-Tag eingelegt, eine PCI-WLAN-Karte (ALLNET ALL0281) und eine PCMCIA-WLAN-Karte (Netgear WG511T) sind in zwei Rechner verbaut, ein WLAN-ADSL-Gateway (Linksys WAG54G) steht dem WLAN als AccessPoint zur Verfügung. Beim Kauf des WAG54G habe ich wohl etwas mehr gekauft, als ich gebraucht hätte, ein DSL-Modem und einen Rechner, der es ansteuert inkl. Firewall habe ich schon, daher benutze ich den WLAN-ADSL-Gateway momentan nur als AccessPoint.

Die Netzwerkkarten haben beide den Chipsatz Atheros 5212 (802.11g, 54MBit/s) für den das madwifi-Projekt einen Treiber für Linux bereitstellt. Die beiden Rechner laufen unter Gentoo (x86-Architektur), dort half ein beherztes
Code:
ACCEPT_KEYWORDS="~x86" emerge madwifi-tools
das Treiber-Paket und noch ein paar Tools zum Atheros-Chipsatz zu installieren. Das Paket "wireless-tools" hatte ich vorher schon installiert, ebenso im Kernel darauf geachtet, dass Wireless-Support angeschaltet ist. Viel hat nicht mehr gefehlt, auf dem Notebook musste ich noch das Kernel-Modul "yenta_socket" laden, um den PCMCIA-Port zu aktivieren. Jetzt läuft es eigentlich auf grossem Rechner und Notebook identisch weiter, die Atheros-basierte WLAN-Karte steht jeweils als "ath0" (mit "a"!) zur Verfügung:
Code:
# nur auf Notebook mit PCMCIA-WLAN-Karte (je nach Notebook evtl.
# anderes Kernel-Modul)
modprobe yenta_socket

# Atheros-Treiber laden
modprobe ath_pci

# Netzwerk-ID setzen
iwconfig ath0 essid "meinenetzid"

# Kanal setzen
# (u.U. nicht notwendig, falls der Kanal schon passt)
iwconfig ath0 channel 5

# Netzwerk-Adresse setzen
ifconfig ath0 192.168.2.123 broadcast 192.168.2.255   # Beispiel für Netzwerk 192.168.2.x

# Router angeben
route add default gw 192.168.2.1    # hier den korrekten Router angeben

Wenn ich jetzt nichts vergessen habe, war's das im Prinzip; wenn man einen Access-Point laufen hat, ist das WLAN-Netzwerk schon einsatzfähig (ok, der angegebene Router sollte auch irgendwie übers WLAN erreichbar sein, in meinem Fall ist die PCI-WLAN-Karte in dem Router-Rechner eingebaut).

Jetzt muss man natürlich noch zusehen, dass diese Einstellungen irgendwo persistent abgespeichert werden, damit man sie nicht jedes Mal neu setzen muss.
Bei mir habe ich einen DHCP-Server laufen, deshalb ist der Schritt mit der festen IP-Adresse nicht unbedingt notwendig, die IP-Adresse kann auch über DHCP zugeteilt werden.

Ich denke, bis hierhin gibt es mittlerweile auch angenehm zu bedienende grafische Assistenten unter SuSE, Mandrake, usw. (Mandrake kann ich vielleicht später noch ausprobieren).

Auf meinem Router habe ich die vorhandene Shorewall noch um die Einstellungen für das WLAN ergänzt, so dass das lokale Netz und das WLAN-Netz uneingeschränkt miteinander kommunizieren kann, und das WLAN-Netz auch über den Router ins Internet kann. Das wird bei dem einen oder anderen aber vielleicht nicht notwendig sein.

Soweit die Dinge, die ich schon erfolgreich durchgeführt habe; ich hoffe, dass die Beschreibung für jemand anderes eine Hilfe sein wird.

Nun wollte ich aber gern mein WLAN-Netz verschlüsseln, damit es nicht so offen rumsteht. Prinzipiell gibt es da ja mittlerweile WEP- und WPA-Verschlüsselung, wobei die WEP-Verschlüsselung wohl recht unsicher ist, da sie zu leicht geknackt werden kann. Für die WPA-Verschlüsselung gibt es das Programm WPA-Supplicant, soviel habe ich schon herausgefunden. Per "emerge wpa_supplicant" konnte ich es schnell installieren, bzw. auf dem Rechner zur Verfügung stellen.

FRAGE:
Hier wird es jetzt wohl etwas komplexer. Hat das von Euch schon jemand erfolgreich eingerichtet, so dass man nachher mit WPA-Verschlüsselung arbeiten kann? Ich habe recht lang im Internet gesucht und konnte keine Beschreibung, die in Kürze wie oben die Schritte zusammenfasst. Wenn der Tag nicht schon rum wäre, würde ich versuchen, mich durch die Doku vom WPA-Supplicant durcharbeiten, bis es klappt, aber vielleicht kann ja jemand in diesem Thread dazu eine Kurzanleitung abfassen, damit mehrere davon profitieren können.

Alternativ: WEP ist bestimmt besser als gar keine Verschlüsselung, wie kann ich vorerst wenigstens WEP konfigurieren?

Hier nochmal die beiden Links, die auch schon im Text vorkamen, dort aber auf die Schnelle nicht zu sehen sind:
http://madwifi.sourceforge.net/
http://hostap.epitest.fi/wpa_supplicant/
 
Was WEP angeht:
Bei gentoo hast Du eine /etc/conf.d/wireless (oder erstmal eine wireless.example, die Du da hin kopierst) wo Du ESSIDs und WEPs eintragen kannst. Damit scannt er auch beim Start nach den Essids und richtet die Verbindung ein. Man kann auch - wenn man keinen DHCP-Server im Netz hat, in der wireless.conf gleich ESSID-spezifisch IP-Adresse, Gateway, Nameserver usw. konfigurieren.

WEP-Key per hand eintragen kannst Du mit
Code:
iwconfig ath0 key "s:bla..."
oder mit
Code:
iwconfig ath0 key "0F0E1245643..."
(je nachdem, ob Du ihn als string (dann s:) oder hex hast)

WPA habe ich selber noch nicht angeschaut - der WPA supplicant aus dem hostap-Projekt soll recht gut sein ( http://hostap.epitest.fi ).

Ich habe übrigens eine Netgear WG511 (ohne T) - die 54MBit-Cardbus-Version. Die läuft mit dem prism54-Treiber aus dem Kernel - leider nur die "Made in Taiwan"-Karte (v2). Die neueren "Made in China" (v3) läuft nicht, obwohl gleicher Chipsatz :(

emerge prism54-firmware und dann im Kernel die richtigen Optionen an (kann ich auch mal posten, jetzt aber nicht ;) )

Vorher hatte ich eine ASUS WL-100 - 11MBit mit Prism2/2.5 Chipsatz - den hatte ich mit den hostap-Treibern am laufen. Die Karte hatte aber den Nachteil, dass sie eine PCMCIA-Karte war (16bit) und nicht über hotplug funktionierte (und außerdem ist mir die Antenne abgebrochen ;D - funktioniert zwar nocht (da 2 Antennen), aber sieht komisch aus - da habe ich mir die Netgear geholt)
 
Thema: WPA-PSK-Verschlüsselung mit wpa_supplicant

@Georg: Danke für den Beitrag in Richtung WEP-Verschlüsselung!

Heute abend bin ich etwas weiter gekommen, das Einrichten der WPA-Verschlüsselung vom Typ WPA-PSK ist nach dem Studium der Dokumentation von wpa_supplicant (Link dazu siehe die vorhergehenden Beiträge) gar nicht so wild.

Mit folgenden Schritten habe ich die WPA-Verschlüsselung eingerichtet:

1. wpa_supplicant installieren (unter Gentoo reicht dazu ein "emerge wpa_supplicant", bei Mandrakelinux 10.1 ist das Programm mindestens in der Kaufversion auch dabei).

2. Die Datei /etc/wpa_supplicant.conf.example auf /etc/wpa_supplicant.conf kopieren

3. Nun die Datei /etc/wpa_supplicant.conf mit einem Editor öffnen. Bitte nicht erschrecken, man muss hier anscheinend gar nicht soviel machen: am Ende der Datei stehen eine Menge-Beispiel-Einträge mit "network"-Blöcken. Diese vielen Einträge kann man alle durch einen einzigen Eintrag für das eigene Netzwerk ersetzen:
Code:
network={
        ssid="meineessid"
        scan_ssid=1
        #psk="DasIstGeheim"
        psk=e7cae075a794923c418268b423d5a970933c11488e388ae3154228632ae2452c
        priority=2
}

Die Zeilen mit "psk=" erhält man mit Hilfe des Kommandos wpa_passphrase; dem Kommando muss man die essid des Netzwerks und eine Passphrase übergeben:
Code:
# wpa_passphrase meineessid "DasIstGeheim" <ENTER>
network={
        ssid="meineessid"
        #psk="DasIstGeheim"
        psk=e7cae075a794923c418268b423d5a970933c11488e388ae3154228632ae2452c
}
Im Prinzip gibt das Kommando schon einen vollständigen Block aus, wichtig sind die beiden "psk="-Zeilen, da steht die Passphrase einmal als Kommentar in Klartextform und dann als Hex-Code drin. Die Kommentarzeile kann man auch weglassen, wenn man sich die Passphrase im Kopf merken kann (bei einigen AccessPoints gibt man die Passphrase übrigens in Klartextform und nicht als Key ein, bei meinem Linksys WAG54G war es jedenfalls so).

4. Die Arbeiten in der Configdatei wpa_supplicant.conf sind damit vorerst abgeschlossen. Zumindest bei Gentoo muss jetzt noch die Datei /etc/conf.d/wpa_supplicant bearbeitet werden, dort trägt man die Interfaces (in meinem Fall "ath0") und die Optionen für die Interfaces (in meinem Fall "-Dmadwifi") ein.

Damit sind wir jetzt fertig, jetzt sollte man den wpa_supplicant mit "/etc/init.d/wpa_supplicant start" starten können.

Soweit mein Erfahrungen von heute abend. Vielleicht hat das jemand anders von Euch auch schon einmal eingerichtet und kann noch etwas beisteuern oder auch konstruktive Kritik an meiner Umsetzung üben; ich kenne mich ja selbst noch nicht richtig damit aus und beschreibe hier nur meinen Lernprozess ;-)

Nun viel Spaß mit Eurem WLAN unter Linux!
 
Zurück
Oben Unten