Startseite>Mit RaspAP das heimische Netz um ein Gastnetzwerk erweitern
Aus Raspberry Pi Geek 06/2018

Mit RaspAP das heimische Netz um ein Gastnetzwerk erweitern

© Sarote Impheng, 123RF

Ausgesperrt

Christoph Langner

Das Internet der Dinge flutet den Haushalt mit netzwerkfähigen Geräten. Gibt es nur einen Internet-Zugang, sollten Sie die IoT-Devices besser in ein Gastnetzwerk sperren.

Moderne Router präsentieren sich als wahre eierlegende Wollmilchsäue: Sie fungieren als Druck- und Dateiserver, steuern das Smart-Home oder kombinieren eine DECT-Basis mit Anrufbeantworter und Faxgerät. Beinahe nebenbei bringen sie auch Tablets, Smartphones und Computer ins Internet. Doch nicht bei jedem Nutzer steht ein aktueller Router. Warum ein neues Gerät kaufen, wenn das alte seine Aufgabe zur vollen Zufriedenheit erledigt?

Manche der Router-Funktionen übernehmen andere Geräte. Wer ein NAS oder einen Drucker mit Netzwerkanschluss nutzt, der braucht keinen Router mit Druck- und Dateiserver. Andere Funktionen, wie etwa ein Gastnetzwerk, lassen sich hingegen nicht so einfach umsetzen. Dies erscheint insbesondere dadurch bedenklich, dass immer mehr heimische Geräte netzwerkfähig werden. Das Internet der Dinge oder englisch Internet of Things (IoT) bringt von der Waschmaschine bis zum Toaster den halben Haushalt ins weltweite Netz.

IoT-Geräte isolieren

Aus der Perspektive der IT-Sicherheit sind IoT-Geräte oft eine Katastrophe. Viele Hersteller sichern ihre Geräte nur unzulänglich ab oder versorgen sie nicht zuverlässig mit Sicherheitsaktualisierungen. In der (Wasch-)Küche tickt daher manch eine brisante Zeitbombe. Sie sollten also IoT-Geräte besser von der eigenen IT-Infrastruktur fernhalten und in ein separates Netzwerk sperren: So richten Sie im Fall der Fälle weniger Schaden an. Mit einem Raspberry Pi (am besten einem der dritten Generation mit integriertem WLAN) lässt sich solch ein Zweit-WLAN leicht aufspannen. Das Projekt RaspAP [1] vereinfacht das Einrichten nochmals.

Für die Installation benötigen Sie einen RasPi 3 mit einer Raspbian-“Stretch”-Installation. Den Mini-Rechner verbinden Sie wie gewohnt per Ethernet mit dem Router und melden sich per SSH auf dem System an. Vor dem Einspielen der Software bringen Sie das System noch auf den aktuellsten Stand (Listing 1, Zeile 1 und 2). Danach laden Sie das Installationsskript aus dem Netz, machen es ausführbar und rufen es auf (Zeile 3 bis 5). Das Einrichtungsprogramm lädt Lighttpd als Webserver, PHP sowie den Hostapd und DNSMasq aus den Paketquellen und richtet die Dienste ein (Abbildung 1). Anschließend starten Sie den RasPi neu.

Listing 1

 

$ sudo apt update
$ sudo apt full-upgrade
$ wget -q https://git.io/voEUQ -O /tmp/raspap
$ chmod +x /tmp/raspap
$ /tmp/raspap
Abbildung 1: Die Installation von RaspAP erfolgt über ein Skript. Es braucht allerdings zusätzlich ein wenig Handarbeit.

Abbildung 1: Die Installation von RaspAP erfolgt über ein Skript. Es braucht allerdings zusätzlich ein wenig Handarbeit.

RaspAP spannt nun automatisch ein WLAN mit der SSID raspi-webgui auf. Das WPA-Passwort lautet in der Voreinstellung ChangeMe. Melden Sie sich mit einem Rechner oder mobilen Gerät im WLAN des RasPi-Access-Points an, erreichen Sie die Weboberfläche des RaspAP-Systems über die IP-Adresse 10.3.141.1 (Abbildung 2). Die Zugangsdaten lauten admin mit secret als Passwort. Zur eigenen Sicherheit sollten Sie umgehend das WLAN-Passwort über die Option Configure Hotspot | Security im Feld PSK ändern, ebenso die Zugangsdaten zum Webfrontend über Configure Auth.

Abbildung 2: Über der Weboberfläche von RaspAP konfigurieren Sie die Funktionen des RasPi-Access-Point.

Abbildung 2: Über der Weboberfläche von RaspAP konfigurieren Sie die Funktionen des RasPi-Access-Point.

Masquerading einrichten

In der Theorie sollte die Installation damit beendet sein, doch in der Praxis zeigt sich ein Problem: Per WLAN über den RaspAP eingeloggte Geräte können zwar untereinander kommunizieren, doch sie kommen nicht ins Internet – etwas unglücklich für einen Access Point, der doch eben diese Funktion bereitstellen soll. Die Lösung findet sich im Bug-Tracker des Projekts [2]: Sie müssen das Masquerading (also das Weiterleiten von Paketen von der WLAN-Schnittstelle auf den Ethernet-Port und somit das Internet) von Hand aktivieren.

Dazu öffnen Sie die Datei /etc/sysctl.conf mit Root-Rechten in einem Editor. Dort entfernen Sie die Raute vor der Zeile net.ipv4.ip_forward=1 und speichern die Änderung dann ab. Weiter müssen Sie in der Iptables-Firewall das Masquerading anlegen (Listing 2, Zeile 1). Die Drop-Anweisungen in den Zeilen 2 bis 4 sorgen dafür, dass die im WLAN des RaspAP eingebuchten Geräte keinen Zugriff auf das heimische Netzwerk bekommen [3].

Listing 2

 

$ sudo iptables -t nat -A POSTROUTING -j MASQUERADE
$ sudo iptables -I FORWARD -d 10.0.0.0/8 -j DROP
$ sudo iptables -I FORWARD -d 172.16.0.0/12 -j DROP
$ sudo iptables -I FORWARD -d 192.168.0.0/16 -j DROP
$ sudo apt install iptables-persistent

Die Installation des Pakets iptables-persistent (Zeile 5) sorgt dann abschließend dafür, dass die Firewall-Regeln permanent im System hinterlegt werden (Abbildung 3). Dazu beantworten Sie die Fragen Save current IPv4 (IPv6) rules? jeweils mit Yes. Das Ergebnis steht dann in den Dateien rules.v4 und rules.v6 im Verzeichnis /etc/iptables/. Nach dem Setzen neuer Regeln müssen Sie die Konfiguration aktualisieren (siehe Kasten “Firewall aktualisieren”).

Abbildung 3: Bei der Installation des Pakets »iptables-persistent« sichert das System die Firewall-Regeln.

Abbildung 3: Bei der Installation des Pakets »iptables-persistent« sichert das System die Firewall-Regeln.

Firewall aktualisieren

Sollten Sie neue Regeln definieren, müssen Sie diese in den Dateien /etc/iptables/rules.v4 sowie rules.v6 aktualisieren. Daraus holt sich das System bei jedem Start die entsprechende Konfiguration. Für einen Neustart spülen (englisch “to flush”) Sie zunächst sämtliche alten Regeln aus dem System (Listing 3, erste Zeile). Dann übertragen Sie wie beim Installieren des Pakets iptables-persistent die aktuelle Konfiguration (zweite Zeile).

Listing 3

 

$ sudo iptables -F
$ sudo sh -c "iptables-save > /etc/iptables/rules.v4"

Fazit

RaspAP hilft beim Aufsetzen eines Raspberry Pi als Access Point, wenn auch das Masquerading noch fehlt. Ein RaspAP-RasPi muss dabei nicht zwingend die eingeloggten Geräte in ein Gastnetzwerk sperren. Möchten Sie etwa Ihre Netzwerkinstallation an einer Stelle, an der Sie nur über eine Ethernet-Buchse verfügen, mit einem WLAN erweitern, dann übergehen Sie die Drop-Regeln aus den Zeilen 3 bis 5 in Listing 2. Die Gäste gliedern sich dann wie alle anderen Rechner in Ihr Netzwerk ein.

Eine weitere praktische Funktion finden Sie in der Weboberfläche unter System | Console: Dort bietet RaspAP ein webbasiertes Terminal, über das Sie den Raspberry Pi wie über SSH steuern (Abbildung 4). Aufgrund fehlender Verschlüsselung sollten Sie von dieser Funktion allerdings nur im heimischen Netzwerk Gebrauch machen. 

Abbildung 4: RaspAP bietet in seiner Weboberfläche auch ein Terminal mit Zugriff auf das Raspbian-System.

Abbildung 4: RaspAP bietet in seiner Weboberfläche auch ein Terminal mit Zugriff auf das Raspbian-System.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland