RaspberryPi als WLAN-Hotspot – So surfst du überall

Autor: Sergej Kukshaus Veröffentlicht: vor 9 monaten Lesedauer: ca. 4 Minuten

Das wireless local area network, kurz WLAN, ist in unserem heutigen Zeitalter kaum wegzudenken.

Nahezu jedes mobile Endgerät, verbindet sich heutzutage über WLAN mit dem Netzwerk. Für Standrechner wird jedoch immer noch ein Netzwerkkabel empfohlen. Einfach aus dem Grund, weil die Leitung stabiler ist und auch schneller sein kann.

Beispielsweise bei Smartphones oder Tablets ist es unmöglich ein Kabel anzuschließen. Man ist also auf das WLAN angewiesen.

So praktisch das WLAN auch ist, bringt es eine potenzielle Sicherheitslücke mit sich.

Kommt ein Angreifer nah genug an den Sender ran, hat er bereits die erste Hürde überwunden, um in das Netzwerk einzudringen. Zum Glück gibt es noch ein paar andere Hürden, bis es soweit ist 🙂

So minimierst du die Gefahr in deinem WLAN

Natürlich bin ich nicht der erste, der sich über so etwas Gedanken macht. In den letzten Jahren ist auch sehr viel in puncto Sicherheit passiert.

Es wurden neue Verschlüsselungsalgorithmen standardisiert, Fehler in den Übertragungsprotokollen behoben und sogar die Möglichkeit gegeben eine Tarnhaubitze anzuziehen.

Finger weg von der WEP Verschlüsselung

Die WEP Verschlüsselung kann innerhalb von nur wenigen Minuten umgangen werden und dann ist man bereits im WLAN.

Der Angreifer kann dann im wahrsten Sinne des Wortes auf deine Kosten illegale Downloads starten. Meistens bekommt man das erst mit, wenn es zu spät ist. Also, wenn die Abmahnung auf dem Tisch liegt.

Laut einer Rechtsprechung vom Oberlandesgerichtshof Frankfurt vom 01.07.2008 – 11 U 52/07 ist man zwar nicht automatisch Schuld, wenn so etwas passiert, jedoch sagt die Rechtsprechung vom Bundesgerichtshof vom 15.05.2010 – I ZR 121/08 das man bei einem unzureichend gesicherten WLAN automatisch Schuld ist.

Der Inhaber eines WLAN-Anschlusses, der es unterlässt, die im Kaufzeitpunkt des WLAN-Routers marktüblichen Sicherungen ihrem Zweck entsprechend anzuwenden, haftet als Störer auf Unterlassung, wenn Dritte diesen Anschluss missbräuchlich nutzen, um urheberrechtlich geschützte Musiktitel in Internettauschbörsen einzustellen.

BGH, 12.05.2015 – I ZR 121/08

3 weitere, nutzlose Sicherheitsmaßnahmen

Einige Router bieten ein MAC-Adressenfilter an.

Eigentlich ganz nett jedoch ist es als alleinige Sicherheitsmaßnahme genauso wirkungsvoll wie ein Pfefferspray gegen einen Löwen.

Eine MAC-Adresse kann man sehr leicht ändern und schon ist alles vergebens. Dadurch schränkst du dich aber auch selbst ein, weil du als Administrator erst von jeden Rechner manuell die MAC Adresse herausfinden und freischalten muss.

Den WLAN-Namen zu deaktivieren und zu hoffen unsichtbar zu sein ist schon etwas kindisch. So nach dem Motto: „Wenn ich dich nicht sehe, siehst du mich auch nicht“.

Bei einigen Geräten (bspw. Tablets) kann es zu Problemen führen, wenn man die Sichtbarkeit deaktiviert.

Ein zu kurzes Passwort kann ebenfalls sehr schnell geknackt werden. Wie ein sicheres Passwort aussehen könnte, habe ich im Artikel über sichere Passwörter beschrieben.

Achte darauf, dass dein Passwort immer stark genug ist und du es regelmäßig änderst.

Raspberry PI als Access Point

Kommen wir zum spannenden Thema: Aktivierung von WLAN auf dem Raspberry PI.

Eigentlich bedarf es dazu nicht viel, jedoch muss man es penibelst genau machen. Ansonsten funktioniert das ganze Spiel nicht.

Zunächst benötigst du mal wieder ein Deamon (Dienst).

$ sudo apt-get install hostapd

Aktivieren danach das WLAN auf deinem Raspberry.

$ sudo nano /etc/network/interfaces.d/wlan

Sollte in dem genannten Ordner bereits Dateien vorhanden sein, vergewissere dich, dass da kein Eintrag auf dein gewünschtes WLAN existiert.

Falls doch, dann entferne die Einträge und füge folgende Einträge ein:

auto wlan0
iface wlan0 inet static
        address 10.20.0.1
        netmask 255.255.255.0

auto wlan1
iface wlan1 inet static
        address 10.20.1.1
        netmask 255.255.255.0

Gleich im Anschluss wird eine neue Konfigurationsdatei angelegt.

$ sudo nano /etc/hostapd/hostapd_w0.conf
$ sudo nano /etc/hostapd/hostapd_w1.conf

In diese Dateien kannst du den Inhalt der beiden Dateien kopieren, die ich bei github hochgeladen habe.

Und falls jemand die komplette Konfiguration benötigt. Hier ist sie 🙂

ACHTUNG: Es dürfen keine Leerzeichen oder ähnliches vor oder nach jeder Zeile stehen!

Nachdem du die Konfigurationsdatei für den Deamon angelegt hast, muss es nur noch verwendet werden.

Das geschieht in der Datei:

$ sudo nano /etc/default/hostapd

Die Zeile DEAMON_CONF änderst du wie folgt ab:

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

Service starten

Jetzt wird nur noch der Server gestartet

$ sudo systemctl unmask hostapd
$ sudo systemctl enable hostapd
$ sudo systemctl start hostapd

Port-Forwarding

Da du über das WLAN Netzwerk hinausgehen möchtest (also bis zum Provider) muss das IP-Forwarding aktiviert werden.

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
$ sudo nano /etc/sysctl.conf

In dieser Datei änderst du diese Zeile wie folgt ab:

net.ipv4.ip_forward=1

Des Weiteren müssen noch ein paar Ruten angelegt werden.

$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Troubleshooting

Leider hat bei mir bei der Einrichtung nicht alles so funktioniert wie gewollt. Deswegen habe ich einige Ursachen und Lösungen hier aufgelistet:

Zunächst einmal die wichtigsten „Tools“ zur Fehlerbehebung:

$ sudo systemctl status hostapd.service
$ sudo journalctl -xe
$ sudo cat /var/log/syslog | grep hostapd

Fehler:

hostapd_free_hapd_data: Interface wlan0 wasn’t started

Lösung:

$ 0udo apt remove wpasupplicant
$ sudo ifdown wlan0

Thats all folks!

Solltest du keine mobilen Geräte in deinem Netzwerk haben (wollen), kannst du das WLAN natürlich komplett abschalten bzw. noch nicht einmal installieren.

Um trotzdem etwas Sicherheit zu haben, denke daran ein sicheres Passwort zu verwenden und es regelmäßig zu ändern.

So geht’s weiter…

Im nächsten Artikel werde ich etwas über ein Domain Controller berichten. Eine Domäne ist zwar in keinen einzigen Router der Welt vorhanden, aber die ist ganz praktisch für eine globale Rechteverwaltung.

6 Kommentare
Alex
30. Juli 2019 14:14

Eine sehr gute, verständliche und unterhaltsame Anleitung – Vielen Dank dafür!!

Vielen Dank und Grüße

Marco Näpflin
3. Oktober 2019 09:11

Hallo, ich finde die Seite super und die Beschreibung einfach und verständlich.
Beim Wlan einrichten fehlen die Dateien (ifplugd,hostapd.conf) auf dem Git. Die Links funktionieren auch nicht. Kannst du mir die Dateien senden?
Grüsse Marco

17. Oktober 2019 20:31

Hallo Marco,

Danke für den Hinweis der kaputten Links, habe diese soeben wieder repariert, sodass die Verknüpfungen wieder funktionieren.

Gruß
Sergej

Freed
17. Dezember 2019 22:05

Moin,

das hört sich schon mal alles super an – kann ich auch 2 wlans damit einrichten? Also zusätzlich noch ein Gästenetzwerk? Hab die pi 4, die hätte ja schon mal nen internes wlan zusätzlich.

Vielen Dank für die super Anleitung!
Freed

19. Dezember 2019 21:23

Hallo Freed,

in der Tat habe ich mich auch mit dieser Frage beschäftigt.
Die Antwort ist: Ja, das ist möglich. Jedoch nicht ohne weiteres umzusetzen. Ich hatte einige Schwierigkeiten damit zwei WiFi Netzwerke einzurichten. Leider kann ich dir gerade nicht sagen, wie ich das letztendlich gelöst bekommen habe. Ist schon ein paar Tage her.
Ich würde jedoch diesen Beitrag bei Gelegenheit aktualisieren, da der RasPi 1 (auf Basis dessen dieser Beitrag damals enntstand) noch kein eigenes WiFi mitgeliefert hat.

Gruß
Sergej

Freed
17. Januar 2020 14:41

Hallo,
Leider kommt bei mir immer wieder der Fehler:
Failed to start Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator.
Genutzt auf einer Pi4 mit dem von dir empfohlenen Stick.
Rest habe ich nach Anleitung installiert.

Gruß
Freed

Zur Sicherheit noch die ifconf
eth0: flags=4163 mtu 1500
inet 192.168.178.139 netmask 255.255.255.0 broadcast 192.168.178.255
inet6 fd00::f69f:9ce7:e2ea:1c91 prefixlen 64 scopeid 0x0
inet6 fe80::4ca2:a40e:55ca:9f11 prefixlen 64 scopeid 0x20
ether dc:a6:32:51:14:94 txqueuelen 1000 (Ethernet)
RX packets 47325 bytes 42894095 (40.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22729 bytes 2983375 (2.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth1: flags=4099 mtu 1500
inet 10.10.1.1 netmask 255.255.255.0 broadcast 10.10.1.255
ether 00:e0:4c:68:17:cc txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Lokale Schleife)
RX packets 3 bytes 197 (197.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3 bytes 197 (197.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4099 mtu 1500
inet 10.20.0.1 netmask 255.255.255.0 broadcast 10.20.0.255
ether dc:a6:32:51:14:96 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan1: flags=4099 mtu 1500
inet 10.20.1.1 netmask 255.255.255.0 broadcast 10.20.1.255
ether dc:4e:f4:07:e9:57 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

... und was meinst du dazu?
Deine E-Mail-Adresse wird nicht veröffentlicht.