Wireless LAN #
Da wir beim letzten LUG-Treffen über das Thema WLAN diskutiert haben und das wir alle viel zu wenig WLAN-Karten haben, habe ich nochmals ein wenig Forschung betrieben und möchte meinen Wissensstand hier niederschreiben. Erweiterungen sind jederzeit gewünscht. -- ThomasBayen
Informationen #
Es gibt eine grosse Menge an Listen und Hilfeseiten zum Thema, die
eigentlich alle nicht wirklich helfen. Im Nachhinein kann ich als
Startpunkt erstmal das Linux-WLAN-HOWTO
empfehlen. Dies ist eine nach meiner Erfahrung
recht gute Übersicht über alle Treiberbestrebungen unter Linux.
In unserem Wiki gibt es die folgenden Seiten zum Thema:
AcerUndWLan
MobilerLugRouter
IntelWirelessWifiLink5100
HostAP
AcerSwitchAlpha12
AccessPointBridge
CentrinoWLAN
AtmelWLANKarte
Weitere Links zum Theme #
- LinuxWiki
- Wer Wardriving machen will, also "fremde" Netze aufspüren und abhören will, muss die Karte dazu in einen monitor-Modus bringen. Dies unterstützen nicht alle Treiber. Wer sowas will, schaut mal bei den wardriving-Tools Kismet
oder Wellenreiter
nach.
- Liste fast alle Funkkarten
Kartentreiber #
Es gibt drei Gruppen von Chipsätzen, die ich für interessant erachtet habe (und eine, die definitiv uninteressant ist):
Prism #
Der PrismII-Chipsatz soll der am meisten verbreitete sein. Auch die Versionen Prism2, Prism2.5 und Prism3.0 laufen mit identischem Treiber. Man hat die Wahl zwischen dem wlan-ng-Treiber, dem orinoco-Treiber und dem hostap-Treiber (HostAP). Für diesen Chipsatz gibt es die schönsten Tools, neben dem Monitor Mode insbesondere auch den hostap-Treiber zum Errichten eines eigenen Access Points.
Orinoco, Aironet #
Diese beiden Treiber sind auch schon älter und wahrscheinlich ausgereift. Sie unterstützen den Monitor Mode.
- The Shmoo Group
Patch für den Monitor Mode
Intel-Chipsätze (IPW/IWL) #
Die von Intel stark geförderten Centrino-Rechner wurden bis Anfang 2004 nicht unterstützt. Inzwischen gibt es jedoch einen Treiber, der zumindest im Infrastruktur-Modus (also mit Access Point) gut funktioniert (die ipw...-Treiber). Mehr dazu auf der Seite CentrinoWLAN.
Seit ca. 2008 gibt es eine neue Generation von Intel-Chips (Die iwl...-Treiber). Die offizielle Homepage zum Treiberprojekt
. Ein näheres Beispiel, bei dem ich kein fertiges Paket hatte, sondern die Treiber direkt von der Projektseite installieren musste, findet sich auf der Seite IntelWirelessWifiLink5100.
TI #
Karten, die als 22MBit bezeichnet werden (z.B. DLink 650+), haben den ACX100-Chipsatz von Texas Instruments. Entgegen allen Gerüchten läuft diese Karte nicht unter Linux. Es gibt einen Binärtreiber, der nach einigen Kernel-Manipulationen zu laden ist und mit etwas Ahnung von der Materie (die ein Anfänger bekanntlich nicht hat), kann man sie auch zu einem Verbindungsaufbau überreden, aber der Treiber ist sehr langsam und stürzt vor allem dauernd ab. Da keine Sourcen vorliegen, kann das auch keiner reparieren. Meine Erfahrungen :-( stehen auf der Seite DLinkWLAN.
Ralink, z.B. RT73 #
Ich (ThomasBayen) besitze einen USB-Stick von Hama, der einen RT73-Treiber benutzt. Hier half es (wie bei USB-Geräten oft), die Geräte-ID aus dem System-Log zu nehmen und bei Google einzugeben. Treiber gibt es hier
, wobei es aktuell (Juli 2007) auch Debian-Pakete in der experimental-Distribution gibt, die man benutzen kann. Ein bisschen was dazu steht auf der Seite ThinClientLokalBooten. Ich denke, daß diese Pakete bald auch in Debian Lenny als vorkompilierte Kernelmodule zur Verfügung stehen.
Welche Karte #
Jetzt wissen wir also, was wir wollen!?! Weit gefehlt! Das Problem ist, dass kein Hersteller irgendwo angibt, welchen Chipsatz er verwendet. Nicht nur, dass das nicht auf der Verpackung steht - nein, selbst auf den Karten selber ist nichts angegeben. :-( Dazu kommt, dass man nicht glauben darf, dass eine Karte das Chipset XY benutzt, nur, weil derselbe Hersteller unter demselben Namen und in derselben Verpackung letztes Jahr eine Karte mit XY verkauft hat...
Erste Antwort von Kai auf "welche Karte" /Welche gehen?
Media-Markt in Krefeld hat umgebaut und dabei an einem Montag Sonderangebote gehabt. Eines davon ist sehr interessant:
11 Mbit - 802.11b Kompatibel SIEMENS I - Gate 11Mbit
Eine PCMCIA-Funknetzkarte mit PRISM Chipsatz laut schriftlicher Aussage des Media Marktes und ich zitiere wörtlich
" ... auch für Linux Betriebssystem geeignet, für WIN98/ME/2000/XP und Linux."
- Die Firmware 0.7 funktioniert prinzipiell, allerdings wird WEP unter Linux nicht unterstuetzt. Der PCI Adapter ist offenbar baugleich mit SMC2602W, die PCMCIA Card mit der SMC2632W. Da auf der Siemens Site keine entsprechende Firmware angeboten wird, habe ich mir das Firmwareupdate
8c3 besorgt und (unter Windows) geflasht. Mit der Firmware 0.8 klappt auch WEP einwandfrei. - HeinzHayduk
- ThomasBayen hat Dank HeinzHayduk und http://www.smc-europe.com
seine Karte auch geupdatet. Dabei ist wichtig, das man die Karte erst normal, d.h. mit dem Siemens-Treiber unter Windows installiert. Danach lädt man dann das Update-Tool herunter und startet es. Meine Firmware ist jetzt die 8.3. Nun WEPpt die Karte auch!
- Zum Thema Flashen ist die Seite von Junsun
unbedingt zu empfehlen. Dort bekommt man verschiedene Firmware-Stände (z.B. STA 1.7.1, den man für WPA braucht). Nach meiner Erfahrung ist für einen Linuxer das hostap-util prism2_srec die einfachste und sicherste aller Möglichkeiten: kein Windoze reboot nötig! Je nach Karten-Hardware braucht man Firmware-Dateien mit bestimmtem zweitem Buchstaben, etwa '1' für die I-GATE Karten (also für STA 1.7.1 dann: S1010701.HEX zum Flashen, oder R1010701.HEX für temporäres Laden ins Karten-RAM). Doch keine Angst: prism2_srec flasht nur, wenn man beim Compile ein zusätzliches #define gesetzt hat, und wenn das Image auch wirklich zur Karte passt.
Was kann ein Krefelder jetzt tun? (Meine Leidensgeschichte) #
Wenn jemand einen Laden in Krefeld kennt, der Ahnung von der Materie hat, bitte sofort melden! Meine Erfahrungen bei der Suche nach sowas waren eher abschreckend. Faktisch gibt es in Krefeld leider nur den Media Markt, der eine gewisse Auswahl liefert. Eigentlich hasse ich diesen Laden ja, weil er ein Monopol aufgebaut hat. Ausserdem gibts da Null Beratung und Null Verkäufer mit Linux-Ahnung. So habe ich da im Dezember die DLinks gekauft, was eine völlige Pleite war. :-( Allerdings ist der Service nicht völlig schlecht. Die haben nämlich vorgestern (im März) anstandslos meine beiden DLinkWLAN-Karten zurückgenommen. Da war ich erstmal glücklich, dass ich den Schrott los war. :-)
Ich habe mir die Karten dort alle eine halbe Stunde lang angesehen, was mir überhaupt nix geholfen hat. :-( Dabei hatte ich ein paar Ausdrucke mit (z.B. die Kartenliste von Kismet). Dort stand "Belkin Karte läuft, weil Prism". Also habe ich mir die Karte gekauft (79,-). Zuhause lief das Ding dann natürlich nicht. Als ich dann Internet-Zugang hatte und ein wenig herumgestöbert habe, kam heraus, dass es die Belkin F5D6020 in zwei Versionen gibt. Eine alte mit PrismII und eine neue mit Atmel... :-(
Erst dachte ich, daß jetzt derselbe Ärger wieder anfängt, allerdings war die Übersetzung und Installation des Atmel-Treibers im Vergleich zu den Bemühungen, die DLink-Karte ans laufen zu bekommen, ein Kinderspiel. Die Karte läuft, und zwar schneller und stabiler als die DLink! Leider gibts keinen Monitor Mode aber das ist mir inzwischen erstmal egal...
Als ich dann wieder zu Hause war, habe ich in der
Kernel-Konfiguration gelesen, dass der Hermes (d.h. Prism) Treiber
auch die Netgear MA401 unterstützt. Auch im LinuxWiki
wird jemand erwähnt, der Hilfe anbietet.
Diese habe ich auch im Media Markt gesehen.
Desweiteren habe ich bei meinem Linux eine 3com Officeconnect ans
laufen gebracht, läuft echt gut das Ding. (Sascha Solecki)
Ob die Netgear nun wirlich immer noch den Prism enthält, kann ich natürlich nicht beschwören. Ich selber habe jetzt die Belkin erstmal am Laufen und werde weitere Spielchen auf später verlegen.
Ich habe 3 Karten von Siemens (Gigaset PCI Card 54) gekauft, weil
Peter gesagt hat, dass welche von Siemens bei Lugis mal
funktioniert haben (s.o.). Was ich dann vor dem Kauf überhört
hatte, war, dass er dafür keinen Linuxtreiber gefunden hat:-( Aber
dann sind wir auf den ndiswrapper gestoßen, der die Benutzung der
Windowstreiber ermöglicht. Mit der sehr guten Anleitung auf
Sourceforge
hat das Ganze relativ schnell geklappt (ca. 1/2
Stunde). Dort steht auch, wie und wo man den richtigen Treiber für
seine Karte findet. Den Treiber auf der beiliegenden CD sollte man
nicht nehmen. Die Anleitung funktioniert auch für andere Karten.
Dann muss noch "wireless-tools" installiert werden. Dem Krefelder
(und natürlich der Krefelderin) empfehle ich SWL-Datentechnik in
St. Tönis, Kaiserstraße --SusanneWenz
Access Point #
Nachdem ich beim ersten Anlauf in jugendlichem Wahnsinn eine PCMCIA und eine PCI-Karte gekauft hatte, um einen Rechner als Access Point zu benutzen, wollte ich diesmal die ganze Sache einfach nur ans Laufen bringen. Also habe ich einen Belkin Wireless Access Point F5D6130 gekauft (DM 129,- - eine PCMCIA-Karte mit PCI-Adapter ist auch nicht günstiger). Das Ding wird ins LAN gesteckt und Fertig! Der Verbindungsaufbau ging sofort! :-)
Zur Konfiguration des Gerätes (für Verschlüsselung etc.) liegt natürlich nur eine Windows-CD bei. Dieses Programm kann irgendwo im LAN oder WLAN installiert sein. Allerdings habe ich voller Erstaunen auch ein Konfigurationsprogramm unter Linux im Debian-Paket ap-utils entdeckt. Der AP ist wohl baugleich mit einigen anderen Atmel-basierten APs (z.B. Linksys). Und dieses Tool kann wesentlich mehr als das Windows-Tool. So ist es auch möglich, die Sendeleistung heraufzusetzen(!).
Ein zweiter Vorteil des APs ist natürlich, daß man ihn an einer günstigen Stelle postieren kann und dann nur ein normales Netzkabel dorthin verlegen muss. Ist die Karte in einem PC, muss man ggf. ein Antennenverlängerungskabel benutzen, was nicht nur teuer ist, sondern sich auch sehr ungünstig auf die Sendeleistung auswirkt.
Bei der Konfiguration des Access Points sollte man beachten, dass manche WLAN-Karten Kanal 13 nicht empfangen können. Ich (RolfReintjes) hatte bei meiner Fritzbox den Kanal 13 eingestellt und konnte deshalb keine Verbindung aufbauen. Es hat mich sehr viel Zeit gekostet, dies als Ursache für die fehlgeschlagene Verbindung zu identifizieren. Es gibt ein Kommando, mit dem man sich die unterstützten Kanäle der Karte und des Linux-Treibers anzeigen lassen kann (leider fällt mir dieses Kommando im Moment aus dem Kopf nicht mehr ein). Welche Kanäle in welcher Region erlaubt sind, findet man hier
. Daraus geht hervor, dass in den USA die Kanäle 12, 13 und 14 nicht erlaubt sind. Das ist wahrscheinlich auch der Grund dafür, dass meine Karte nur die Kanäle von 1 - 11 unterstützt. -- RolfReintjes
Übrigens gibt es auch die Möglichkeit, zwei dieser APs als Bridge zwischen zwei LANs zu konfigurieren. Das ist dann die etwas teurere Lösung, bei der man allerdings gar keine Treiberprobleme mehr hat.
- unter Junsun
). Das hostap-README
enthält Hinweise zu dem WDS-Feature.
Sicherheit #
Ich habe den AP an einem ganz eigenen Netzwerksegment, d.h. an einer eigenen Netzwerkkarte an einem Linux-Router mit entsprechender Firewall. Man sollte sich darüber im klaren sein, dass WEP grundsätzlich zu knacken ist. Ich denke, dass ich lieber eine ganz unverschlüsselte Verbindung nehme (um keine Illusion aufzubauen), um z.B. über Port 80 ins Internet zu gehen und dann über diese Verbindung ein separates VirtualPrivateNetwork mit VPNmitIPSec oder OpenVPN aufbaue, wenn ich in mein LAN will. Zugriff ins LAN ohne VPN wird dann komplett verboten. So hängt die Sicherheit dann von meinem VPN ab, was erstens erlaubt, die beste Software dafür zu wählen und zweitens normale WLAN-Sniffer stark verwirren dürfte.
Konfiguration #
Die Konfiguration der Schnittstelle mache ich wie bei LaptopNetzwerkAutokonfiguration beschrieben. So, wie der Atmel-Treiber sich installiert, wird er im PCMCIA über die "network"-Skripte installiert, d.h. es gilt alles auch für normale Ethernet-Karten gesagte. Als Gegenstelle (zur Angabe von MAC-Adresse und IP) kann man bei guessnet nicht nur den AP selber angeben (dessen IP konfiguriert werden kann) sondern auch einen Rechner wählen, der im LAN existiert, das an den AP angeschlossen ist (Der AP routet offensichtlich auch ARP-Pakete weiter, ist also eine richtige Bridge).
Die "wireless"-Skripte vom PCMCIA-System werden nur benötigt, wenn man WLAN-spezifische Parameter einstellen will. Wenn man z.B. zwei Access Points in der Reichweite hat und nicht immer beim Nachbarn (oder beim Hotspot im Breuers) landen will, sollte man in /etc/pcmcia/wireless.opts entsprechend Änderungen vornehmen, um eine ESSID auszuwählen. Manche Access Points sind hier auf "WLAN" vorkonfiguriert, man kann aber z.B. auch "LUG" einstellen. Die Telekom verwendet z.B. "T-Mobile_T-Com". In dieser Datei sollte man übrigens auch WEP usw. einstellen können.
Im Prinzip habe ich aus obiger Erwägung den Access Point und die Karte gar nicht konfiguriert. Das bedeutet, ich habe eine unverschlüsselte Standard-Verbindung. Daraus ergeben sich folgende Eigenschaften:
- Kein Ärger mit der WEP-Unterstützung der Treiber und keine vorgegaukelte, falsche Sicherheit
- Der AP muss an ein eigenes Netzwerksegment (DMZ) angeschlossen werden und nicht in das normale LAN!
- Beide(!) Seiten der Verbindung sollten eine Firewall besitzen. (D.h. sie müssen ebensogut abgesichert sein wie jeder Rechner, der sich z.B. direkt ins Internet einwählt)
- Auf beiden Seiten werden Clients für ein VirtualPrivateNetwork installiert, über die dann die eigentliche Verbindung ins LAN aufgebaut wird.
- Die Firewall am Access Point lässt keine Pakete durch, die nicht mit dem VPN zusammenhängen
WEP #
Wenn man denn WEP doch einsetzen möchte, dann natürlich nur mit 128
Bits (genauer: 104). Gegenüber der VPN-Lösung ist der Aufwand sehr
viel geringer, und man kann sogar Windoze-Clients zulassen. Hierzu
ein Tipp: Um nicht mit Hex-Keys arbeiten zu müssen, kann man bei
Windoze-Treibern häufig eine Passphrase eingeben und sich daraus
einen Hexkey erzeugen lassen (so was wie MD5-Hash). Das
nwepgen-Programm aus dem linux-wlan-ng Utilitypaket verwendet
dabei den gleichen Algorithmus wie die (Nessus-kompatiblen)
Windozetreiber, so dass man in Linux und Windoze die gleiche
Passphrase verwenden kann. Allerdings klappt das nur mit 40-Bit
Schlüssellänge :-( falls man nicht den
Patchhttp://lists.linux-wlan.com/pipermail/linux-wlan-devel/2002-February/000873.html
einspielt, siehe auch mein Hinweis in
Linux-Communityhttp://www.linux-community.de/Neues/story?storyid=11647
.
(Leider passt der Patch wegen Formatierung nicht richtig, also ist
Handarbeit angesagt...) Aber dann kann man aus einer gemeinsamen
Passphrase die gleichen WEP128 Keys erzeugen. Interoperabilität
Win/Lin ist auch eine Form von Gastfreundlichkeit. - Martin
Einstellen von WEP-Keys #
Wer sich mit einem Debian-System an einem WEP-geschützten Acces Point anmelden will, kann seine WEP-Parameter am einfachsten in der Datei /etc/network/interfaces einstellen, in der bekanntlich auch alle anderen Parameter für die Interfaces angegeben werden. Hier kann man zum Beispiel folgendes schreiben:
iface eth1 inet dhcp
WIRELESS_ESSID MEINAP
WIRELESS_KEY 1234-5678-9abcd-ef01-2345-6789-ab
up /etc/init.d/openvpn start
down /etc/init.d/openvpn stop
Erweiterung für Gastfreundlichkeit #
Obiges Setup hat den Vorteil, daß es sich relativ problem- und risikolos so erweitern läßt, daß man auch "Gäste" bedienen kann bzw. sich für "ungefährliche" Dinge gar nicht am VPN einloggen braucht.
- Auf dem Rechner, an dem der AP hängt, sollte ein DHCP-Server laufen, der die Anmeldung neuer Rechner übernimmt.
- Die Firewall kann Pakete, die nicht ins LAN (sondern ins Internet) gehen, weiterrouten und so Zugang ins Internet für "Gäste" gestatten (evtl. nur Port 80)
- Wenn man nur ins Internet möchte, besteht so gar keine Notwendigkeit, das VPN aufzubauen. So bietet man evtl. weniger Angriffsfläche für Entschlüsselungsversuche
Ad-Hoc modes #
Es gibt zwei verschieden Ad-Hoc modes. Zum einen den alten Ad-Hoc Demo Mode (auch bekannt als Lucent Mode) und den neuen IBSS Ad-Hoc Mode. Beide Ad-Hoc modes sind inkompatibel und funktionieren nicht miteinander. Wer also eine alte WLan-Karte hat oder eine alte Firmware, kann Probleme bekommen wenn er an ein Netz im Ad-Hoc Modus betreiben will. -- DocX
Funkstrecken #
Zum Thema "längere Funkstrecken" gibt es im Netz einige
interessante Erfahrungsberichte, z.B.
http://www.pl-berichte.de/t_netzwerk/wlan-selbstgemacht/wlan-selbstgemacht.html