Ergebnis 1 bis 5 von 5

Thema: Raspberry Pi als VPN Router

  1. #1
    Tangiert peripher syrius Avatar von Jana-Maria
    Registriert
    Mar 2015
    Beiträge
    2,086
    Gefällt mir!
    532
    Du gefällst: 2,047

    Raspberry Pi als VPN Router

    /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)
    • 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




    PHP-Code:
    sudo apt-get update
    sudo apt
    -get upgrade 
    nach einem upgrade solltet ihr rebooten. gebt dafür folgendes ein:

    Quellcode




    PHP-Code:
    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




    PHP-Code:
    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




    PHP-Code:
    Sudo nano /etc/dhcpcd.conf 
    Hier müsst ihr jetzt folgende Zeile am ende (unten) einfügen:
    Quellcode




    PHP-Code:
    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




    PHP-Code:
    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




    PHP-Code:
    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




    PHP-Code:
    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




    PHP-Code:
    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_capab=[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




    PHP-Code:
    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 speichernmit Y bestätigen und enter
    Und noch eine config die wir anpassen müssen. Befehl:
    Quellcode




    PHP-Code:
    sudo nano /etc/init.d/hostapd
      Sucht nach DAEMON_CONF
    undergänzt es sodass die Zeile dann wie folgt aussieht:
    DAEMON_CONF=/etc/hostapd/hostapd.conf
    wieder wie vorhin mit Strg 
    X speichernmit Y bestätigen und enter
    Somit haben wir hostapd erfolgreich eingerichtet.

    1.7 dnsmasq konfigurieren

    Jetzt geht‘s and dnsmasq. Befehl:
    Quellcode




    PHP-Code:
    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




    PHP-Code:
    sudo nano /etc/dnsmasq.conf 
    Hier geben wir jetzt folgendes ein:
    Quellcode




    PHP-Code:
    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




    PHP-Code:
    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 aussehennet.ipv4.ip_forward=1
    wieder wie vorhin mit Strg 
    X speichernmit Y bestätigen und enter
    Jetzt entweder rebooten (sudo reboot) oder einfach mit folgendem Befehl neuladen:

    Quellcode





    1. PHP-Code:
      sudo sh -"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




    PHP-Code:
    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




    PHP-Code:
    sudo sh -"iptables-save > /etc/iptables.ipv4.nat" 
    Jetzt müssen wir dafür sorgen, dass die datei auch bei jedem boot geladen wird.
    Quellcode




    PHP-Code:
    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


    PHP-Code:
    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 Z
    weiten Teil (siehe unten)
    Geändert von Jana-Maria (29.08.2017 um 12:04 Uhr)


  2. Diesen Mitgliedern gefällt dieser Beitrag:


  3. Werbung - Hier werben?
  4. #2
    Senior
    Registriert
    Jun 2015
    Beiträge
    663
    Gefällt mir!
    208
    Du gefällst: 395
    Wenn du den Originallink nicht angeben willst wegen den Boardbestimmungen ist das zwar okay aber dann solltest du auch die Bildverlinkungen zum Orginal rausmachen

  5. #3
    Tangiert peripher syrius
    THEMENSTARTER

    Avatar von Jana-Maria
    Registriert
    Mar 2015
    Beiträge
    2,086
    Gefällt mir!
    532
    Du gefällst: 2,047
    2. Router/Access point für VPN konfigurieren:

    2.1 OpenVPN sotware installieren

    Als erstes installieren wir uns ovpn.

    Quellcode


    PHP-Code:
    sudo apt-get install openvpn -
    Danach neustarten (sudo reboot)

    2.2 VPN Config laden

    Jetzt wechseln wir mit folgendem Befehl in das ovpn verzeichnis:

    Quellcode

    PHP-Code:
    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

    PHP-Code:
    sudo wget ---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

    PHP-Code:
    sudo unzip -j linux_udp.zip 

    2.3 OVPN konfigurieren

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

    Quellcode

    PHP-Code:
    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

    PHP-Code:
    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


    PHP-Code:
    sudo openvpn /etc/openvpn/EUERGEWÜNSCHTERSERVER.ovpn 

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

    Quellcode


    PHP-Code:
    /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


    PHP-Code:
    wget --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

    PHP-Code:
    sudo iptables -F
     sudo iptables 
    -t nat -F sudo iptables -

    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


    PHP-Code:
    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


    PHP-Code:
    sudo sh -"iptables-save > /etc/iptables.ipv4.nat" 

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

    Quellcode


    PHP-Code:
    sudo nano /etc/rc.local 
    Sucht wieder nach der zeile exit 0, und gebt direkt dafürber folgendes ein:

    Quellcode


    PHP-Code:
    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

    PHP-Code:
    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/


  6. Diesen Mitgliedern gefällt dieser Beitrag:


  7. #4
    Anfänger
    Registriert
    Dec 2019
    Beiträge
    8
    Gefällt mir!
    0
    Gefällt mir: 1
    Erst einmal vielen Dank für die gute Anleitung !!!

    Eine Frage, wie sieht es mit der VPN Geschwindigkeit aus ?
    Fast IPTV kostenlose Testline anforden: [email protected] oder http://iptv-hilfe.dx.am/support.htm

  8. #5
    Anfänger
    Registriert
    Dec 2019
    Beiträge
    8
    Gefällt mir!
    0
    Gefällt mir: 1
    Dankeschön läuft 1a

Ähnliche Themen

  1. Raspberry als VPN Client
    Von flag im Forum Technik / Hardware & Software
    Antworten: 3
    Letzter Beitrag: 23.08.2021, 19:29
  2. .NET Core 2.0 landet auf dem Raspberry Pi
    Von RedDevil im Forum Datenschutz & Privatsphäre (IT-Security)
    Antworten: 0
    Letzter Beitrag: 13.03.2017, 12:19
  3. [HILFE] raspberry Pi 3 VPN-Gateway
    Von krommt im Forum Technik / Hardware & Software
    Antworten: 16
    Letzter Beitrag: 16.01.2017, 15:16
  4. [HILFE] raspberry Pi 3 VPN-Gateway
    Von krommt im Forum Projektideen
    Antworten: 11
    Letzter Beitrag: 14.01.2017, 12:00
  5. Sicheres WLAN mit dem Raspberry Pi
    Von RedDevil im Forum Allgemeine News
    Antworten: 0
    Letzter Beitrag: 04.05.2016, 09:02

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org