Anleitung: Raspberry Pi als VPN Router/AccessPoint

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 Raperry PI auch mit einem mobilen Batteriepack für Smartphones betreiben und hat damit auch unterwegs einen mobilen VPN-Router bei sich.

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“

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.


Gl.iNet Testbericht VPN-Router

Unser VPN-Router TIPP für den mobilen Einsatz:

Gl.iNet Router mit OpenWRT als mobiler VPN-Router

 


 

Anleitung: Raspberry Pi als VPN-Router
Anleitung: Raspberry Pi als 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 Rasperry, 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 dasprogramm ö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 dhcpcd 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= undergä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 neuladen:

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 rebootverloren 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 (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ürber 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:

ASUS VPN-Router mit Speedport im Heimnetzwerk verwenden!
ASUS VPN-Router mit Speedport im Heimnetzwerk verwenden!

Hinweis:
ASUS Router lassen sich an jedem vorhandenen Internetrouter (Speedport, Fritz!Box, Easybox, und alle anderen) anschließen und sehr einfach verwenden!

Schreibe einen Kommentar