Good to Know Database

Raspbian Wheezy: WLAN Access Point mit dem LogiLink WL0145 WLAN-Adapter konfigurieren


In der folgenden Anleitung soll mit einem Raspberry Pi und einem LogiLink WL0145 WLAN-Adapter ein Wireless LAN Access Point realisiert werden. Als Betriebssystem dient in diesem Fall das derzeit aktuelle Raspbian Image vom 09.02.2013 (2013-02-09-wheezy-raspbian.zip).

WLAN-Adapter einrichten

Als ersten Schritt sollten Sie die Debian-Pakete firmware-ralink und iw installieren.

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install firmware-ralink iw

Wenn Sie Ihren WLAN-Stick noch nicht angeschlossen haben, sollten Sie diesen jetzt mit einem USB-Port verbinden. Anschließend sollte ein Aufruf von lsusb diesen als erkanntes USB-Gerät anzeigen.

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

Über ifconfig können Sie überprüfen ob der WLAN USB-Dongle bereits als Netzwerkschnittstelle erkannt wurde. Hier wurde dem WLAN-Adapter die Gerätedatei wlan0 zugewiesen.

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:72:39:28
          inet addr:192.168.10.52  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9886 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4755 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13894638 (13.2 MiB)  TX bytes:426535 (416.5 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  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)

wlan0     Link encap:Ethernet  HWaddr 7c:dd:90:17:83:0b
          UP 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:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Des Weiteren sollten Sie überprüfen ob Ihr WLAN-Adapter den Access Point Modus unterstützt. Dazu rufen Sie den folgenden Befehl auf. Im Abschnitt Supported interface modes sollten Sie den Modus AP vorfinden. Ist dies nicht der Fall, unterstützt der WLAN-Adapter nicht den Access Point Modus und Sie sollten sich einen anderen WLAN-Adapter besorgen. Wie Sie der folgenden Ausgabe entnehmen können, unterstützt der hier verwendete LogiLink WL0145 WLAN-Adapter den Access Point Modus.

pi@raspberrypi ~ $ iw list
Wiphy phy0
        Band 1:
                Capabilities: 0x172
                        HT20/HT40
                        Static SM Power Save
                        RX Greenfield
                        RX HT20 SGI
                        RX HT40 SGI
                        RX STBC 1-stream
                        Max AMSDU length: 3839 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 2 usec (0x04)
                HT RX MCS rate indexes supported: 0-7, 32
                TX unequal modulation not supported
                HT TX Max spatial streams: 1
                HT TX MCS rate indexes supported may differ
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm) (passive scanning, no IBSS)
                        * 2472 MHz [13] (20.0 dBm) (passive scanning, no IBSS)
                        * 2484 MHz [14] (20.0 dBm) (passive scanning, no IBSS)
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps (short preamble supported)
                        * 5.5 Mbps (short preamble supported)
                        * 11.0 Mbps (short preamble supported)
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
        max # scan SSIDs: 4
        max scan IEs length: 2257 bytes
        Coverage class: 0 (up to 0m)
        Supported Ciphers:
                * WEP40 (00-0f-ac:1)
                * WEP104 (00-0f-ac:5)
                * TKIP (00-0f-ac:2)
                * CCMP (00-0f-ac:4)
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * WDS
                 * monitor
                 * mesh point
        software interface modes (can always be added):
                 * AP/VLAN
                 * monitor
        interface combinations are not supported
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * new_beacon
                 * new_station
                 * new_mpath
                 * set_mesh_params
                 * set_bss
                 * authenticate
                 * associate
                 * deauthenticate
                 * disassociate
                 * join_ibss
                 * join_mesh
                 * set_tx_bitrate_mask
                 * action
                 * frame_wait_cancel
                 * set_wiphy_netns
                 * set_channel
                 * set_wds_peer
                 * Unknown command (84)
                 * Unknown command (87)
                 * Unknown command (85)
                 * connect
                 * disconnect
        Supported TX frame types:
                 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
                 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
        Supported RX frame types:
                 * IBSS: 0xb0 0xc0 0xd0
                 * managed: 0x40 0xd0
                 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
                 * mesh point: 0xb0 0xc0 0xd0
                 * P2P-client: 0x40 0xd0
                 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
        Device supports RSN-IBSS.
        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        Device supports TX status socket option.
        Device supports HT-IBSS.

Installation und Konfiguration von hostapd

Zum Betreiben eines Access Points müssen Sie jetzt das Debian-Paket hostapd installieren.

pi@raspberrypi ~ $ sudo apt-get install hostapd

Anschließend öffnen Sie die Datei /etc/default/hostapd mit einem Editor.

pi@raspberrypi ~ $ sudo vi /etc/default/hostapd

Ändern Sie hier die Option DAEMON_CONF wie folgt ab. Dadurch wird die Konfigurationsdatei für hostapd festgelegt.

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Jetzt müssen Sie noch eine Konfigurationsdatei für hostapd erstellen. Eine Beispiel-Konfiguration mit ausführlichen Kommentaren liefert das hostapd Paket bereits mit. Diese können Sie wie folgt betrachten und als Grundlage für die Konfiguration verwenden.

pi@raspberrypi ~ $ zless /usr/share/doc/hostapd/examples/hostapd.conf.gz

Erstellen Sie jetzt die Konfigurationsdatei /etc/hostapd/hostapd.conf mit einem Editor.

pi@raspberrypi ~ $ sudo vi /etc/hostapd/hostapd.conf

Die folgende Konfiguration basiert auf der bereits erwähnten Beispiel-Konfiguration /usr/share/doc/hostapd/examples/hostapd.conf.gz. Sollten Sie Informationen zu den einzelnen Parametern benötigen, lesen Sie sich bitte die Beschreibungen in der Beispiel-Konfiguration durch.

interface=wlan0
driver=nl80211
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=RasPiWLAN
country_code=DE
ieee80211d=1
hw_mode=g
channel=11
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
ap_max_inactivity=300
ieee80211n=1
wpa=2
wpa_passphrase=08dEdNYoIlSmRjV448w3R80ir9f18i6kPRV8bTXwtq1kkjiqaHvbya38zBo2167
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_group_rekey=600
wpa_gmk_rekey=86400
wpa_ptk_rekey=600
rsn_preauth=1
rsn_preauth_interfaces=wlan0

Mit dieser Konfiguration wird ein Access Point mit den folgenden Eckdaten konfiguriert.

SSID:            RasPiWLAN
WLAN-Kanal:      11
Verschlüsselung: WPA2 (CCMP)
WPA2-Schlüssel:  08dEdNYoIlSmRjV448w3R80ir9f18i6kPRV8bTXwtq1kkjiqaHvbya38zBo2167

Wenn Sie die Konfigurationsdatei an Ihre Bedürfnisse angepasst haben, speichern Sie diese ab und starten den Daemon.

pi@raspberrypi ~ $ sudo /etc/init.d/hostapd start

Sollten Sie beim Starten von hostapd Probleme haben, können Sie den Daemon wie folgt manuell starten und dabei das Debugging aktivieren. Anhand der Fehlermeldungen lässt sich die Fehlerursache schnell lokalisieren.

pi@raspberrypi ~ $ sudo /usr/sbin/hostapd -d /etc/hostapd/hostapd.conf

Installation und Konfiguration von dnsmasq

Installieren Sie jetzt dnsmasq als DNS-Forwarder und DHCP-Server für den Access Point.

pi@raspberrypi ~ $ sudo apt-get install dnsmasq

Nach der Installation müssen Sie die Konfigurationsdatei anpassen. In diesem Beispiel soll die bestehende Konfigurationsdatei gesichert und anschließend eine neue Konfigurationsdatei erstellt werden. Dazu rufen Sie die beiden folgenden Befehle auf.

pi@raspberrypi ~ $ sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
pi@raspberrypi ~ $ sudo vi /etc/dnsmasq.conf

Fügen Sie in die neue Konfigurationsdatei die folgenden Zeilen ein. Über den Parameter interface wird festgelegt auf welcher Netzwerkschnittstelle dnsmasq lauschen soll. Damit der DHCP-Server für das bestehnde kabelgebundene Netzwerk deaktiviert wird, müssen Sie eth0 beim Parameter no-dhcp-interface angeben. Die DHCP-Range des DHCP-Servers wird mit dhcp-range angegeben. Durch interface:wlan0 wird der DHCP-Server nur an die Netzwerkschnittstelle wlan0 gebunden. Die beiden nächsten Argumente legen die IP-Range fest. Über das letzte Argument wird die Lease-Zeit auf 12 Stunden gesetzt.

interface=wlan0
no-dhcp-interface=eth0
dhcp-range=interface:wlan0,192.168.20.100,192.168.20.199,12h

Wenn Sie die Konfigurationsdatei an Ihre Bedürfnisse angepasst haben, speichern Sie diese ab und starten dnsmasq neu.

pi@raspberrypi ~ $ sudo /etc/init.d/dnsmasq restart

Netzwerkschnittstellen konfigurieren

Damit der Raspberry Pi die Datenpakete zwischen der WLAN-Schnittstelle und der LAN-Schnittstelle weiterleitet, müssen Sie noch iptables installieren.

pi@raspberrypi ~ $ sudo apt-get install iptables

Die Konfiguration der Netzwerkschnittstellen und die Konfiguration von iptables erfolgt in diesem Fall in der /etc/network/interfaces. Öffnen Sie deshalb diese Datei mit einem Editor.

pi@raspberrypi ~ $ sudo vi /etc/network/interfaces

Passen Sie diese Konfiguratiosndatei wie folgt an. In diesem Fall wurde zuerst der kabelgebundenen Netzwerkschnittstelle eth0 eine feste IP-Adresse zugewiesen. Neben der IP-Adresse (address) und der Netzwerkmaske (netmask) wurden hier auch die Netzwerkadresse (network), die dazugehörige Broadcast-Adresse (broadcast), das Gateway (gateway) zum Internet und die DNS-Server (dns-nameservers) im Netzwerk angegeben.
Im Abschnitt für den WLAN-Adapter wlan0 wurde ebenfalls eine feste IP-Adresse definiert. Des Weiteren werden für den Access Point Betrieb hier ein paar Befehle benötigt, welche das IP-Forwarding und IP-Routing aktivieren. Über die letzten vier Befehle im Abschnitt für die WLAN-Schnittstelle werden die beiden Dienste hostapd und dnsmasq automatisch gestartet sobald das WLAN-Interface aktiviert wird bzw. beim Deaktivieren wieder beendet.

# Loopback device settings
auto lo
iface lo inet loopback

# Wired LAN interface settings
iface eth0 inet static
    address 192.168.10.52
    netmask 255.255.255.0
    network 192.168.10.0
    broadcast 192.168.10.255
    gateway 192.168.10.2
    dns-nameservers 192.168.10.1 192.168.10.2

# Wireless LAN interface settings
iface wlan0 inet static
    address 192.168.20.1
    netmask 255.255.255.0
    network 192.168.20.0
    broadcast 192.168.20.255

    # Enable IP forwarding
    up /sbin/sysctl -w net.ipv4.ip_forward=1

    # Flush iptables chains
    up /sbin/iptables -F
    up /sbin/iptables -X
    up /sbin/iptables -t nat -F

    # Add iptables rules for NAT
    up /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    up /sbin/iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
    up /sbin/iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

    # Start hostapd and dnsmasq
    up /etc/init.d/hostapd start
    up /etc/init.d/dnsmasq start

    # Stop hostapd and dnsmasq
    down /etc/init.d/dnsmasq stop
    down /etc/init.d/hostapd stop

# Default interface settings
iface default inet dhcp

Nachdem Sie die /etc/network/interfaces angepasst haben, sollten Sie einen Neustart des Systems durchführen damit alle Einstellungen geladen werden.

pi@raspberrypi ~ $ sudo shutdown -r now

Nachdem das System wieder vollständig gestartet ist sollten Sie auf einem WLAN-Client eine Verbindung mit Ihrem neuen WLAN Access Point herstellen können.


Dieser Eintrag wurde am 14.04.2013 erstellt und zuletzt am 25.09.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_36_2179.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer