Suche im Katalog
Linux Netzwerker-Handbuch

Linux Netzwerker-Handbuch


Tony Bautts, Terry Dawson & Gregor N. Purdy
3. Auflage Juli 2005
ISBN 3-89721-414-8
382 Seiten
Weitere Informationen zur gedruckten Version des Buches finden Sie unter:
www.oreilly.de/catalog/linag3ger/

Zur Übersicht aller OpenBooks


TOC PREV NEXT INDEX

Kapitel 18

Drahtlose Netzwerke

Drahtlose Netzwerke stellen eine viel versprechende und zunehmend beliebter werdende Technik dar, die im Vergleich zur herkömmlichen drahtgebundenen Technik eine ganze Reihe von Vorteilen bietet. Diese Vorteile reichen von einer größeren Bequemlichkeit für die Benutzer und geringeren Kosten für die Inbetriebnahme bis hin zu einer erleichterten Netzwerkinstallation. Eine neue drahtlose Anlage kann Ihnen eine Menge Geld sparen, da kein Bedarf an zusätzlichen Kabeln, Steckern oder Netzwerk-Switches besteht. Um neue Benutzer in ein Netzwerk aufzunehmen, müssen lediglich eine WLAN-Karte in einen Rechner gesteckt und die Maschine eingeschaltet werden. Drahtlose Netzwerke werden außerdem dazu verwendet, um Bereiche mit Netzwerkzugriff zu versorgen, die über wenig oder keine traditionelle Netzwerkinfrastruktur verfügen.

Die vielleicht größte Wirkung drahtloser Netzwerke liegt in ihrer verbreiteten Akzeptanz unter Privatpersonen. Das offensichtlichste Beispiel für diese Popularität bilden neue Laptop-Systeme, die nahezu alle mit integriertem 802.11b oder g ausgeliefert werden. Die praktischen Vorteile hatten gute Verkaufszahlen zur Folge, die es wiederum den Herstellern erlaubten, die Kosten für die Ausstattung zu senken. Momentan entspricht der Preis für eine WLAN-Karte ungefähr dem für eine traditionelle Ethernet-Karte.

Neben diesen Vorteilen sollen aber auch die Nachteile nicht verschwiegen werden. Am tief greifendsten sind die Probleme mit der Sicherheit.

Historisches

Wireless LANs basieren auf der Spread Spectrum-Technik, die ursprünglich für die militärische Kommunikation der US-amerikanischen Armee während des Zweiten Weltkriegs entwickelt wurde. Militärtechniker betrachteten diese Technik als vorteilhaft, weil sie widerstandsfähiger gegen Störungen war. Weitere technische Fortschritte erlaubten schon damals eine Erhöhung der Datenrate. Nach 1945 begannen kommerzielle Unternehmen damit, diese Technik zu erweitern, da sie deren potenziellen Nutzen für Endanwender erkannten.

Mit einem Projekt namens AlohNet an der University of Hawaii aus dem Jahre 1971 entwickelte sich die Spread Spectrum-Technik zu den Anfängen der modernen WLANs. Dieses Projekt ermöglichte es sieben Computern auf den verschiedenen Inseln, bidirektional mit einem zentralen Hub auf Oahu zu kommunizieren.

Die universitäre Forschung am AlohNet bereitete den Weg für die erste Generation moderner drahtloser Netzwerkgeräte, die im Frequenzbereich von 901 bis 928 MHz arbeiteten. In dieser Phase der Entwicklung blieb die drahtlose Technik vorrangig der militärischen Nutzung vorbehalten und wurde nur in ganz geringem Maße auf nicht-militärischem Gebiet eingesetzt. Das lag vor allem daran, dass der Frequenzbereich schon stark belegt und außerdem die Übertragungsgeschwindigkeit nicht sehr hoch war.

Dann wurde die Frequenz 2,4 GHz für den unlizenzierten Gebrauch definiert. Die drahtlose Technik breitete sich in diesen Bereich aus und die Spezifikation 802.11 wurde aufgestellt. Diese Spezifikation entwickelte sich zum weithin akzeptierten Standard 802.11b und weiter zu schnelleren, sichereren Implementierungen dieser Technologie.

Die Standards

Die Standards rund um den Betrieb drahtloser Netzwerke für PCs wurden vom Institute of Electrical and Electronics Engineers (IEEE) aufgestellt. Der LAN/MAN-Technik wurde die Nummer 802 zugewiesen, die dann wiederum in Arbeitsgruppen aufgeteilt wurde. Zu den aktivsten Wireless-Arbeitsgruppen gehören 802.15, gedacht für Wireless Personal Area Networks (Bluetooth), 802.16, die Unterstützung für drahtlose Breitbandsysteme definiert, und schließlich 802.11, die der Wireless-LAN-Technik zugewiesen wurde. Innerhalb der 802.11-Definition gibt es wiederum speziellere Definitionen, die mit Buchstaben näher bezeichnet werden. Hier ist eine Liste der wichtigsten 802.11-Wireless-LAN-Definitionen:

802.11a
Diese Definition bietet drahtlosen Zugriff im 5-GHz-Band. Sie ermöglicht Geschwindigkeiten bis zu 54 Mbps, hat sich aber aufgrund der relativ teuren Ausrüstung und des kleinen Bereichs noch nicht durchgesetzt.
802.11b
Das ist weiterhin der Standard, auf den sich die meisten Leute beziehen, wenn sie über den Betrieb drahtloser Netzwerke reden. Er ermöglicht Geschwindigkeiten bis 11 Mbps im 2,4-GHz-Band und kann einen Bereich von mehr als 500 Metern erreichen.
802.11g
Dieser Standard wurde aufgestellt, um höhere Datenraten innerhalb des 2,4-GHz-Bandes zu erzielen. Mit der Einführung des WiFi Protected Access oder WPA hat sich außerdem die Sicherheit erhöht. Anstelle von 802.11b-Geräten werden nun 802.11g-Geräte eingesetzt, die sich zunehmender Beliebtheit erfreuen.
802.11i
Dieser Standard, der sich zwar noch in der Entwicklung befindet, soll viele der Sicherheitsprobleme lösen, von denen 802.11b betroffen war, und ein robusteres System der Authentifizierung und Verschlüsselung bieten. Momentan (Frühjahr 2005) ist die Spezifikation noch nicht abgeschlossen.
802.11n
802.11n wurde als schnelle Antwort auf die Geschwindigkeitsnachteile aktueller drahtloser Netzwerke angekündigt. Mit einer Betriebsgeschwindigkeit von 100 Mbps verdoppelt es nahezu die Übertragungsgeschwindigkeit existierender Drahtlose Netzwerke, wobei die Abwärtskompatibilität zu b und g gewahrt bleibt. Momentan ist die Spezifikation noch nicht abgeschlossen; allerdings haben verschiedene Hersteller bereits »Prä-n«-Produkte veröffentlicht, die auf den frühen Entwürfen der Spezifikation aufbauen.

Sicherheitsbedenken hinsichtlich 802.11b

Als das IEEE den Standard 802.11b schuf, erkannte es, dass die offene Natur der drahtlosen Netzwerke irgendeine Art von Datenintegrität und Schutzmechanismus erforderte, und schuf daher Wired Equivalent Privacy (WEP). Da der Standard versprach, eine Verschlüsselung mit 128 Bit zu ermöglichen, sollten die Benutzer die gleiche Privatsphäre genießen wie in einem herkömmlichen drahtgebundenen Netzwerk.

Die Hoffnungen auf diese Art von Sicherheit zerschlugen sich jedoch schnell. In einem Artikel namens »Weaknesses in the Key Scheduling Algorithm of RC4« von Scott Fluhrer, Itsik Mantin und Adi Shamir wurden die Schwächen bei der Schlüsselerzeugung und der Implementierung von WEP ausführlich beschrieben. Als der Artikel geschrieben wurde, handelte es sich zwar nur um einen theoretischen Angriff, allerdings setzte ein Student an der Rice University namens Adam Stubblefield diesen in die Realität um und erzeugte den ersten WEP-Angriff. Er veröffentlichte seine Werkzeuge zwar niemals, allerdings gibt es inzwischen viele ähnliche Werkzeuge für Linux, die es Angreifern erlauben, WEP zu knacken. Es handelt sich daher um ein Sicherheitskonzept, das alles andere als vertrauenswürdig ist.

Dennoch sollte erwähnt werden, dass die Durchführung eines WEP-Angriffs einen ziemlichen Zeitaufwand erfordert. Der Erfolg des Angriffs hängt von der Menge an verschlüsselten Daten ab, die der Angreifer abfangen konnte. Programme wie AirSnort brauchen ungefähr 5 bis 10 Millionen verschlüsselte Pakete. Für ein ausgelastetes Wireless LAN, das immer mit dem maximal möglichen Verkehr läuft, benötigt man immer noch etwa 10 Stunden, um es zu knacken. Da die meisten Netzwerke nicht so lange mit dieser Kapazität laufen, kann davon ausgegangen werden, dass der Angriff deutlich länger dauern würde, bei kleineren Netzwerken bis zu einigen Tagen.

Um echten Schutz vor Fehlverhalten und Ausspionieren zu erhalten, sollte eine VPN-Technik verwendet werden. Außerdem dürfen drahtlose Netzwerke niemals direkt an interne, vertrauenswürdige Netzwerke angeschlossen werden.

Hardware

Verschiedene Hersteller verwenden leicht unterschiedliche Architekturen, um die 802.11b-Funktionalität bereitzustellen. Es gibt zwei große Hersteller von Chipsätzen, Hermes und Prism. Innerhalb dieser Chipsätze haben Hardware-Hersteller Modifikationen vorgenommen, um die Sicherheit oder die Geschwindigkeit zu erhöhen. Beispielsweise bietet die USRobotics-Ausrüstung, die auf dem Prism-Chipsatz basiert, nun 802.11b mit 22 Mbps, arbeitet aber nicht bei diesen Geschwindigkeiten, wenn die DLink-802.11b-22-Mbps-Hardware fehlt. Eine Geschwindigkeit von 11 Mbps ist jedoch möglich.

801.11g im Vergleich mit 802.11b unter Linux

Aufgrund der neuen Chipsätze und der Unterschiede zwischen den Herstellern ist die 802.11g-Unterstützung unter Linux etwas schwierig. Momentan befindet sich die Unterstützung für 802.11g-Geräte unter Linux noch in der Entwicklung und ist nicht so stabil und robust wie die 802.11b-Unterstützung. Aus diesem Grund konzentriert sich dieses Kapitel auf 802.11b-Treiber und -Unterstützung. Eine generelle Linux-Unterstützung für g-Geräte ist allerdings nicht mehr weit entfernt. Durch die Arbeit von Gruppen wie Prism54.org, die g-Treiber entwickeln, sowie Intels Ankündigung, Treiber für ihren Centrino-Chipsatz zu veröffentlichen, sollte die vollständige Unterstützung innerhalb eines Jahres erreicht sein.

Chipsätze

Wie bereits erwähnt, gibt es für den Standard 802.11b zwei Chipsätze, Hermes und Prism. Anfangs waren Hermes-Karten vorherrschend, was an der Beliebtheit der Lucent-WaveLAN/Orinoco-Karten lag. Heutzutage dagegen verwendet die Mehrheit den Prism2-Chipsatz von Prism. Bekannte Prism-Karten sind diejenigen von D-Link, Linksys und USR. Alle Karten erbringen ungefähr die gleiche Leistung, und sie arbeiten gut zusammen, wenn sie im 802.11b-Standard betrieben werden, was bedeutet, dass Sie eine Lucent-WLAN-Karte mit einem D-Link-Access-Point verbinden können und umgekehrt. Es folgt eine kurze Liste der wichtigsten Kartenhersteller und ihrer Chipsätze. Falls Ihre Karte dort nicht aufgeführt wird, schauen Sie in Ihr Betriebshandbuch oder auf die Website des Herstellers.

Hermes-Chipsatz-Karten:
Lucent Orinoco Silver und Gold Cards
Gateway Solo
Buffalo Technologies
Prism2-Chipsatz-Karten:
Addtron
Belkin
Linksys
D-Link
ZoomMax

Client-Konfiguration

802.11b-Netzwerke können so konfiguriert werden, dass sie in mehreren unterschiedlichen Modi laufen. Die beiden Haupttypen, die Ihnen wahrscheinlich begegnen werden, sind der Infrastruktur-Modus (manchmal auch als Netzwerk mit Zugriffspunkt bezeichnet) und der Ad-hoc-Modus. Der Infrastruktur-Modus ist am gebräuchlichsten und verwendet eine Sternstruktur, in der mehrere Clients mit einem zentralen Zugriffspunkt verbunden sind (siehe Abbildung 18-1). Der Ad-hoc-Netzwerkmodus dagegen ist ein Peer-to-Peer-Netzwerk, in dem die Clients direkt miteinander verbunden sind (siehe Abbildung 18-2). Anlagen im Infrastruktur-Modus bilden ein effektives Mittel, um die Leitungen in einem herkömmlichen Netzwerk zu ersetzen, wodurch sie sich ideal für Büroumgebungen eignen, in denen drahtlose Clients auf Server zugreifen sollen, die an das normale drahtgebundene Netzwerk angeschlossen sind. Ad-hoc-Netzwerke erweisen sich dann als vorteilhaft, wenn einfach Dateien zwischen PCs übertragen werden sollen oder kein Zugriff auf Server außerhalb des drahtlosen Netzwerks erforderlich ist.
Abbildung 18-1
Drahtloses Netzwerk in Sternstruktur
Abbildung 18-2
Drahtloses Ad-hoc-Netzwerk (Peer-to-Peer)

802.11b-Netzwerke arbeiten in einer vorgegebenen Gruppe aus Frequenzen, einem so genannten Kanal. Die Spezifikation erlaubt 14 separate Kanäle, obwohl sich die Benutzer in Nordamerika auf die ersten 11 und in Europa auf die ersten 13 Kanäle beschränken müssen. Nur japanische Benutzer haben Zugriff auf den vollständigen Bereich der Kanäle. In Nordamerika reichen die 11 Kanäle von 2400 bis 2483 MHz, wobei jeder Kanal 22 MHz breit ist. Es gibt natürlich einige Überschneidungen zwischen den Kanälen, deshalb ist es wichtig, eine Standortaufnahme durchzuführen, bevor ein Kanal ausgewählt wird, um künftig Probleme durch mögliche Störungen von anderen drahtlosen Netzwerken zu vermeiden.

Da der Infrastruktur-Modus am gebräuchlichsten ist, wird sich dieser Abschnitt vorrangig darauf konzentrieren. In diesem Modus kommt eine Sternstruktur zum Einsatz. Der Zugriffspunkt (Access Point) bildet den Mittelpunkt, die Clients sind mit diesem verbunden. Ein Zugriffspunkt kann entweder ein fertig gekauftes Gerät sein oder aus einer Linux-Maschine, auf der HostAP läuft, selbst gebaut werden. Auf diese Möglichkeit gehen wir später ein.

Ein 802.11b-Netzwerk benutzt einen Zugriffspunkt, der ein Signal überträgt, das als Beacon bezeichnet wird. Dabei handelt es sich im Prinzip um eine Nachricht vom Zugriffspunkt, die alle benachbarten Clients darüber informiert, dass er für Verbindungen zur Verfügung steht. Das Beacon enthält einige Informationen, die der Client benötigt, damit er eine Verbindung herstellen kann. Der wichtigste Inhalt des Beacon ist die ESSID oder der Name des Zugriffspunkts. Wenn der Client einen Zugriffspunkt sieht, sendet er eine Anforderung zum Verbinden. Wenn der Zugriffspunkt das gestattet, gewährt er dem Client einen Assoziierungs-Frame, und sie verbinden sich. An dieser Stelle können noch andere Arten der Authentifizierung ins Spiel kommen. Manche Zugriffspunkte lassen nur Clients mit einer zuvor festgelegten MAC-Adresse zu, andere verlangen eine weitere Authentifizierung. Die Entwickler arbeiten am Standard 802.1x, um ein gutes Authentifizierungs-Framework zu etablieren. Leider wird es wahrscheinlich nicht sehr effektiv sein, da schon jetzt Schwachstellen bekannt sind.

Treiber

Ein WLAN-Treiber für Linux kann entweder in den Kernel kompiliert oder als ladbares Kernel-Modul (Loadable Kernel Module; LKM) erzeugt werden. Es wird empfohlen, ein Kernel-Modul zu erzeugen, da Treiber möglicherweise häufig aktualisiert werden müssen. Das Kompilieren eines neuen Moduls ist viel einfacher und weniger zeitaufwändig, als den gesamten Kernel neu zu kompilieren. Wie auch immer Sie vorgehen, Sie müssen die drahtlosen Erweiterungen in der Kernel-Konfiguration aktivieren. In den meisten Distributionen sind sie bereits aktiviert. Falls Sie jedoch alles von Grund auf neu aufbauen, sieht die Konfiguration so aus:

# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y

Sie werden auch feststellen, dass MODVERSIONS deaktiviert wurde. Dadurch wird es einfacher, die Module getrennt vom Modulbaum des Kernels zu kompilieren. Es ist zwar nicht notwendig, spart aber Zeit, wenn Sie versuchen, Kernel-Module zu patchen und neu zu kompilieren. Welche Chip-Architektur Sie auch immer verwenden - ob Sie nun eine PC-Karte oder sogar eine PCI-Karte einsetzen -, pcmcia-cs, der Linux-PCMCIA-Card-Manager, ist in der Lage, Ihre Karte zu erkennen und den passenden Treiber für Sie zu installieren. Es steht eine Reihe von Treibern zur Verfügung, allerdings werden nur zwei momentan aktiv gepflegt.

Die Orinoco_cs-Treiber, geschrieben von David Gibson, werden im Allgemeinen als die besten für Hermes-Karten angesehen. Sie werden aktiv entwickelt und gepatcht und funktionieren mit den meisten drahtlosen Anwendungen. Die Orinoco_cs-Treiber sind seit der Version 2.4.3 im Linux-Kernel enthalten und seit Version 3.1.30 Bestandteil von pcmcia-cs. Der Treiber, der in Ihrer Distribution enthalten ist, ist möglicherweise nicht ganz so aktuell, weshalb Sie gegebenenfalls aufrüsten wollen.

Verwirrend ist, dass einige Prism2-Karten nun in den Orinoco_cs-Treibern unterstützt werden. Mit jeder neuen Version steigt deren Anzahl, so dass dieser Treiber ungeachtet seines Namens eine gute Alternative für Prism2-Benutzer bildet und vielleicht in Zukunft als Standard dienen könnte.

Sollte Ihre Prism-Karte jedoch nicht durch den Orinoco_cs-Treiber unterstützt werden, können Sie auch den linux-wlan-ng-Treiber von Absolute Value Systems verwenden. Das ist der zurzeit bekannteste und am besten gepflegte Treiber für diesen Chipsatz. Er ist auch in den meisten Linux-Distributionen enthalten und unterstützt die PCI-, USB- und PCMCIA-Versionen der Prism-2.x- und -3.0-Karten.

Sobald Sie den Treiber Ihrer Wahl installiert haben und alles funktioniert, müssen Sie die Linux Wireless Extension Tools installieren, eine Sammlung wertvoller Konfigurationswerkzeuge, geschrieben von Jean Tourrilhes, die Sie unter http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html finden können.

Die Linux Wireless Extension Tools einsetzen

Die Linux Wireless Extension Tools sind bei der Konfiguration Ihrer Geräte für den drahtlosen Netzwerkbetrieb sehr nützlich. Falls Sie eine der vorgegebenen Optionen ändern müssen oder einfach Ad-hoc-Netzwerke konfigurieren wollen, sollten Sie sich mit diesen Werkzeugen vertraut machen. Sie sind außerdem zum Aufbau eines Linux-Zugriffspunkts erforderlich. Darauf gehen wir später in diesem Kapitel näher ein.

Das Toolkit enthält die folgenden Programme:

iwconfig
Das ist das wichtigste Konfigurationswerkzeug für den Betrieb drahtloser Netzwerke. Es gestattet Ihnen, alle Aspekte Ihrer Konfiguration zu ändern, wie etwa ESSID, Kanal, Frequenz und WEP-Schlüssel.
iwlist
Dieses Programm listet die verfügbaren Kanäle, Frequenzen, Bit-Raten und andere Informationen einer angegebenen WLAN-Schnittstelle auf.
iwspy
Dieses Programm sammelt für jeden Knoten Informationen über die Verbindungsqualität und ist bei der Fehlersuche in Verbindungen nützlich.
iwpriv
Mit diesem Programm können Sie treiberspezifische Parameter modifizieren und manipulieren. Falls Sie beispielsweise eine modifizierte Version des Orinoco_cs-Treibers benutzen, ermöglicht Ihnen iwpriv, den Treiber in den Promiscuous-Modus zu versetzen.

Konfiguration eines Linux-Zugriffspunkts

Ein sehr nützliches Werkzeug im Drahtlos-Arsenal von Linux ist HostAP, ein Treiber von Jouni Malinen. Er ermöglicht es Benutzern von Prism2-Karten, ihre WLAN-Karten und Linux-Server in Zugriffspunkte zu verwandeln. Da bereits viele preiswerte Zugriffspunkte auf dem Markt sind, werden Sie sich vermutlich fragen, ob Sie jemals einen Server in einen Zugriffspunkt verwandeln werden. Die Antwort ist einfach eine Sache der Funktionalität. Die meisten preiswerten Zugriffspunkte bieten kaum mehr Funktionalität als das einfache Anbieten eines drahtlosen Netzwerks. Es gibt kaum Möglichkeiten für Zugriffssteuerung und Firewall-Funktionen. Hier bietet Linux unermessliche Vorteile. Mit einem Linux-basierten Zugriffspunkt können Sie die Vorteile von Netfilter, RADIUS, der MAC-Authentifizierung und nahezu jeder beliebigen Art von Linux-Software genießen, die Sie sinnvoll finden.

Den HostAP-Treiber installieren

Um HostAP zu installieren, muss Ihr System über Folgendes verfügen:

Linux-Kernel v2.4.20 oder höher (Kernel-Patches für 2.4.19 sind enthalten)
das Wireless Extensions Toolkit
den neuesten HostAP-Treiber, zu finden unter http://hostap.epitest.fi/releases

Den HostAP-Treiber beziehen und kompilieren

RPM- und .deb-Pakete stehen zwar möglicherweise zur Verfügung, HostAP hingegen müssen Sie wahrscheinlich neu kompilieren, um die neueste Version des Treibers zu haben. Entpacken Sie die tar-Quelldatei in ein Arbeitsverzeichnis. HostAP sucht auch nach dem Linux-Kernel-Quellcode in /usr/src/linux. Manche Distributionen, wie etwa Red Hat, platzieren die Kernel-Quelle in /usr/src/linux-2.4. In diesem Fall müssen Sie einen symbolischen Link namens linux erzeugen, der auf das Verzeichnis mit den Kernel-Quellen verweist. Die Vorbereitung der Quellen für die Installation ist recht einfach und sieht folgendermaßen aus:

[root@localhost root]# tar xzvf hostap-0.0.1.tar.gz
hostap-0.0.1/
hostap-0.0.1/COPYING
hostap-0.0.1/ChangeLog
hostap-0.0.1/FAQ
.
.
hostap-0.0.1/Makefile
hostap-0.0.1/README
hostap-0.0.1/utils/util.h
hostap-0.0.1/utils/wireless_copy.h

Im Gegensatz zu vielen Paketen besitzt HostAP kein Konfigurationsskript, das vor dem Kompilieren der Quelle ausgeführt wird. Sie müssen jedoch entscheiden, welche Module Sie gern kompilieren würden. HostAP kann momentan PCMCIA-, PLX- oder PCI-Geräte unterstützen. USB-Geräte sind nicht kompatibel, obwohl in der Zukunft möglicherweise Unterstützung dafür hinzugefügt wird. In diesem Beispiel kompilieren wir die PC-Card-Version.

[root@localhost root]# make pccard
gcc -I/usr/src/linux/include -O2 -D_ _KERNEL_ _ -DMODULE -Wall -g -c -I/usr/src/linux/arch/i386/mach-generic -I/usr/src/linux/include/asm/mach-default -fomit-frame-pointer -o driver/modules/hostap_cs.o driver/modules/hostap_cs.c
gcc -I/usr/src/linux/include -O2 -D_ _KERNEL_ _ -DMODULE -Wall -g -c -I/usr/src/linux/arch/i386/mach-generic -I/usr/src/linux/include/asm/mach-default -fomit-frame-pointer -o driver/modules/hostap.o driver/modules/hostap.c
.
.
Run 'make install_pccard' as root to install hostap_cs.o

[root@localhost root]# make pccard_install
Installing hostap_crypt*.o to /lib/modules/2.4.20-8/net
mkdir -p /lib/modules/2.4.20-8/net
.
.
Installing /etc/pcmcia/hostap_cs.conf
[root@localhost hostap-0.0.1]#

Nach dem Kompilieren werden Sie feststellen, dass die Datei hostap_cs.conf nun im Verzeichnis /etc/pcmcia installiert wurde. Das ist die Modul-Konfigurationsdatei, die dafür sorgt, dass das Modul geladen wird, wenn eine entsprechende Karte entdeckt wird. Die Liste enthält Konfigurationen für eine Reihe verbreiteter Karten. Falls Ihre Karte jedoch nicht vertreten ist, müssen Sie sie hinzufügen. Das ist einfach; die Einträge sind im Allgemeinen nur drei Zeilen lang:

card "Compaq WL100 11Mb/s WLAN Card"
manfid 0x0138, 0x0002
bind "hostap_cs"

Um die genauen Informationen über Ihre Karte zu ermitteln, kann folgender Befehl verwendet werden:

[root@localhost etc]# cardctl ident
Socket 0:
no product info available
Socket 1:
product info: "Lucent Technologies", "WaveLAN/IEEE", "Version 01.01", ""
manfid: 0x0156, 0x0002
function: 6 (network)
[root@localhost etc]#

Danach können Sie entweder modprobe einsetzen, um Ihr Gerät zu installieren, oder booten, damit es automatisch geladen wird. Prüfen Sie im syslog, ob Sie die folgende oder eine ähnliche Nachricht finden, die bestätigt, dass das Gerät richtig geladen wurde:

hostap_crypt: registered algorithm 'NULL'
hostap_cs: hostap_cs.c 0.0.1 2002-10-12
(SSH Communications Security Corp, Jouni Malinen)
hostap_cs: (c) Jouni Malinen
PCI: Found IRQ 12 for device 00:0b.0
hostap_cs: Registered netdevice wlan0
prism2_hw_init(  )
prism2_hw_config: initialized in 17775 iterations
wlan0: NIC: id=0x8013 v1.0.0
wlan0: PRI: id=0x15 v1.0.7
wlan0: STA: id=0x1f v1.3.5
wlan0: defaulting to host-based encryption as a workaround for
firmware bug in Host AP mode WEP
wlan0: LinkStatus=2 (Disconnected)
wlan0: Intersil Prism2.5 PCI: mem=0xe7000000, irq=12
wlan0: prism2_open
wlan0: LinkStatus=2 (Disconnected)

HostAP konfigurieren

Wie bereits besprochen, ist das Programm iwconfig notwendig, um HostAP zu konfigurieren. Zuerst müssen Sie HostAP mitteilen, dass Sie es im Infrastruktur-Modus benutzen wollen. Dazu verwenden Sie folgenden Befehl:

vlager# iwconfig wlan0 mode Master

Als Nächstes muss die ESSID gesetzt werden. Das ist der Name des Zugriffspunkts, der von allen Clients gesehen wird. Wir nennen ihn in unserem Beispiel »pub«:

vlager# iwconfig wlan0 essid pub

Dann sollten Sie die IP-Adresse setzen:

vlager# iwconfig wlan0 10.10.0.1

Das Auswählen eines Kanals ist ein wichtiger Schritt. Wie bereits erwähnt, sollte eine Begutachtung der Site durchgeführt werden, um den Kanal zu ermitteln, der am wenigsten belegt ist:

vlager# iwconfig channel 1

Sobald das abgeschlossen ist, können Sie prüfen, ob alles richtig eingegeben ist. Mit dem folgenden Befehl erhalten Sie eine entsprechende Ausgabe:

vlager# iwconfig wlan0
wlan0 IEEE 802.11-DS ESSID:"pub" Nickname:" "
Mode:Managed Frequency:2.457GHz Access Point:00:04:5A:0F:19:3D
Bit Rate=11Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:21/92 Signal level:-74 dBm Noise level:-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:2960
Tx excessive retries:1 Invalid misc:0 Missed beacon:0

Die Konfiguration von HostAP ist abgeschlossen. Nun sollten Sie in der Lage sein, Clients für die Verbindung über das drahtlose Netzwerk an Ihren Linux-Server zu konfigurieren.

Zusätzliche Optionen

Wenn Sie sich mit HostAP vertraut gemacht haben, wollen Sie möglicherweise einige zusätzliche Optionen konfigurieren, wie etwa MAC-Filter und WEP. Es bietet sich an, eine dieser oder gleich beide Sicherheitsmaßnahmen zu implementieren, da die voreingestellte Konfiguration einen offenen Zugriffspunkt ergibt, der von jedem innerhalb des Bereichs ausgespäht oder benutzt werden kann. Der Einsatz von WEP macht das Ausspähen schwieriger, aber nicht unmöglich. Auch die nicht-autorisierte Benutzung wird erschwert. Die MAC-Adressfilterung bietet eine weitere gute Methode, um unerwünschte Gäste fern zu halten. Auch hier sollte man erwähnen, dass aufgrund der Schwächen des Protokolls 802.11b keiner dieser Schritte für eine sichere und abgesicherte Arbeitsumgebung garantiert. Um eine drahtlose Installation richtig abzusichern, sollten traditionelle Sicherungsmethoden wie VPNs eingesetzt werden. Ein VPN bietet sowohl Diskretion als auch Authentifizierung, vor allem, da ein Client in einem WLAN genauso eingestuft werden sollte wie ein Client aus dem Internet - nämlich als nicht vertrauenswürdig.

Das Aktivieren von WEP ist einfach und wird mit dem Befehl iwconfig erreicht. Sie können zwischen einem 40-Bit- und einem 104-Bit-Schlüssel wählen. Ein 40-Bit-WEP-Schlüssel wird mit Hilfe von 10 Hexadezimalstellen konfiguriert:

# iwconfig wlan0 key 1234567890

Ein 104-Bit-WEP-Schlüssel wird mittels 26 Hexadezimalstellen konfiguriert, die in Vierergruppen, jeweils getrennt durch einen Bindestrich, angeordnet sind:

# iwconfig wlan0 key 1000-2000-3000-4000-5000-6000-70

Mit dem folgenden Befehl bestätigen Sie Ihren Schlüssel:

# iwconfig wlan0

Beachten Sie bitte, dass man einen WEP-Schlüssel auch mit einem ASCII-String konfigurieren kann. Es gibt eine Reihe von Gründen, weshalb diese Methode nicht besonders gut ist; der wichtigste ist vermutlich, dass ASCII-Schlüssel nicht immer funktionieren, wenn sie auf der Client-Seite eingegeben werden. Falls Sie es dennoch einmal ausprobieren wollen, dann erreichen Sie die Konfiguration eines ASCII-Schlüssels, indem Sie im Befehl iwconfig die Option s: angeben, gefolgt von dem Schlüssel.

Für 40-Bit-Schlüssel sind fünf Zeichen erforderlich, was einer zehnstelligen Hexadezimalzahl entspricht:

# iwconfig wlan0 key s:smile

Für 104-Bit-Schlüssel sind 13 Zeichen erforderlich, was den 26 Hexadezimalstellen aus dem früheren Beispiel entspricht:

# iwconfig wlan0 key s:passwordtest3

Falls Sie WEP deaktivieren wollen, geben Sie Folgendes ein:

# iwconfig wlan0 key off

HostAP bietet außerdem eine weitere nützliche Funktion, die es Ihnen ermöglicht, Clients anhand der MAC-Adressen zu filtern. Diese Methode stellt zwar keinen narrensicheren Sicherheitsmechanismus dar, bietet Ihnen jedoch einen gewissen Schutz vor nicht-autorisierten Benutzern.

Es gibt zwei grundlegende Methoden, um MAC-Adressen zu filtern: Sie können entweder die Clients in Ihrer Liste zulassen oder Sie können die Clients in Ihrer Liste verbieten. Beide Optionen werden mit dem Befehl iwpriv aktiviert. Der folgende Befehl aktiviert die MAC-Filterung, wobei die Clients in der Liste zugelassen werden:

# iwpriv wlan0 maccmd 1

Der MAC-Filterbefehl maccmd bietet die folgenden Optionen:

maccmd 0
deaktiviert die MAC-Filterung
maccmd 1
aktiviert die MAC-Filterung und lässt bestimmte MAC-Adressen zu
maccmd 2
aktiviert die MAC-Filterung und verbietet bestimmte MAC-Adressen
maccmd 3
leert die MAC-Filtertabelle

Um damit zu beginnen, MAC-Adressen zu Ihrer Liste hinzuzufügen, wird iwpriv folgendermaßen eingesetzt:

# iwpriv wlan0 addmac 00:44:00:44:00:44

Dieser Befehl fügt den Client mit der MAC-Adresse 00:44:00:44:00:44 hinzu. Diesem Benutzer ist es nun gestattet, an Ihrem drahtlosen Netzwerk teilzunehmen. Sollten wir jedoch irgendwann beschließen, diese MAC-Adresse nicht mehr zuzulassen, können wir sie mit dem folgenden Befehl entfernen:

# iwpriv wlan0 delmac 00:44:00:44:00:44

Nun wurde diese MAC-Adresse entfernt und kann nicht mehr zugeordnet werden. Falls Sie eine große Liste mit Client-MAC-Adressen haben und diese alle entfernen wollen, können Sie die MAC-Zugriffssteuerungsliste auch mit dem folgenden Befehl leeren:

# iwpriv wlan0 maccmd 3

Damit wird die Zugriffssteuerungsliste gelöscht. Sie müssen entweder die Filterung deaktivieren oder die gültigen MAC-Adressen, die Sie autorisieren wollen, erneut eingeben.

Fehlerbehebung

Aufgrund der Tatsache, dass sie drahtlos funktionieren, sind 802.11b-Netzwerke oftmals viel anfälliger für Probleme als herkömmliche drahtgebundene Netzwerke. Es gibt eine Reihe von Problemen, mit denen Sie konfrontiert werden könnten, wenn Sie planen, ein drahtloses Netzwerk einzurichten.

Das erste Problem betrifft die Signalstärke. Sie müssen sicherstellen, dass Ihr Signal stark genug ist, um alle Clients zu erreichen, nicht aber so stark, dass Sie es in alle Welt hinausposaunen. Die Signalstärke kann mit einer Antenne, über die Platzierung des Zugriffspunkts und über bestimmte Softwaremaßnahmen kontrolliert werden. Experimentieren Sie mit unterschiedlichen Konfigurationen und Platzierungen, um festzustellen, was in Ihrer Umgebung am besten funktioniert.

Interferenzen können ebenfalls problematisch sein. Viele andere Geräte verwenden inzwischen ebenfalls die Frequenz 2,4 GHz, die von 802.11b benutzt wird. Drahtlose Telefone, Babyphone und Mikrowellengeräte können Interferenzen mit Ihrem Netzwerk verursachen. Auch benachbarte Zugriffspunkte, die auf dem gleichen oder einem ähnlichen Kanal arbeiten, können Ihr Netzwerk stören. Es ist zwar nicht übermäßig wahrscheinlich, dass dieses spezielle Problem einen Ausfall verursacht, mit Sicherheit kommt es aber zu einem Leistungsabfall. Auch hier wird empfohlen, durch einige Versuche die beste Möglichkeit herauszufinden, bevor Sie das Netzwerk endgültig in Betrieb nehmen.

Neben den physischen Problemen gibt es noch eine Reihe von Softwareproblemen, die häufig auftreten. Meist werden sie durch Treiber- oder Karteninkompatibilitäten verursacht. Die beste Möglichkeit, diese Art von Problemen zu vermeiden, besteht darin, genau festzustellen, was für eine Hardware Sie einsetzen. Wenn Sie in der Lage sind, Ihren Chipsatz genau zu bestimmen, können Sie auch den richtigen Treiber viel einfacher ermitteln.

Die Identifizierung der Karte erledigen Sie mit dem Befehl cardctl. Oder Sie schauen in das Systemprotokoll:

[root@localhost etc]# cardctl ident
Socket 0:
no product info available
Socket 1:
product info: "Lucent Technologies", "WaveLAN/IEEE", "Version 01.01", ""
manfid: 0x0156, 0x0002
function: 6 (network)
[root@localhost etc]#

In diesem Beispiel benutzen wir die leicht erkennbare WaveLAN-Karte. Natürlich funktioniert das nur, wenn die Konfiguration erfolgreich war und das Modul entsprechend geladen wurde.

Netzwerke über eine Bridge verbinden

Sobald die HostAP-Software und die Treiber richtig konfiguriert wurden, besteht der nächste sinnvolle Schritt darin, dem Client Zugriff auf Ihr drahtgebundenes LAN zu gewähren. Dazu verwenden Sie eine Bridge; die entsprechende Software finden Sie unter http://bridge.sourceforge.net. Manche Distributionen enthalten installationsbereite Pakete mit allen notwendigen Werkzeugen und Kernel-Modifikationen. Red Hat-RPMs enthalten beides. Debian-Benutzer müssen einfach apt-get install bridge-utils eingeben. Überprüfen Sie Ihre Distribution, um festzustellen, was für Sie zutrifft.

Die Bridging-Software wird mit einem Programm namens brctl gesteuert. Es handelt sich dabei um das Hauptkonfigurationswerkzeug für die Software. Das Programm hat ziemlich viele Optionen. Wir werden nur ein paar der verfügbaren Möglichkeiten einsetzen. Eine umfassendere Liste finden Sie auf den brctl-Manpages, die mit der Software installiert werden.

Der erste Schritt beim Anlegen einer Bridge besteht darin, die virtuelle Bridging-Schnittstelle zu erzeugen. Geben Sie dazu Folgendes ein:

vlager# brctl addbr br0

Dieser Befehl erzeugt eine Schnittstelle auf der Maschine, die verwendet wird, um die beiden Verbindungen zu überbrücken. Sie sehen sie, wenn Sie ifconfig ausführen:

vlager# ifconfig br0
br0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Wenn Sie einen Blick in das Systemprotokoll werfen, können Sie auch feststellen, ob die Bridge aktiviert wurde:

Jan 22 13:17:54 vlager kernel: NET4: Ethernet Bridge 008 for NET4.0

Der nächste Schritt besteht darin, die beiden Schnittstellen hinzuzufügen, die Sie mit der Bridge verbinden wollen. In diesem Beispiel handelt es sich dabei um wlan0, unsere drahtlose Schnittstelle, und eth0, unsere drahtgebundene Ethernet-Schnittstelle. Zuerst einmal ist es jedoch wichtig, die IP-Adressen aus Ihren Schnittstellen zu löschen. Da wir auf Schicht 2 eine Bridge zwischen den beiden Netzwerken erzeugen, sind die IP-Adressen nicht erforderlich.

Vlager# ifconfig eth1 0.0.0.0 down
Vlager# ifconfig wlan0 0.0.0.0 down

Sobald die IP-Adressen gelöscht wurden, können die Schnittstellen zu der Bridge hinzugefügt werden.

vlager# brctl addif br0 wlan0
vlager# brctl addif br0 eth1

Die Option addif fügt Schnittstellen hinzu, die Sie durch die Bridge verbinden wollen. Bei weiteren drahtgebundenen oder drahtlosen Schnittstellen gehen Sie auf die gleiche Weise vor.

Der letzte Schritt beim Anlegen einer Bridge besteht darin, die Schnittstellen zu starten. Sie können an dieser Stelle auch festlegen, ob Sie Ihrer Bridging-Schnittstelle eine IP-Adresse zuweisen wollen. Mit einer IP-Adresse haben Sie die Möglichkeit, Ihren Server von außerhalb zu verwalten; andererseits kann man aber auch sagen, dass eine fehlende IP-Adresse das Gerät sicherer macht. Meist ist es jedoch hilfreich, für die Verwaltung eine IP-Adresse zu haben. Um die Bridge zu aktivieren, müssen Sie sowohl die Bridge-Schnittstelle als auch die beiden Hardware-Schnittstellen aktivieren.

vlager# ifconfig br0 10.10.0.1 up
vlager# ifconfig wlan0 up
vlager# ifconfig eth0 up

Sind diese Befehle erfolgreich abgeschlossen, dann können Sie mit Hilfe der IP-Adresse 10.10.0.1 auf Ihre Bridge zugreifen. Natürlich muss es sich bei dieser Adresse um eine handeln, die von beiden Seiten der Bridge erreichbar ist.

Nun könnten Sie alles so konfigurieren, dass es schon beim Start geladen wird. Das funktioniert bei jeder Linux-Distribution anders. Schauen Sie in die Dokumentation Ihrer eigenen Distribution, was dort über die Modifikation und Erweiterung der Startskripten gesagt wird.


TOC PREV NEXT INDEX


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen
Kontakt | Über O'Reilly | Datenschutz

© 2005, O'Reilly Verlag GmbH & Co. KG