Inhaltsverzeichnis
Raspberry Pi als Netzwerkrouter mit VPN-Client Funktion
In dieser Anleitung zeigen wir Euch, wie man einen Raspberry PI als VPN-Client Router einrichten und verwenden kann. In der Anleitung haben wir den VPN-Service Perfect-Privacy VPN verwendet, allerdings sollte die auch mit anderen VPNs funktionieren. Im Grunde kann man einen Raspberry PI auch mit einem mobilen Batteriepack für Smartphones betreiben und hat damit auch unterwegs einen mobilen VPN-Router bei sich.
VPN Raspberry Pi Router
Raspberry sind im Alltagseinsatz nicht geeignet um als Router zu fungieren!
Dazu ist die Übertragungsgeschwindigkeit mit maximal 3.000kbit/s deutlich zu langsam. Es ist ein Tool um etwas Ausprobieren, zu Lernen wie man mit Linux Geräten Sachen machen kann und das wars. Aber sicher nicht Alltagstauglich als VPN-Router geeignet! Dazu gibt es ausserdem ab ca. 20 Euro einfachere und dafür ausgelegte Geräte.
Installation Raspberry Pie
Raspberry haben leider keine wirklich nutzerfreundliche Benutzeroberfläche, also erwarte nicht, dass die Installation so einfach sein wird, wie Windows Installieren, einige Kenntnisse in Linux-Befehlen wären hilfreich!
Danke an „Daniel“, einem unserer Leser, welcher diesen Beitrag für uns erstellt hat“
Diese Anleitung soll Euch helfen, aber bitte dazu keine Fragen im Live-Chat, ich kann Euch meistens dabei keine Hilfe geben. Entsprechende Fragen sind besser in einschlägigen Foren aufgehoben.
Wir möchten auch darauf hinweisen, dass diese Anleitung sehr einfach ausgeführt ist und aber auch jede kleinsten Schritt enthält. Allerdings werden Nutzer welche nur wenig Erfahrung mit der Nutzung von Linux oder anderen alternativen Betriebsystemen haben eventuell damit überfordert sein. Dennoch kann diese Anleitung auch dazu dienen, neue Erfahrungen zu machen, daher lasst Euch nicht abschrecken, es kann nichts passieren.
Hinweis: Maximale Geschwindigkeit ist stark begrenzt!
OpenVPN über Raspberry wird eine maximale Übertragungsgeschwindigkeit von 2-3 MBit/s schaffen. Das liegt daran, dass OpenVPN viele Ressourcen für die Verschlüsselung braucht und die Hardware dafür absolut unzureichend ausgelegt ist. Daher ist dieses Beispiel hier mehr als „Spielerei“ gedacht und wird in der Praxis keine wirkliche Anwendbarkeit finden lassen.
Raspberry Pi Geräte sind keine professionellen Router und auch kein Ersatz für Wifi-Router.
Neben der geringen Übertragungsgeschwindigkeit sind aber auch andere Limitierungen ausschlaggebend dafür, dass ein Raspberry nicht als vollwertiger Heim-Router verwendet oder angesehen werden sollte.
Diese Router können bereits deutlich mehr und lassen sich ebenso einfacher und mit mehr Funktionalität als VPN-Client Router im Heimnetzwerk dauerhaft verwenden. Daher sollte eine Lösung wie in dieser Anleitung beschrieben wird, lediglich zu Übungszwecken verwendet werden.
Unser VPN-Router TIPP für den mobilen Einsatz:
Gl.iNet Router mit OpenWRT als mobiler VPN-Router
Im Tutorial beziehe ich mich auf folgende Konfiguration:
Raspberry ist per LAN Kabel mit dem Router verbunden, und gibt per WLAN die getunnelte Verbindung frei. Es ist aber auch möglich, mit einem Wifi-Dongle am Raspberry, diesen auch als WLAN Zugangspunkt für seine Endgeräte zu verwenden.
Dafür Müsst ihr zuerst bei 1.2 nach dem Booten (vor dem Befehl „sudo apt-get update„) direkt Schritt 1.4 ausführen, dann Rebooten (sudo reboot) und dann oben links WLAN aktivieren und mit dem gewünschten WLAN verbinden. Danach kann dann mit 1.2 beim Update weitergemacht werden (Schritt 1.4 anschließend natürlich auslassen, wurde ja schon gemacht) Sonst könnt ihr das Tutorial ganz normal befolgen, bis auf den gelben Hinweis bei Schritt 1.9, die eben nur für die Wifi to Wifi Version gedacht sind!
Was Du dafür brauchst:
- Raspberry Pi 3 (geht auch mit älteren Versionen, aber die haben kein integriertes WLAN)
- Stromkabel für Raspberry Pi 3 (sollte mindestens 2,5 A bei 5 V bringen, geht auch mit guten microUSB Handy-Ladegeräten die die Leistung bringen)
- MicroSD Speicherkarte mit 4 – 8 GB
- Evtl ein Gehäuse (optional, aber empfehlenswert)
- VPN – Benutzerkonto
(in der Anleitung wird Perfect-Privacy verwendet, es geht aber mit allen VPN-Anbietern die OVPN Konfigurationsdateien anbieten)
Ich habe mir alles als Gesamtpaket gebraucht bei Ebay für ca. 20 Euro gekauft, daher wer Interesse hat wird nicht viel investieren müssen.
Die Modellbezeichnung:
Raspberry PI 3 Model B A1.2GHz 64-bit quad-core ARMv8 CPU, 1GB RAM
ASIN: B01CD5VC92
Anleitung „Schritt für Schritt“ VPN-Router mit dem Raspberry Pi
1. Raspberry als Access Point konfigurieren
Wenn Du Deinen Raspi bereits hast, müssen wir erst mal das Betriebsystem „OS Raspbian“ auf der SD Karte – die beim Raspberry quasi alsFestplatte dient – installieren.
1,1 OS auf SD flashen
Dazu ladet ihr euch das „Raspbian“ Image runter https://www.raspberrypi.org/downloads/raspbian/
Zum beschreiben der karte brauchen wir die freeware etcher.io/ (externer Link)
Nach der installation von etcher müsst ihr die SD Karte anstecken und das Programm öffnen.
Dann müsst ihr nur die vorher geladenen zip/img Datei auswählen (links)und anschließend noch die SD karte auf die geschrieben werden soll (Mitte). Dann einfach auf Flash klicken, und los geht’s.
1.2 Raspbian booten und aktualisieren
Wenn das Programm fertig ist, könnt ihr auch schon loslegen und die SDKarte in das raspberry stecken, Tastatur und Maus sowie LAN Kabel und HDMI verbinden, und anschalten.
Wenn Raspbian hoch gefahren ist startet ihr ein Terminal und updatet das System mit folgenden Befehlen: (immer nacheinander eingeben)
sudo apt-get update sudo apt-get upgrade
nach einem upgrade solltet ihr rebooten. gebt dafür folgendes ein:
sudo reboot
1.3 Installation der benötigten Programme
Als nächstes installieren wir die Programme die benötigt werden, um aus dem Pi einen router zu machen.
sudo apt-get install hostapd sudo apt-get install dnsmasq
1.4 Integriertes Wlan deaktivieren
Dann gebt ihr folgenden Befehl ein um sicher zu stellen, dass wlan0 (der integrierte Wlan chip) von keinem interface genutzt werden darf.:
Sudo nano /etc/dhcpcd.conf
Hier müsst ihr jetzt folgende Zeile am ende (unten) einfügen:
denyinterfaces wlan0
Mit Strg + X speichern, mit Y bestätigen und bestätigen mit Enter.
1.5 Statische IP für wlan0
Jetzt müssen wir die statische IP für „wlan0“ setzen. Dafür öffnen wir die Datei „interfaces“ mit dem Editor „nano“:
sudo nano /etc/network/interfaces
Es öffnet sich wieder der Editor. Hier müssen wir den Abschnitt wlan0 bearbeiten, dass er wie folgt aussieht:
allow-hotplug wlan0 iface wlan0 inet static address 192.168.220.1 netmask 255.255.255.0 network 192.168.220.0 broadcast 192.168.220.255 # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Wenn ihr die Datei angepasst habt, mit Strg + X speichern, mit Y bestätigen und bestätigen mit Enter
Als nächsten müssen wir den DHCP service neu starten, damit die geänderten configs geladen werden. Dazu folgende Befehle eingeben:
sudo service dhcpcd restart sudo ifdown wlan0; sudo ifup wlan0
1.6 hostapd.config erstellen
Jetzt müssen wir noch die hostapd config einstellen. Dazu folgenderBefehl:
sudo nano /etc/hostapd/hostapd.conf
Es öffnet sich wieder der Editor nano. Fügt hier einfach den folgenden Text ein. Ändern müsst ihr nur EuerNetzwerkName und EuerNetzwerkPasswort.
interface=wlan0 driver=nl80211 hw_mode=g channel=6 ieee80211n=1 wmm_enabled=1 ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40] macaddr_acl=0 ignore_broadcast_ssid=0 # Use WPA2 auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP # This is the name of the network ssid=EuerNetzwerkName # The network passphrase wpa_passphrase=EuerNetzwerkPasswort
Alles anzeigen wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und bestätigen mit Enter
Jetzt müssen wir noch ein paar weitere configs ändern. Gebt folgenden Befehl ein:
sudo nano /etc/default/hostapd
Sucht hier die Zeile #DAEMON_CONF=““ und ändert sie zu DAEMON_CONF=“/etc/hostapd/hostapd.conf“
wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und enter.
Und noch eine config die wir anpassen müssen. Befehl:
sudo nano /etc/init.d/hostapd
Sucht nach DAEMON_CONF= und ergänzt es so, dass die Zeile dann wie folgt aussieht:
DAEMON_CONF=/etc/hostapd/hostapd.conf
wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und enter.
Somit haben wir hostapd erfolgreich eingerichtet.
1.7 dnsmasq konfigurieren
Jetzt geht‘s and dnsmasq. Befehl:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
Damit speichern wir die originale config mit dem zusatz .orig.
Jetzt können wir eine neue config erstellen. Befehl:
sudo nano /etc/dnsmasq.conf
Hier geben wir jetzt folgendes ein:
interface=wlan0 # Use interface wlan0 listen-address=192.168.220.1 # Specify the address to listen on bind-interfaces # Bind to the interface server=8.8.8.8 # Use Google DNS domain-needed # Don't forward short names bogus-priv # Drop the non-routed address spaces. dhcp-range=192.168.220.50,192.168.220.150,12h # IP range and lease time
wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und enter.
1.8 Traffic umleiten
Jetzt müssen wir noch die Umleitung des Traffics festlegen. Befehl:
sudo nano /etc/sysctl.conf Sucht nach folgender Zeile: #net.ipv4.ip_forward=1 und löscht das „#“ am anfang der Zeile.
Sollte dann so aussehen: net.ipv4.ip_forward=1
wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und enter.
Jetzt entweder rebooten (sudo reboot) oder einfach mit folgendem Befehl neu laden:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
OK jetzt haben wir unsere Weiterleitung aktiviert.
1,9 NAT einrichten
❗ Für Wifi to Wifi Config bitte einfach bei folgenden 3 Befehlen „eth0“ durch „wlan1“ ersetzen ❗
Als nächstes konfigurieren wir einen NAT zwischen wlan0 und eth0
Gebt folgende kommandos nacheinander ein:
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
Jetzt speichern wir uns noch die regeln, da sie sonst nach einem reboot verloren gehen würden.
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Jetzt müssen wir dafür sorgen, dass die Datei auch bei jedem boot geladen wird.
sudo nano /etc/rc.local sucht nach exit 0.
Direkt darüber fügt ihr folgendes ein:
iptables-restore < /etc/iptables.ipv4.nat
wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und enter.
1.10 hostapd & dnsmasq service starten
Ok jetzt starten wir die 2 service. Befehle hintereinander eingeben:
sudo service hostapd start sudo service dnsmasq start
und jetzt noch einmal rebooten (Neustart) (sudo reboot).
Glückwunsch, euer Raspi sollte sich jetzt in ein access point verwandelt haben.Testen könnt ihr das, indem ihr euch einfach mit einem gerät dort anmeldet.
Netzwerkname und Passwort habt ihr ja vorhin selbst festgelegt 😉
Jetzt müssen wir „nur“ noch den Access point für den VPN konfigurieren.
2. Router/Access point für VPN konfigurieren:
2.1 OpenVPN sotware installieren
Als erstes installieren wir uns ovpn.
sudo apt-get install openvpn -y
Danach Neustarten (sudo reboot)
2.2 VPN Config laden
Jetzt wechseln wir mit folgendem Befehl in das ovpn Verzeichnis:
cd /etc/openvpn
und geben dann folgenden Befehl ein, um die Daten für PerfectPrivacy runter zuladen (ersetzt EUERUSERNAME und EUERPASSWORT mit euren login daten für PP):
sudo wget -v --post-data "username=EUERUSERNAME&password=EUERPASSWORT&uri=/member/download/?file=linux_udp.zip" -O linux_udp.zip "https://www.perfect-privacy.com/member/"
Dann entpacken wir das runter geladene Archiv:
sudo unzip -j linux_udp.zip
2.3 OVPN konfigurieren
Danach erstellen wir noch eine Datei die das Passwort und den Benutzernamen enthält:
sudo nano auth.txt
Hier gebt ihr in der ersten Zeile Euren Benutzernamen (Username) an, in der zweiten euer Passwort.
wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und Enter.
Jetzt müssen wir die ovpn config noch anpassen, damit automatisch die erstellte auth.txt geladen wird ((EUERGEWÜNSCHTERSERVER ersetzen)).
sudo nano EUERGEWÜNSCHTERSERVER.ovpn
Sucht nach der Zeile mit auth-user-pass und macht daraus folgendes:
auth-user-pass auth.txt
2.4 Verbindung zum VPN Server aufbauen
Mit folgendem Befehl könnt ihr dann eine Verbindung zum Server aufbauen (EUERGEWÜNSCHTERSERVER ersetzen):
sudo openvpn /etc/openvpn/EUERGEWÜNSCHTERSERVER.ovpn
ihr solltet dann bei Erfolg nach kurzer Zeit etwas in der Art sehen:
/sbin/ip route add 81.171.69.2/32 via 192.168.40.1 /sbin/ip route add 0.0.0.0/1 via 172.20.32.1 /sbin/ip route add 128.0.0.0/1 via 172.20.32.1 Initialization Sequence Completed
2.5 Verbindung per terminal checken
Öffnet dann ein neues Terminal Fenster und gebt folgendes ein:
wget -q -O - https://checkip.perfect-privacy.com/csv
Damit könnt ihr überprüfen, ob die Verbindung hergestellt wurde und die gewünschte IP-Adresse angezeigt wird.
Wenn alles passt könnt ihr das neue Terminal Fenster wieder schließen, und im Terminal wo die Verbindung zum VPN hergestellt wurde, Strg + C drücken um die Verbindung zu beenden.
2.6 IP Tables flushen
Gebt jetzt folgende Befehle ein, um die Iptables zu flushen
sudo iptables -F sudo iptables -t nat -F sudo iptables -X
2.7 Tunnel konfigurieren
Jetzt müssen wir noch den Tunnel konfigurieren, dass die Datenpakete von wlan0 durch den Tunnel geleitet werden. Gebt dazu folgende Befehle nacheinander ein:
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE sudo iptables -A FORWARD -i tun0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o tun0 -j ACCEPT
damit die iptables die alten vom normalen AccessPoint überschreiben, folgender Befehl:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Damit die VPN Verbindung automatisch hergestellt wird, bearbeiten wir die Datei rc.local:
sudo nano /etc/rc.local
Sucht wieder nach der Zeile exit 0, und gebt direkt dafüber folgendes ein:
sleep 5 cd /etc/openvpn sudo openvpn EUERGEWÜNSCHTERSERVER.ovpn
mit Strg + X speichern, Y zum bestätigen, und dann Enter.
Jetzt sollte alles soweit eingerichtet sein. Gebt noch einen letzten Befehl ein, um neu zu starten:
sudo reboot
Versuche Dich jetzt mit einem Gerät Deiner Wahl über den Rasperry Pi als AccessPoint zu verbinden.
Jetzt müsst ihr nur noch überprüfen, ob eure DNS nicht leakt etc. Dies könnte Ihr mit den bewährten PP Tests tun:
Natürlich könnt ihr auch SSH statt OpenVPN verwenden:
Folgt dazu einfach ab Punkt 2.2 der Anleitung auf https://www.perfect-privacy.com/howto/openvpn-over-ssh/
Alternative: ASUS VPN-Router für das eigene Netzwerk.
Man kann aber auch eine fertige Lösung mit einem ASUS Router verwenden. Der Vorteil dabei ist es, dass auch ASUS VPN-Router bereits sehr preiswert ab ca. 20 Euro zu haben sind und dabei auf die unveränderte Standardversion zurückgegriffen werden kann. Damit sind alle VPN-Anbieter über PPTP oder auch OpenVPN sehr einfach einzurichten. Viele weitere Vorteile runden diese Lösung ab und daher empfehlen wird diese auch technisch nicht ganz so versierten Lesern.
Link:
Hinweis:
ASUS Router lassen sich an jedem vorhandenen Internet-Router (Speedport, Fritz!Box, Easybox, und alle anderen) anschließen und sehr einfach verwenden!
Erstellt am: 4. Oktober 2017
17 Gedanken zu “Anleitung: Raspberry Pi als VPN Router/AccessPoint”