Installation PiVPN – Den Raspberry Pi einfach zum VPN-Server ausbauen

Die Artikelserie zum Raspberry Pi
Teil 1 (Link): Der Raspberry Pi 3 – der Alleskönner im Scheckkartenformat
Teil 2 (Link): Installation und Konfiguration von Raspbian Stretch auf Raspberry Pi 3
Teil 3 (Link): Fernzugriff per SSH und VNC auf den Raspberry Pi
Teil 4: Dieser Artikel
Teil 5 (Link): OpenVPN/PiVPN Benutzerverwaltung auf dem Raspberry Pi
Teil 6 (Link): Installation und Konfiguration von Raspbian Stretch Lite auf Raspberry Pi 3 (ohne Desktop)
Teil 7 (Link): etherwake – Der Raspberry Pi als Wake On LAN-Server
Teil 8 (Link): Adblocker mit Pi-hole: Das schwarze Loch für Werbung im Internet
Teil 9 (Link): Die private Cloud auf dem Raspberry Pi – Seafile Server auf Raspian Stretch Lite installieren

Ein Vorwort der Entwarnung

Lasst euch von dem Artikel und den paar Fachbegriffen nicht abschrecken! Die Installation, gerade von PiVPN als OpenVPN-Server ist wirklich einfach und für jedermann ohne Probleme zu machen. Jeder Schritt dieses Tutorials ist bebildert beschrieben, so sollte eigentlich jeder klar kommen.

Also traut euch, ihr habt nix zu verlieren! Denn sollte was schiefgehen, löscht ihr einfach die SD-Karte und fangt von vorne an. Falls ihr Fragen habt oder dennoch Probleme auftreten sollten, schreibt mir unten in die Kommentar-Box!

Was ist VPN überhaupt?

Kurz gesagt bietet euch ein VPN die Möglichkeit, von überall auf der Welt auf euer Netzwerk daheim zuzugreifen. Voraussetzung ist natürlich, dass ihr einen Internet-Anschluss habt.

Ausführliche Infos zu VPN findet ihr auf Wikipedia (Link).

Ein VPN-Server für das Heim-Netzwerk. Warum überhaupt?

Ein VPN-Server daheim? Nerd-Stuff mag man meinen. Hier mal zwei Gründe, warum man auch als „Normalo“ ein VPN brauchen könnte.

Szenario 1: Daheim in eurem Netzwerk laufen Geräte, auf die ihr ab und an zugreifen wollt oder müsst. Mittlerweile nutzen viele ein NAS, also eine Netzwerkfestplatte. Die Hersteller von NAS-Systemen bieten Möglichkeiten an, diese Geräte über das Internet erreichbar zu machen. Das ist ungemein praktisch, denn man kann von unterwegs mal eben auf die Urlaubsbilder zugreifen und sie den Verwandten zeigen.

Das Problem dabei ist, dass die Anmeldeseiten für jedermann im Netz erreichbar sind und so eine Angriffsfläche bieten. Das heißt, ein Angreifer kann euer NAS hacken und sich Zugriff auf die darauf gespeicherten Daten verschaffen. Teils sind das mehrere Gigabyte an privaten Bildern, Backups von wichtigen Dateien, usw.

Ein vorgeschalteter VPN-Server bietet eine zusätzliche Hürde für Angreifer. Die Programme wie in unserem Fall OpenVPN/PiVPN sind auf Sicherheit getrimmt und nicht darauf, mal eben schnell und für jeden „Idioten“ ein NAS ans Internet zu bringen.

Szenario 2: Ihr seid in Urlaub, geht in ein Café und loggt euch dort ins WLAN ein, um mal eure Mails zu checken, ein bisschen im Netz zu recherchieren und vielleicht Geld vom Konto auf die Kreditkarte zu überweisen.

Es kann sein, dass in dem Netzwerk, in dem ihr euch befindet, jemand alles mitliest, was ihr im Internet treibt. Zwar ist Online-Banking verschlüsselt und mittlerweile auch bei den meisten Nutzern das E-Mail. Dennoch muss man immer damit rechnen, dass ein böswilliger Nutzer mitliest und die Daten mitschneidet.

Ein VPN-Server daheim bietet euch die Möglichkeit, einen komplett verschlüsselten Tunnel von eurem PC/Tablet/Notebook/Handy nach zuhause aufzubauen, durch den dann alle Daten verschickt werden. Ein Angreifer, der euren Datenverkehr im WLAN mitschneidet, sieht nur Datenmüll und hat keine Möglichkeit, die Daten zu nutzen.

Wichtige Infos und Vorarbeiten

Bitte aufpassen: Vorsicht, dass ihr nicht voreilig mit Enter zum nächsten Schritt springt! Je nachdem, bei welchem Schritt ihr gerade seid kann es passieren, dass ihr nicht mehr zurück kommt und die PiVPN-Installation von vorne beginnen müsst! Also immer genau schauen, dass alles richtig eingestellt ist, bevor ihr einen Bildschirm bestätigt!

Vorarbeiten: Die wirklich allermeisten Internet-Anschlüsse von Privatpersonen bekommen jeden Tag vom Provider eine neue IP-Adresse zugewiesen, über die der Anschluss mit dem Internet kommuniziert. Da sich also auch jeden Tag die Adresse ändert, über die ihr von außen auf euer VPN zugreifen könnt, benötigt ihr eine Adresse, die ihr stattdessen „anwählt“, wenn ihr das VPN verbinden möchtet. Diese Adressen nennt man DynDNS.

Geht hierfür z. B. auf ddnss.de (Link) und legt euch dort einen neuen Account an. Eine Anleitung dazu findet ihr hier.

Solltet ihr noch keinen oder einen Raspi zu wenig haben, dann schlagt doch gleich bei Amazon zu: Raspberry Pi 3 Official Desktop Starter Kit (16GB, White) (*)

* Bei dem Link handelt es sich um einen Amazon Affiliate-Link. Für euch ändert das nichts am Preis, aber ich erhalte von Amazon eine kleine Provision.

Die PiVPN-Installation – Schritt für Schritt zum eigenen VPN-Server

Ihr habt Raspbian installiert und konfiguriert, der SSH-Zugang läuft? Wunderbar, dann machen wir weiter.

Wir verbinden uns per SSH auf unseren Raspberry Pi. Der hat in meinem Fall die IP 192.168.1.45. Der Port ist, soweit ihr das nicht geändert habt, für SSH immer die 22.

Zuerst bringen wir unser System auf den aktuellsten Stand:

und dann

Auf der Projekt Projektseite von PiVPN (Link) findet ihr das Kommando, mit dem ihr die Installation von PiVPN startet. Dieses lautet:

Wichtig: Ihr solltet solche Kommandos nicht unbedacht auf der Konsole/Shell eines Linux ausführen!
Das Kommando lädt ein Skript von der Webseite pivpn.io und führt es mit Administrator-Rechten auf eurem System aus. Darin versteckt könnte also so ziemlich alles sein, auch schadhafter Code. In unserem Fall, also dem des Installationsskripts von PiVPN, ist das aber in Ordnung. Wenn ihr prüfen wollt, was das besagte Skript macht, öffnet ihr den Installations-Link in eurem Browser und schaut euch den Programmcode an.

Auch solltet ihr, entgegen der Empfehlung auf der Projektseite, nicht mehr Raspbian Jessie sondern das neuere Stretch installieren. Das hat mir der Entwickler hier im Support-Forum selbst empfohlen.

 

Ihr müsst das Kommando übrigens nicht von Hand eingeben.
Kopiert den Befehl einfach mit Rechtsklick + Kopieren bzw. Strg + C in eure Zwischenablage. Danach wechselt ihr in das Putty-Fenster und macht einfach einen Rechtsklick auf den schwarzen Bereich des Fensters. Der kopierte Befehl wird durch den Rechtsklick direkt eingefügt, ihr müsst nur noch mit Enter bestätigen.

Nachdem ihr das Kommando oben eingegeben und ausgeführt habt werden ein paar Pakete geladen und die Installation von PiVPN beginnt. Alle weiteren Schritte werden direkt in den nächsten Bildern beschrieben.

Nach der Basisinstallation legen wir ein paar Parameter fest, wie genau unser VPN-Server von außen erreichbar sein soll.

So,  das meiste wäre damit erledigt! Der OpenVPN-Server auf Basis von PiVPN läuft und wir können jetzt damit beginnen, Benutzern den Zugriff auf unser Netzwerk zu gewähren. Vorher sollter ihr den Raspberry Pi aber noch mal neustarten, was er euch auch noch mitteilt.

Nachdem die Installation von PiVPN auf unserem Raspberry Pi komplett durchgelaufen ist und der Raspi neugestartet hat, können wir uns wieder per SSH einloggen und den/die Benutzer anlegen, die von außen auf unser Netzwerk zugreifen sollen.

Im Anschluss müsst ihr noch den gewählten UDP-Port (11948?) in eurem Router öffnen und auf die IP-Adresse des Raspberry Pi weiterleiten, also in meinem Beispiel die 192.168.1.45. Solltet ihr nicht wissen, wie das funktioniert, dann habt ein wenig Geduld, in einem meiner nächsten Artikel werde ich das exemplarisch ebenfalls erklären.

Benutzer in PiVPN anlegen

Das Anlegen neuer und die Verwaltung existierender Benutzer erkläre ich euch in Teil 5 meiner Raspberry Pi Artikelserie.

 

14 Antworten auf „Installation PiVPN – Den Raspberry Pi einfach zum VPN-Server ausbauen“

  1. Hallo, erstmal Danke für diese Top-Beschreibung.
    Habe aber ein Problem. Das Fenster wo ich die DynDNS eigeben soll, erscheint nicht.
    Das ganze habe ich jetzt schon drei Mal mit neu Installation von Jessi durchlaufen lassen,
    aber es klappt nicht.
    Hast du vielleicht einen Tipp für mich?
    Es gibt bestimmt etwas, wo ich mich zu Blöd anstelle.

    Danke für Deine Bemühungen.
    mfg Uwe

    1. Hey Uwe,
      danke für deinen Kommentar.
      Gibt es einen Grund, dass du Jessie statt Stretch nimmst?
      Auf der Seite von PiVPN steht zwar, man sollte Jessie nehmen, allerdings hatte mir sogar der Entwickler schon mal zu Stretch geraten. Ich sollte wohl meinen Artikel mal um den Hinweis erweitern 😉
      Also wenn du die Möglichkeit hast, installiere dir doch lieber zuerst mal Stretch und teste es damit. Bei mir hat alles einwandfrei geklappt.
      Solltest du noch Probleme haben, dann wäre genauere Infos sehr hilfreich. Welche Meldung siehst du zuletzt? Kannst du mir Screenshots zeigen, damit ich nachvollziehen kann, was passiert, o. ä.

      Viele Grüße,
      Dennis

    2. nicht vergessen, dass die auswahl mit der leertaste gemacht wird. Enter bestätigt die mit dem sternchen ausgewählte Option. also runter auf dns, leertaste, sternchen sollte nun davor sein, dann enter
      LG

  2. Moin Dennis,
    Danke für die Anleitung. Ich habe aber leider ein Problem bei der Installation. Nachdem ich curl -L https://install.pivpn.io | bash eingegeben habe, öffnet sich das Installationsfenster nur ganz kurz und schließt dann automatisch wieder. Installiert ist pivpn aber offensichtlich nicht, da der Befehl pivn -u nicht bekannt ist. Ich kann den pi leider auch nicht komplett neu aufsetzen, da ich noch andere Sachen da drauf laufen habe (u.a. pihole). Hast du vlt. einen Tipp, was ich jetzt versuchen kann?
    Gruß,
    Mo

    1. Hey Moritz,

      puh, das ist so ohne weitere Infos schwer zu sagen.
      Welche Version von Raspbian läuft denn auf deinem Raspberry Pi? Ist das die aktuelle Stretch? Ich hatte mit Jessie z. B. auch einige Probleme mit der Installation und habe dann im Supportforum vom Entwickler gesagt bekommen, ich soll lieber Stretch nehmen.
      Falls du noch auf Jessie sein solltest, würde ich mal über ein Update nachdenken, habe ich mit einem Test-Raspi letztens auch gemacht und das hat gut geklappt.
      Andernfalls stellt sich mir noch die Frage, was genau du mit „geht nur kurz auf und schließt sich dann“ meinst? Bist du in der Shell? Und was, ganz genau, passiert da nachdem du das Kommando eingegeben hast?
      Alternativ, versuche doch mal, vor dem Start der Installation eine Root-Shell zu starten. Das machst du, indem du in der normalen Shell „sudo -i“ eingibst. Danach startest du noch mal die Installation von PiVPN.

      Ich drücke dir die Daumen, dass eine der Varianten funktionert! Kannst ja noch mal kurz Feedback geben, ob es läuft.

      Viele Grüße,
      Dennis

    1. Hi Uwe,

      echt jetzt? Kann ich mir kaum vorstellen, aber unmöglich ist ja bekanntlich nichts 🙂
      Was ich mich dabei aber frage ist, wie es sich dann bei Raspbian Lite verhält? Ohne Desktop gibt es ja vermutlich kein Wolfram, oder?
      Leider fehlt mir im Moment die Zeit, das mal auszuprobieren.

      Viele Grüße,
      Dennis

  3. Also bei mir klappt es ohne Desktop. Verwende Raspbian Strech Lite. Habe nur Probleme mit der DynDNS Aktualisierung. Sprich er Aktualisiert die IP-Adresse nicht mit der Free-Domaine von No-Ip.com. Eventuell wird das Problem behoben, wenn ich noch manuell den Service von No-Ip.com installiere.

    1. Eins meiner Projekte für demnächst irgendwann wäre noch, von Rapsbian Stretch Desktop auf Lite umzuziehen, denn den Desktop nutze ich im Endeffekt sowieso nie.
      Was dein Problem mit der DynDNS angeht, bietet dir dein Router da keine Optionen? Ich habe meine DynDNS z. B. in meiner FritzBox eingetragen, das lief bisher absolut problemlos!

  4. Hi,
    Danke für die Mühen hier 🙂
    Ich habe auf einem Stretch das gleiche Problem wie Uwe:
    „Das Fenster wo ich die DynDNS eingeben soll, erscheint nicht“
    Bei einem Test (Im gleichen Subnetz, also Rechner –> raus und wieder rein <– auf Server) kommt folgender Fehler auf dem Server: TLS Error: cannot locate HMAC in incoming packet from [AF_INET] …
    Kann man überhaupt im gleichen Netz testen?
    Habt Ihr einen Tipp?
    VG Horst

  5. Abend zusammen,
    ich habe folgendes Problem,… installation läuft durch incl. RSA Key erstellen und dann wo die DNS Fragen kommt springt er zum Ende und sagt mit den Befehlen xyz kannst du jetzt User anlegen.

    Gruß Benny

  6. Guten Tag, erstmal vielen Dank für die tollen Anleitungen.
    ich hätte da eine Frage.
    Wie richte ich Air VPN(VPN Anbieter) mit Pihole ein ?

    Mit freundlichen Grüßen

    1. Hi Matthias,

      danke für das Lob! 🙂
      Was genau hast du denn vor? Wenn du dir im LAN Pihole einrichtest und als DNS-Server nutzt, dann müsstest du von dort aus, also vom Raspberry Pi (Raspbian) oder deinem Router wiederum die Verbindung zum VPN-Server von Air VPN aufbauen.
      Habe ich aber noch nicht gemacht, weil ich keinen externen VPN-Server nutze. Sinn macht das ja eigentlich nur, wenn du deine tatsächliche IP verschleiern willst, um beispielsweise auf Streamingangebote aus anderen Ländern zuzugreifen.

      Oder was genau hast du vor?

      Viele Grüße,
      Dennis

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.