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.

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.



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.)
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.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj
Schritt 1: Backup der Config-Dateien erstellen
sudo cp /etc/openvpn/server.conf /etc/openvpn/server.conf-bak
sudo cp dnsmasq.conf /etc/dnsmasq.conf-bak
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
Die Standardeinstellungen sind zu löschen oder mit einem „#“ aus zu kommentieren.
Anschließend ist die IP-Adresse der Pi-hole-Instanz als DNS einzutragen.
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



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

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

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 – 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 Apps und Software-Clients
Apple
Android
Ich verwende dies App auf meinen Android-Geräten.
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

ist absolut technik-begeistert und großer Fan von Linux und Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey, Synology und openmediavault und anderen spannenden IT-Themen. Nutzt Markdown und LaTeX zum Dokumentieren seiner Projekte und Gitea zum Versionieren. Sitzt vor einem 49“ Monitor, nutzt Windows und MacOS zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und MP3s und Radio-Streams über seinen RadioPi.
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?
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
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
Hallo meXxmaster,
Da habe ich keinerlei Erfahrung.
Grüße
Stefan