Eigener VPN-Tunnel mit dem Raspberry Pi

Wer öfters mal öffentliche WLAN-Hotspots in der Bahn, am Flughafen, im Café nebenan, im Hotel, etc. nutzt, der kennt das unsichere Gefühl dabei sicherlich. Man ist sich nie ganz sicher, ob die Informationen, die über dieses Netzwerk gesendet werden nicht in irgendeiner Art und Weise ausgelesen und abgehört werden.
Um hier ein wenig mehr Sicherheit zu gewährleisten kann man einen VPN-Tunnel nutzen. Dadurch stellt man mit seinem Endgerät eine Verschlüsselte Verbindung zu einem vertrauenswürdigen Server her und geht über diesen anschließend ins Internet.



The PiVPN Project
Quelle: http://www.pivpn.io

Das „The PiVPN Project“ bringt OpenVPN ganz einfach auf den Raspberry Pi. Somit ist es jedem möglich, auch ohne große Linux-Kenntnisse, einen eigenen OpenVPN-Server zu konfigurieren und zu betreiben.

Portfreigabe auf dem AVM-Router einrichten

Der OpenVPN-Server muss natürlich aus dem Internet erreichbar sein, damit ihr von euren Endgeräten auch jederzeit einen VPN-Tunnel aufbauen könnt. Als Privatanwender verfügt man im Normalfall über keine feste öffentliche IP-Adresse, sondern muss auf einen Dienst wie DynDNS oder TwoDNS zurückgreifen. Ich verwende hierfür TwoDNS ( ➡ http://www.twodns.de/en). Die Anbieter dieser Dienste helfen euch eine „feste“ öffentliche IP-Adresse zu erhalten. Damit ein Dienst wie TwoDNS euren Router auch nach einem Wechsel der öffentlichen IP-Adresse durch den ISP findet, muss der Router eine Verbindung zu TwoDNS herstellen. Das geht sehr einfach, indem auf dem Gerät eure Anmeldeinformationen eingetragen werden. Im nachfolgenden wird das am Beispiel eines AVM-Routers dargestellt.

AVM - DynDNS-Einstellungen
AVM – DynDNS-Einstellungen

Die aktuelle Update-URL findet ihr für TwoDNS in den FAQs auf der Website
http://www.twodns.de/en/faqs

Nachdem dieser kleinen Konfiguration ist noch eine Portfreigabe auf den Pi-strong-Server einzurichten.

AVM - Portfreigabe
AVM – Portfreigabe
AVM - Portfreigabe
AVM – Portfreigabe
AVM - Portfreigabe
AVM – Portfreigabe

Installation von OpenVPN mit Hilfe von The PiVPN Project

Die Installation von OpenVPN ist kinderleicht durchzuführen. Es ist einfach ein Befehl auf der Konsole einzugeben, anschließend wird man durch die Installationsroutine geführt.

Auf der Konsole ist lediglich der folgende Befehl einzugeben.
(Bitte den Installationsbefehl direkt von der Website kopieren.)

The PiVPN Project
The PiVPN Project – http://www.pivpn.io

Wer weitere Informationen zu zensurfreien DNS-Servern benötigt, der findet dazu ein paar Infos im Artikel Ad Blocking in eurem Netzwerk für alle Geräte mit Pi-hole hier im Blog.

Pi-hole und OpenVPN miteinander verbinden

Ein weiteres Plus, kann man die beiden Dienste OpenVPN und Pi-hole miteinander verbinden. Dadurch wird automatisch Werbung bei allen verbundenen Geräten gefiltert.
Den Artikel über Pi-hole findet ihr hier im Blog : arrow: Ad Blocking in eurem Netzwerk für alle Geräte mit Pi-hole

Die Konfiguration ist fast so einfach, wie die Installation von PiVPN.


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Schritt 1: Backup der Config-Dateien erstellen

sudo cp /etc/openvpn/server.conf /etc/openvpn/server.conf-bak


OpenVPN - Config sichern
OpenVPN – Config sichern

sudo cp dnsmasq.conf /etc/dnsmasq.conf-bak


OpenVPN - Config sichern
OpenVPN – Config sichern

Schritt 2: DNS-Setting in der Config-Datei anpassen

In diesem Schritt werden die DNS-Einstellungen angepasst, so dass OpenVPN immer Pi-hole als DNS verwendet.

sudo nano /etc/openvpn/server.conf


OpenVPN - Config anpassen
OpenVPN – Config anpassen

Die Standardeinstellungen sind zu löschen oder mit einem „#“ aus zu kommentieren.

OpenVPN - DNS-Settings anpassen
OpenVPN – DNS-Settings anpassen

Anschließend ist die IP-Adresse der Pi-hole-Instanz als DNS einzutragen.

OpenVPN - DNS-Settings anpassen
OpenVPN – DNS-Settings anpassen

Schritt 3: dnsmasq anpassen

Zum Abschluss mus dnsmasq noch mitgeteilt werden, dass ab sofort Pi-hole für die DNS-Namensauflösung zuständig ist.

sudo nano /etc/dnsmasq.conf

OpenVPN - dnsmasq anpassen
OpenVPN – dnsmasq anpassen
OpenVPN - dnsmasq anpassen
OpenVPN – dnsmasq anpassen
OpenVPN - dnsmasq anpassen
OpenVPN – dnsmasq anpassen

Schritt 4: OpenVPN und dnsmasq neustarten

Zum Abschluss werden die beiden Dienste OpenVPN und dnsmasq neugestartet.

sudo /etc/init.d/openvpn restart


sudo /etc/init.d/dnsmasq restart

OpenVPN - Dienste neu starten
OpenVPN – Dienste neu starten

OpenVPN Profil-Verwaltung

Nach der erfolgreichen Installation von OpenVPN sind Profile für die einzelnen Eingabegeräte zu erstellen.
Achtung:
Es wird hier dringend empfohlen keine allgemeines Profil für mehrere Endgeräte zu erstellen, sondern wirklich ein Profil pro Gerät.

Profil erstellen

Ein Profil lässt sich sehr leicht über die Konsole erstellen.

pivpn add


OpenVPN - Profil erstellen
OpenVPN – Profil erstellen

OpenVPN - Profil erstellen
OpenVPN – Profil erstellen

Alle Profile werden standardmäßig im Verzeichnis

~/ovpns


abgespeichert.

Das Profil ist anschließend auf das Endgerät zu kopieren, für das es angelegt wurde. Des weiteren wird das Passwort benötigt, damit eine Verbindung aufgebaut werden kann.

Profile anzeigen

Alle aktiven und zurückgezogenen Profile lassen sich mit dem folgenden Befehl auflisten:

pivpn list

OpenVPN - Profile verwalten
OpenVPN – Profile verwalten

Profile deaktivieren

Die Profile könne auch sehr einfach wieder deaktiviert (Revoked) werden, wenn sie nicht mehr benötigt werden oder das Endgerät den VPN-Tunnel nicht mehr nutzen darf.

pivpn revoke


OpenVPN - Profil deaktivieren
OpenVPN – Profil deaktivieren

OpenVPN - Profile deaktivieren
OpenVPN – Profile deaktivieren

OpenVPN – Verbindungen anzeigen

Über die Konsole lässt sich auch ganz einfach anzeigen, welches Profil gerade mit dem OpenVPN-Server verbunden ist. Um hier eine effektive Auswertung vornehmen zu können, sollte für jedes Gerät ein eigenes Profil verwendet werden.

pivpn clients


OpenVPN - Verbindungen anzeigen und auswerten
OpenVPN – Verbindungen anzeigen und auswerten

OpenVPN Apps und Software-Clients

Apple

Android
Ich verwende dies App auf meinen Android-Geräten.

OpenVPN für Android
OpenVPN für Android
Entwickler: Arne Schwabe
Preis: Kostenlos

Windows Client
Der Client für Windows-PCs kann von der offiziellen Projektseite von OpenVPN heruntergeladen werden ➡ https://openvpn.net/index.php/open-source/downloads.html

Photo by Daniel Jerez on Unsplash

4 Antworten auf „Eigener VPN-Tunnel mit dem Raspberry Pi“

  1. Hallo Stefan, danke für die gute Anleitung. Ich möchte auch dein Anleitung: Nextcloud und Let´s Encrypt, dazu nutzen. Mir stellt sich jedoch eine Frage: muss ich eine Portfreigabe für Letsencrypt und OpenVPN ertellen? Kann man das Letsencrypt nicht mit über den VPN Tunnel laufen lassen?

    1. Hallo Tom,

      ich habe bisher nur den von mir beschriebenen Weg mit einer Portfreigabe auf dem AVM-Router verwendet.
      Du kannst die Aktualisierung auch in einem VPN-Tunnel anstoßen. Jedoch muss der Zugangspunkt zum Internet den Port 80 für deinen Nextcloud-Server freigeben (zumindest temporär), damit du dein Let´s Encrypt Zertifikat erneuern kannst.

      Grüße

      Stefan

  2. Hallo, danke für die geniale Anleitung.

    Kannst du mir helfen @Stefan?
    Ich möchte wlan0 durch vpn0.ovpn tunneln und wlan1 durch vpn1.ovpn tunneln. Warum das ganze?

    Wlan 1 -> freier Zugang ohne Zensur durch Land
    Wlan 2 -> blockiert diverse Inhalte durch das Land

    Danke

Schreibe einen Kommentar

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