Den Raspberry Pi als WLAN-Hotspot einrichten

Der Rasperry Pi kann per WLAN am heimischen Router angeschlossen werden, oder auch als WLAN-Hotspot für andere Geräte als Access Point dienen. Voraussetzung sind neben dem Raspberry Pi auch ein entsprechender WLAN-Stick, der den „Access-Point“-Modus unterstützt, wie z.B. der Edimax EW-7811UN oder Edimax EW-7612UAn, mit dem in diesem Beitrag der Hotspot realisiert wurde.

 

Was wird benötigt?


Man benötigt entweder den Raspberry Pi B+ oder den Raspberry Pi 2 B. Der Raspberry Pi A geht nicht, da dieser keinen Netzwerkanschluss hat. Und einen WLAN-Stick. Die Anleitung ist für den Edimax EW-7811UN und dem Edimax EW-7612UAn erstellt.

Anschluss des WLAN-Sticks (Edimax)

Der Stick wird sofort nach dem Einstecken vom System erkannt. Um den genauen Treiber zu sehen, lassen wir uns diese Informationen per

ausgeben:

Der eingesteckte Edimax Stick wurde von der Firma Realtek hergestellt und der entsprechende Treiber wurde rtl8192cu bereits geladen. Damit müsste jetzt auch ein neues Netzwerk-Device wlan0 erscheinen. Überprüft kann dieses per

mit der entsprechenden Ausgabe:

Wir sehen das Loopback (lo) und den neuen WLAN-Adapter (wlan0) – der Stick wurde problemlos erkannt. Sollen nicht nur die Datenpakete im eigenen Netz verschickt werden, sondern auch ins Internet, so muss der Hotspot auch mit dem Router verbunden werden. Dies geschieht hier per Kabel, also eth0.

Installation der benötigten Pakete

Installation der Pakete hostapd und dnsmasq

Einrichtung des Raspberry Pi als AccessPoint (Hotspot)

Dem Raspberry muss eine statische IP-Adresse zugewiesen werden. Dazu muss die

entsprechend angepasst/erweitert werden:

Wichtig ist hier, dass nur eine Definition für wlan0 existiert. Das Netzwerk kann nun offen oder per WPA/WEP betrieben werden. Ein wenig Sicherheit tut nicht weh und so konfigurieren wir den HostAPD mit WPA2. Dazu wird die

erzeugt und folgende Daten eingetragen:

Diese Datei muss HostAPD bekannt gemacht werden:

Damit jedem Client eine IP per DHCP zugewiesen bekommt, muss die

angepasst werden:

Der Raspberry-Hotspot vergibt nur IPs im Bereich von 192.168.66.100 bis 192.168.66.200. Zum Abschluss den AccessPoint starten und so konfigurieren, dass auch nach einem Reboot der Hotspot wieder zur Verfügung steht:

Internet-Verbindung weiterleiten

Im letzten Schritt wird NAT (Network Address Translation) konfiguriert. Dazu muss IP-Forwarding aktiviert werden. Damit dies auch nach dem Reboot des Raspberries noch funktioniert, sollte es in der

eingetragen bzw. einkommentiert werden:

Damit auch die Regeln dann wieder zur Verfügung stehen, folgendes Script in

mit dem Inhalt erzeugen:

und dem Script die richtigen Rechte geben:

Damit wird das Forwarding von eth0 auf wlan0 freigeschaltet. Nach dem Reboot hat wlan0 eine IP zugewiesen bekommen. Der Raspberry Pi ist nun verbunden mit dem Internet (eth0) und dient als Hotspot per wlan0

mit der entsprechenden Ausgabe:

Probleme beim Start von hostapd

Auch wenn man in der /etc/hostapd/hostapd.conf den richtigen Treiber konfiguriert hat, kann es vorkommen, dass hostapd nicht startet:

oder

Der Hintergrund ist, dass hostapd je nach Distribution nicht mit dem RTL8188CUS Chipsatz kompiliert wurde und damit wird der Edimax-WLAN-Stick nicht erkannt. Abhilfe schafft der Austausch der /usr/sbin/hostapd durch eine entsprechend kompilierte Version. Eine bereits fertig kompilierte Version der hostapd findet sich hier und ist per wget abrufbar.

Wer kein Vertrauen in eine „3rd party“-Quelle hat, kann auch die Sourcen direkt von der Realtek-Website herunterladen und selbst kompilieren. Hier das Modell auswählen (RTL8188CUS) und das Zip für Linux herunterladen und auf dem Raspberry ablegen. Hier die einzelnen Schritte (Der Dateiname des heruntergeladenen Zips kann sich ändern):

Unter /usr/local/bin/hostapd liegt nun die frisch kompilierte hostapd. Diese wie oben beschrieben nach /usr/sbin/hostapd kopieren und entsprechende Rechte setzen. Ein Restart von hostapd zeigt den Erfolg:

4 Kommentare

  1. Andreas

    „Diese wie oben beschrieben nach /usr/sbin/hostapd kopieren und entsprechende Rechte setzen. “
    Ist damit chmod +x gemeint?

    Antworten
  2. Florian

    Hallo super Anleitung, doch leider kommt bei mir folgender Fehler wenn ich versuche den Service hostapd zu starten. Ich verwende ebenfalls den Edimax EW-7811UN.

    pi@raspberrypi ~ $ hostapd /etc/hostapd/hostapd.conf
    Configuration file: /etc/hostapd/hostapd.conf
    Line 5: invalid/unknown driver ‚rtl871xdrv‘
    1 errors found in configuration file ‚/etc/hostapd/hostapd.conf‘

    Kennt jemand eine Lösung für dieses Problem.

    Antworten
    1. Jonas

      Lesen hilft!

      Antworten
  3. SirNuke

    Danke!

    Das Tutorial hat mir sehr geholfen.
    Ich hab auf Google und in diversen Foren eine Ewigkeit gesucht und nichts gefunden dass mir bei dem Treiberproblem geholfen hat.

    Nochmal DANKE an den Autor!

    LG SirNuke

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.