PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Raspberry Pi als VPN Router



Jana-Maria
29.08.2017, 11:51
/Tut nicht nicht von mir, aber für gut befunden, Quelle kann ich nicht angeben da es gegen die Forenregeln verstößt

Hi,ich zeige euch heute wie ihr euch euren eigenen Router bzw accesspoint mit einem Raspberry Pi erstellen könnt welcher so konfiguriertist, dass automatisch der traffic über den VPN läuft. Eignet sichübrigens auch als accesspoint für Tails/Tor als zusätzlichesicherheit und damit der ISP nicht mitbekommt, dass tor verwendet wird :) Ihr könnt den Router aber auch einfach so nützen, umautomatisch mit jedem Gerät dass damit verbunden wird, sicher überden VPN zu surfen
Im Tutorial beziehe ich mich auf folgende Konfiguration:
Raspberry ist per lan mit dem router verbunden, und gibt per WLAN die getunnelte verbindung frei. Es ist aber auch möglich, mit einem Wifidongle per wifi zum router und zu den gewünschten endgeräten zuverbinden.

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, 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 natürlich auslassen, wurde ja schon gemacht Sonst könnt ihr das Tutorial ganz normal befolgen, bis auf den gelben Hinweis bei 1.9, die eben nur für die Wifi to Wifi version gedacht sind!

Sonst könnt ihr das Tutorial ganz normal befolgen, bis auf den gelben Hinweis bei 1.9, die eben nur für die Wifi to Wifi version gedacht sind!


Was ihr dafür braucht:


Raspberry Pi 3 (geht auch mit älteren Versionen, aber die haben kein integriertes WLAN) Amazon-Link (externer Link (https://www.amazon.de/Raspberry-Pi-Model-EU-Produktion/dp/B01CCM66YM))
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 mit 4 - 8 GB
Evtl ein Gehäuse (optional, aber empfehlenswert)
VPN account (im Tut wird Perfect-Privacy als Beispiel verwendet, es geht aber mit allen VPN providern die OVPN anbieten)

Ich habe mir alles als gesamtpaket gebraucht bei ebayKa für ca. 20 eurogekauft.
Einfach mal schauen.

Modellbezeichnung: Raspberry PI 3 Model B A1.2GHz 64-bit quad-core ARMv8 CPU, 1GB RAM
ASIN: B01CD5VC92 (Amazon Item nummer)

Dann legen wir mal los.

1. Raspberry als Access Point konfigurieren

Wenn ihr eure raspi habt, müssen wir erst mal dasOS 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 runterhttps://www.raspberrypi.org/downloads/raspbian/
Zum beschreiben der karte brauchen wir die freeware etcher.io
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)

Quellcode





sudo apt-get update
sudo apt-get upgrade


nach einem upgrade solltet ihr rebooten. gebt dafür folgendes ein:

Quellcode





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.

Quellcode





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.:
Quellcode





Sudo nano /etc/dhcpcd.conf


Hier müsst ihr jetzt folgende Zeile am ende (unten) einfügen:
Quellcode





denyinterfaces wlan0


Um zu speichern drücken wir einfach Strg + X und bestätigen dann mit Y und enter.

1,5 Statische IP für wlan0

Jetzt müssen wir die statische IP für wlan0 setzen. Dafür öffnen wir die interface file mit dem editor nano:
Quellcode





sudo nano /etc/network/interfaces

Es öffnet sich wieder der editor. Hier müssen wir den Abschnitt wlan0 bearbeiten, dass er wie folgt aussieht:
Quellcode





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 file angepasst habt, wieder wie vorhin mit Strg + Xspeichern, mit Y bestätigen und enter.

Als nächsten müssen wir den dhcpcd service neu starten, damit die geänderten configs geladen werden. Dazu folgende Befehle eingeben:
Quellcode





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:
Quellcode





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.
Quellcodeinterface=wlan0driver=nl80211
hw_mode=gchannel=6ieee80211n=1wmm_enabled=1ht_capa b=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
ignore_broadcast_ssid=0
# Use WPA2
auth_algs=1
wpa=2wpa_key_mgmt=WPA-PSKrsn_pairwise=CCMP
# This is the name of the networkssid=EuerNetzwerkName
# The network passphrase
wpa_passphrase=EuerNetzwerkPasswort


wieder wie vorhin mit Strg + X speichern, mit Y bestätigen und enter.

Jetzt müssen wir noch ein paar weitere configs ändern. Gebt folgenden Befehl ein:
Quellcode





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:
Quellcode





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:
Quellcode





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:

Quellcode





sudo nano /etc/dnsmasq.conf


Hier geben wir jetzt folgendes ein:
Quellcode





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:
Quellcode





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:

Quellcode







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

Als nächstes konfigurieren wir einen NAT zwischen wlan0 und eth0
Gebt folgende kommandos nacheinander ein:

Als nächstes konfigurieren wir einen NAT zwischen wlan0 und eth0
Gebt folgende kommandos nacheinander ein:
Quellcode





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.
Quellcode





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.
Quellcode





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:

Quellcode



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. Die anleitung dafür gibt's im Zweiten Teil (siehe unten)

fritzi
29.08.2017, 11:59
Wenn du den Originallink nicht angeben willst wegen den Boardbestimmungen ist das zwar okay aber dann solltest du auch die Bildverlinkungen zum Orginal rausmachen ;)

Jana-Maria
29.08.2017, 12:03
2. Router/Access point für VPN konfigurieren:

2.1 OpenVPN sotware installieren

Als erstes installieren wir uns ovpn.

Quellcode




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:

Quellcode


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):

Quellcode


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:

Quellcode


sudo unzip -j linux_udp.zip



2.3 OVPN konfigurieren

Danach erstellen wir noch eine datei die passwort und username enthält:

Quellcode


sudo nano auth.txt



Hier gebt ihr in der ersten Zeile Euren 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 dieerstellte auth.txt geladen wird ((EUERGEWÜNSCHTERSERVER ersetzen)).

Quellcode



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):

Quellcode



sudo openvpn /etc/openvpn/EUERGEWÜNSCHTERSERVER.ovpn



ihr solltet dann bei erfolg nach kurzer zeit etwas in der art sehen:

Quellcode



/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 und gebt folgendes ein:

Quellcode



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 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

Quellcode


sudo iptables -F
sudo iptables -t nat -F sudo iptables -X



2.7 Tunnel konfigurieren

Jetzt müssen wir noch den tunnel konfigurieren, dass der traffic von wlan0 durch den tunnel geleitet wird. Gebt dazu folgende Befehle nacheinander ein:

Quellcode



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 access point überschreiben, folgender Befehl:

Quellcode



sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"



Damit die VPN verbindung automatisch hergestellt wird, bearbeiten wir die datei rc.local:

Quellcode



sudo nano /etc/rc.local


Sucht wieder nach der zeile exit 0, und gebt direkt dafürber folgendes ein:

Quellcode



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:

Quellcode


sudo reboot


Versucht euch jetzt mit einem gerät eurer wahl über den pi accesspoint zu verbinden.

Jetzt müsst ihr nur noch checken, ob eure DNS nicht leakt etc.

Natürlich könnt ihr auch SSH verwenden.
Folgt dazu einfach ab punkt 2.2 der Anleitung auf https://www.perfect-privacy.com/howto/openvpn-over-ssh/ (https://www.perfect-privacy.com/howto/openvpn-over-ssh/)

freelanceIPTV
12.12.2019, 08:58
Erst einmal vielen Dank für die gute Anleitung !!!

Eine Frage, wie sieht es mit der VPN Geschwindigkeit aus ?

Leyla-Iptv
10.01.2020, 03:12
Dankeschön läuft 1a