2068863

Raspberry Pi als Firewall einrichten - so geht's

03.07.2015 | 15:31 Uhr |

Raspberry Pi und OpenWrt sind ein wunderbares Gespann für den Einsatz als Heim-Firewall. Das bringt Ihnen nicht nur mehr Funktionen, sondern schützt Sie auch vor allzu neugierigen Netzanbietern.

Medien-Zuspieler für das TV-Gerät gibt es inzwischen viele. Router werden heute meist vom Netzanbieter gestellt und das bringt ein paar mögliche Probleme mit sich: Zum einen gibt es nicht immer den vollen Funktionsumfang „normaler“ Router aus dem Handel und zum anderen können Sie dem Provider unter Umständen mehr Einblick in das Heimnetz gewähren, als Ihnen lieb sein kann. Wenn Sie beispielsweise den Service kontaktieren und die Info bekommen, irgendwelche von Ihnen verwendeten Geräte könnten die Probleme verursachen oder der Router komplett aus der Ferne rebootet wird, gibt das schon Anlass zur Sorge. Wenn Sie Ihr Netz auch vor Ihrem Provider verbergen und den vollen Funktionsumfang einer Firewall nutzen wollen, ist der Raspberry Pi eine wunderbare Option: Mit der Open Source Software OpenWrt gibt es seit kurzem eine maßgeschneiderte Lösung für den Pi, die vor allem mit einer einfach gehaltenen Web-Oberfläche punktet. Ein wenig Frickelei ist aber dennoch nötig.

Die besten Verwendungsmöglichkeiten für den Raspberry Pi

Ein Debug-Kabel kann bei der Konfiguration helfen, produziert aber oft auch Fehler
Vergrößern Ein Debug-Kabel kann bei der Konfiguration helfen, produziert aber oft auch Fehler

Einfache Konstellation

Das Konzept ist recht simpel: Der Pi wird an den Router/das Modem angeschlossen und ein Rechner oder ein weiterer Router/Switch an den Pi – somit läuft der gesamte Datenstrom aus dem Internet zunächst durch die Pi-Firewall und wird dann von dem zweiten Router wie gehabt verteilt. Ihr Heimnetz kann dann komplett vom Provider-Router abgekabelt und über Ihren eigenen, zweiten Router verwaltet werden. Vielleicht bemerken Sie schon das Problemchen? Der Pi hat natürlich nur einen Ethernet-Anschluss, einen zweiten müssen Sie ihm über einen USB-auf-Ethernet-Adapter spendieren. Zwar müssen Sie den zugehörigen Treiber in OpenWrt selbst installieren, aber erfreulicherweise gibt es sehr viele passende Geräte , die zudem meist denselben Chip benutzen (MosChip 7830) und sich mit zwei Klicks einrichten lassen. Zunächst wird also OpenWrt aufgespielt, dann der zweite Ethernet-Anschluss installiert und als externe WAN-Schnittstelle zum Anschluss an den Provider-Router konfiguriert – dann wird neu verkabelt und Ihr eigener Router kommt an den Original-Ethernet-Anschluss des Pis. Bei sehr schnellen DSL-Anschlüssen kann hier eventuell der 100 MBit-LAN-Port des Raspberry Pi 1 und 2 zu einem Flaschenhals werden.

Das Netzwerkinterface eht0 wird zunächst per DHCP mit einer dynamischen IP versorgt
Vergrößern Das Netzwerkinterface eht0 wird zunächst per DHCP mit einer dynamischen IP versorgt

Ein Hinweis noch, bevor Sie losbasteln: OpenWrt für den Pi ist noch recht neu und kleine Änderungen verursachen häufig Probleme; beispielsweise funktionieren viele der im Netz vorhandenen Anleitungen nicht 1:1, weil der OpenWrt-Pi beim ersten Anschluss keine IPAdresse bezieht und nicht ansprechbar ist. Häufig wird auch die Nutzung eines Debug-Kabels empfohlen: Über die GPIO-Pins wird der Pi direkt an einen PC angeschlossen und mit einem Programm wie Putty lässt sich dann über eine COM-Verbindung darauf zugreifen – sehr praktisch, aber auch sehr anfällig, wie diverse Hardware-Kombinationen hier gezeigt haben (Bluescreens beim Host, Boot-Probleme beim Pi). Wir verzichten daher auf zusätzliche, exotische Hardware und versuchen den Ablauf möglichst universell zu halten – garantieren können wir aber nur für die hier verwendete Hard- und Software: Raspberry Pi Modell B, Hama Fast-Ethernet-Adapter (Modellnummer 00049244) und OpenWrt Barrier Breaker 14.07, r42625. Damit Sie das OpenWrt-Image auf eine SD-Karte spielen können, suchen Sie das passende Image unter http://wiki.OpenWrt.org/toh/raspberry_pi . Zum Aufspielen auf die Karte nutzen Sie dann das kostenlose Tool Win32 Disk Imager . Schließen Sie nun den Pi über seinen eigenen Netzwerkanschluss an Ihren bisherigen Router an, stecken Sie Tastatur, HDMI-Monitor, USB-Ethernet-Adapter und SD-Karte ein und starten Sie den Pi. Anmerkung: An dieser Stelle empfehlen einige Web-Anleitungen wie erwähnt den Einsatz des Debug-Kabels, was den Vorteil hat, dass Sie direkt vom PC auf den Pi zugreifen und entsprechend auf Tastatur und Monitor verzichten können. Sobald OpenWrt aufhört, Boot-Meldungen auszugeben, gelangen Sie durch Drücken der Enter-Taste in die Konsole. Geben Sie hier ifconfig ein, um die lokale IP des Pis auszulesen – sofern Sie das oben angegebene Image nutzen, werden Sie allerdings noch keine IP-Adresse für den Ethernet-Anschluss (eth0) vorfinden, da dieser nicht auf DHCP, sondern eine statische IP vorkonfiguriert ist. Sollten Sie ein anderes/aktuelleres Image nutzen und eth0 hat bereits eine korrekte IP für Ihr LAN, können Sie den nächsten Schritt überspringen. 

Läuft OpenWRT, lässt sich eth0 wieder umstellen. Und zwar via Webinterface statt mittels vi
Vergrößern Läuft OpenWRT, lässt sich eth0 wieder umstellen. Und zwar via Webinterface statt mittels vi

Netzwerkkonfiguration für eth0 anpassen

Jetzt wird es etwas lästig: Sie müssen die Netzwerkkonfiguration für eth0 anpassen und dafür gibt es leider nur den für nicht Eingeweihte umständlichen Texteditor vi. Öffnen Sie die Konfiguration mit

vi /etc/config/network

Und hier gleich der Hinweis: Bei der englischen Tastaturbelegung liegt / auf der „-“-Taste. In der Textdatei ändern Sie dann beim Interface „lan“ den Punkt

option proto ’static’

in

option proto ’dhcp’

und löschen die fix angegebene IP-Adresse. Den Cursor bewegen Sie in vi wie gehabt mit den Pfeiltasten und auch das Löschen geht wie gewohnt mit ENTF. Wollen Sie aber schreiben, müssen Sie zunächst

*i

eingeben, um den Eingabe-Modus zu aktivieren – den Sie anschließend mit ESC wieder beenden. Das Sternchen befindet sich beim englischen Layout auf der Klammer-zu-Taste, also SHIFT+8. Speichern und Schließen funktioniert bei vi mit :x wobei der Doppelpunkt auf SHIFT-Ö liegt. Der Einsatz von vi ist eher unschön, aber alle weiteren Schritte sind dafür erfreulich nutzerfreundlich! Starten Sie den Pi neu und besorgen Sie sich mit ifconfig die korrekte IP-Adresse. Rufen Sie nun im Browser die IP-Adresse auf und loggen Sie sich bei OpenWrt ein. Durch die Passwort-Vergabe wird automatisch auch SSH-Zugriff freigeschaltet, so dass Sie ab sofort auch über Putty oder unter Linux direkt über ssh auf den Pi zugreifen können. Wechseln Sie nun zu System/Software und suchen Sie nach dem Treiber für den USB-Ethernet-Adapter; bei unserem Modell (und etlichen anderen Geräten) mittels „mcs7830“. Installieren Sie nun das gefundene Kernel-Modul mit dem Paketnamen „kmod-usb-net-mcs7830“. Später taucht der Adapter dann als zweiter Anschluss namens eth1 auf.

Der Netzwerkport des Pi bekommt final dann eine statische IP-Adresse, über die er jederzeit ansprechbar ist...
Vergrößern Der Netzwerkport des Pi bekommt final dann eine statische IP-Adresse, über die er jederzeit ansprechbar ist...

WAN-Eintrag löschen und neues Interface anlegen

Wechseln Sie zu Netzwerk/Interfaces. Hier sehen Sie neben dem LAN-eth0-Interface auch einen vorhandenen WAN-Eintrag, den Sie für unsere Zwecke löschen können. Legen Sie dann über „Add new interface“ ein neues Interface an. Erstellen Sie ein Interface namens WAN mit dem Protokoll „DHCP client“ für den Adapter eth1. Damit wird eth1 als externe Schnittstelle zum Provider-Router definiert. Im Firewall-Tab des WAN-Interfaces legen Sie dann WAN als Firewall-Zone fest.

...wobei ein Passwort vor unbefugtem Zugriff und damit vor einer Konfigurationsänderung schützt
Vergrößern ...wobei ein Passwort vor unbefugtem Zugriff und damit vor einer Konfigurationsänderung schützt

Internen LAN/eth0-Anschluss ausstatten

Zurück in der Interface-Übersicht geht es weiter über den Edit-Button von LAN/eth0. Dieser interne Anschluss wird jetzt mit statischer IP-Adresse und DHCP-Funktion ausgestattet, damit Ihr internes Netzwerk – wie bisher auch – automatisch mit IP-Adressen versorgt wird. Ändern Sie dazu zunächst das Protokoll auf „static“ und bestätigen Sie. Anschließend können Sie eine statische Adresse aus Ihrem bisherigen Adressraum vergeben, möglichst eine niedrige, also etwa 192.168.178.2. „Ipv4 netmask“ setzen sie auf 255.255.255.0, die restlichen Felder lassen Sie leer. Ganz wichtig: Merken Sie sich die statische IP, denn nachdem Sie den nächsten Schritt mit „Save & Apply“ anwenden, erreichen Sie OpenWrt nicht mehr über die alte, dynamisch vom Provider-Router vergebene Adresse! Unter „Advanced Settings“ können Sie noch die Force-Option setzen, damit andere DHCP-Server OpenWrt nicht ins Handwerk pfuschen. Rufen Sie die neue, fixe IP wieder im Browser auf, loggen Sie sich ein und booten Sie das System über System/Reboot komplett neu. Kontrollieren Sie im Anschluss noch über System/Startup, ob alle Dienste laufen, wichtig sind „network“, „dnsmasq“ und natürlich „firewall“.

Der interne Port versorgt das LAN auch mit dynamischen Adressen via DHCP
Vergrößern Der interne Port versorgt das LAN auch mit dynamischen Adressen via DHCP

Zum Testen keinen zweiten Router anschließen

Jetzt geht es ans Umstecken: Schalten Sie den Pi aus und verbinden Sie den USB-Ethernet-Adapter (eth1/WAN) mit dem Provider-Router. Der zweite Router wird an den Pi-eigenen Ethernet-Port angeschlossen (am Router ist der korrekte Anschluss meist mit „Modem“ beschriftet).

Der Aufbau sieht am Ende so aus, dass der Raspberry zwischen dem DSL-Zugang (hier Fritzbox) und dem Shwitch für das LAN hängt und die Pakete filtert
Vergrößern Der Aufbau sieht am Ende so aus, dass der Raspberry zwischen dem DSL-Zugang (hier Fritzbox) und dem Shwitch für das LAN hängt und die Pakete filtert

Tipp: Zum Testen sollten Sie zunächst keinen zweiten Router, sondern lediglich einen Rechner anschließen und schauen, ob Sie über die fixe IP-Adresse wieder auf OpenWrt zugreifen können. Wenn alles korrekt läuft, schließen Sie den Router an und hängen den PC wiederum daran. Den Router erreichen Sie r über dessen Standard-IP und können diesen dann konfigurieren. Welche Möglichkeiten und Modi (Router, Switch, Access Point) das Gerät anbietet, ist wieder von Modell zu Modell unterschiedlich. Mit dem hier getesteten Belkin-Gerät funktioniert der OpenWrt-DHCP-Server zum Beispiel nicht, stattdessen versorgt der Belkin-DHCP angeschlossene Geräte mit IPs – ein Problem ist das aber nur in Einzelfällen.

Es kann sein, dass es ein Problem mit der Adressauflösung gibt, weil den Rechner kein DNS-Server übermittelt wird...
Vergrößern Es kann sein, dass es ein Problem mit der Adressauflösung gibt, weil den Rechner kein DNS-Server übermittelt wird...

Ein letztes Problem könnte DNS sein: Der hier eingesetzte Belkin-Router erkennt zwar automatisch den OpenWrt-Pi als DNS-Server, dennoch kann es im Netzwerk hier und da Probleme mit der Adressauflösung geben, so dass zwar 173.194.113.23 direkt funktioniert, nicht aber der Aufruf von google.de. Sollte es zu Problemen kommen, versuchen Sie es mit einem Neustart. Hilft das nicht, wäre eine simple Lösung, im Router (siehe letzter Screenshot) oder unter Windows in „Systemsteuerung/Netzwerk und Internet/Netzwerkverbindungen“ in den Adaptereigenschaften und dort in den Ipv4-Einstellungen manuell DNS-Adressen einzutragen – eine gute Gelegenheit, die Provider-Vorgaben durch IPs beispielsweise vom Chaos Computer Club zu ersetzen! DNS-IPs und weitere Anleitungen hierzu finden Sie auf der entsprechenden Seite .

...und man ihn dann von Hand bei jedem Netzwerk-Gerät und jedem PC eintragen muss. Man merkt es in der Regel daran, wenn sich keine URLs aufrufen lassen
Vergrößern ...und man ihn dann von Hand bei jedem Netzwerk-Gerät und jedem PC eintragen muss. Man merkt es in der Regel daran, wenn sich keine URLs aufrufen lassen
Raspberry Pi: TOR-WLAN zum anonymen Surfen einrichten

Dieser Artikel stammt aus dem Sonderheft PC-WELT Hacks 06/2015

Mit Einplatinen-Computern wie dem Raspberry Pi, mit Arduino-Boards und auch Android-Smartphones lassen sich eine Menge nützlicher und spaßiger Dinge anstellen. Anregungen und Anleitungen finden Sie im neuen Sonderheft PC-WELT Hacks .

0 Kommentare zu diesem Artikel

PC-WELT Hacks - Technik zum Selbermachen?

Raspberry Pi erfreut sich gerade unter Bastlern einer großen Beliebtheit. Kein Wunder, denn mit der 35-Euro-Platine lassen sich viele spannende Projekte realisieren. Vom Mediacenter, Netzwerkspeicher, Fotomaschine bis hin zum Überwachungssystem ist alles möglich. Dieser Bereich ist aber nicht nur dem Raspberry Pi gewidmet, sondern bietet auch viele Tipps, Tricks und Anleitungen für andere spannende Bastelprojekte.

2068863