Benutzer-Werkzeuge

Webseiten-Werkzeuge


howtos:pivpn
Übersetzungen dieser Seite:

Dies ist eine alte Version des Dokuments!


PiVPN Installation und Konfiguration

Die Frage, wozu man ein VPN benötigt ist einfach zu beantworten, er bietet die Möglichkeit die eigenen Infrastruktur auch unterwegs sinnvoll zu nutzen. Konkrete Beispiele:

  • Sicheres Nutzen des Internets auch in öffentlichen HotSpots
  • Zugriff auf die heimische Netzwerkfestplatte

VPNs werden von den unterschiedlichsten Providern angeboten, sind aber in der Regel kostenpflichtig oder im Datenvolumen beschränkt. Hinzu kommt die Überlegung das man dem Anbieter vertrauen muss, denn aller Netzwerkverkehr läuft über dessen Server und kann dort mitgelesen werden.
Für eine eigene VPN Lösung kommen

  • der eigenen (WLAN) Router
  • ein Computer im heimischen Netz in Frage

Einige Routerhersteller bieten in im Gerät die Möglichkeit zum Aufbau eines VPN an. Ich selbst habe eine Fritz!Box und finde dort die Möglichkeit einen VPN einzurichten. Die AVM Webseite bietet sehr gute HowTo Einträge dazu an. Allerdings lässt die Implementierung nur „IPsec“ mit „Xauth“ an, was auf vielen Geräten nicht unterstützt wird. Auf SmartPhones hilft eine App der Firma AVM aber um z.B. einen Windows 10 Laptop anzubinden erfordert Software von Drittherstellern. Einen Computer zu Hause zu betreiben hört sich aufwendig an, ist es aber nicht. Der RaspBerry Pi, ein billiger (sowohl in der Anschaffung als auch im Betrieb) Server für Zuhause. Das Software Angebot ist überwältigend, wie bei Linux üblich, und auch kostenlos.

Für eine eigene VPN Lösung kommt OpenVPN zu Zuge. OpenVPN unterstützt alle gängigen Plattformen und benötigt keine Server eines Providers.

Wie kommt nun PiVPN ins Spiel? Einen OpenVPN Server zu installieren, konfigurieren und zu betreiben erfordert Fachkenntnisse, die sich nicht jedermann aneignen möchte. Um dieses Problem zu umgehen wurde mit PiVPN ein Tool zu Verfügung gestellt, das diese Aufgaben in einfacher Weise übernimmt. Die offizielle Webseite des PiVPN Projektes bietet Informationen rund um das Projekt, auf der GitHub Seite des Projektes kann der Source Code eingesehen werden.

Lesenswerte Artikel zu diesem Thema (u.a. hilfreiche Quellen meiner ersten Versuche mit PiVPN):

  • Kuketz Blog in dem auch andere nütliche Einsatzzwecke des RaspBerry Pi zu finden sind
  • OStechnix mit recht ausfürlicher Installations Beschreibung
  • Datenreise.de wo die Installation und Konfiguration von OpenVPN ohne Hilfsmittel beschrieben wird
  • Hilfreich ist auch die Issue-List des OpenVPN Projektes in der nicht nur Fehler sondern auch Lösungen für spezielle Probleme zu finden sind.
  • Suchmaschinen zu Recherchezwecken sind ebenfalls hilfreich

Vorbereitung

Vor der Installation sollte man einige Informationen zusammenstellen, die während der Installation benötigt werden. Die wichtigsten sind hier gelistet, in den meisten Fällen werden geeignete Vorschläge gemacht.

  • Name des Netzwerk Interfaces, i.d.R. eth0 oder wlan0. Seit dem Umstieg auf die Verion 9 (Stretch) sind standardmäßig die Namen geändert worden. Z.b. heißt eth0 nur „en“ gefolgt von der MAC-Adresse
  • Port Nummer, auf der OpenVPN angesprochen werden soll. Diese Portnummer muss auch auf dem Router zu dem RaspBerry Pi weitergeleitet werden. Zur Einrichtung eines „Port Forwarding“ auf dem Router sollte die Dokumentation des Herstellers herangezogen werden.
  • Das Protokoll das benutzt werden soll, zur Auswahl stehen UDP oder TCP, die jeweils Vor- und Nachteile bieten. Ich persönlich ziehe UDP vor, das es ein verbindungsloses Protokoll ist und eine bessere Performance bietet. TCP bietet den Vorteil, das man es besser verstecken kann, falls eine Firewall zu umgehen ist. In diesem Fall empfiehlt es sich, den TCP Port 443 und port-sharing mit dem Webserver zu verwenden.
  • Die Einrichtung einer dynamischen Adresse ist ebenfalls von Nöten. Es gibt diverse kostenlose Anbieter solcher Dienste, welcher der Beste ist hängt von der Ünterstützung im heimischen Router ab.

Installation

curl -L https://install.pivpn.io | bash

Das war es schon, es werden im Verlauf der Installations eingie Fragen gestellt, deren Antworten für den „normalen“ VPN Nutzer sinnvoll vorbelegt sind. Es empfiehlt sich, einen Blick in die englische Step-by-Step Anleitung zu werfen, um einen Eindruck über die auszuwählenden Antworten zu bekommen.
Nach erfolgter Installation ist PiVPN einsatzbereit.Es können sofort Profile für die Clients angelegt werden, die mit jeder Plattform (Windows, Mac, Android, IOS oder auch Raspberry Pi) genutzt werden können. Download Links für die Clients führe ich hier auf:

Konfiguration

Wir haben nun ein funktionierendes VPN (Virtual Privat Network) in dem alle teilnehmenden Geräte miteinander verbunden sind. Alle Teilnehmer (Clients) benutzen den Internetzugang des OpenVPN Servers (in diesem Fall unser Raspberry Pi) und jeglicher Internetzugriff erfolgt über das heimische Netz. Dabei ist der Verkehr zwischen OpenVPN Client und OpenVPN Server immer verschlüsselt. Damit ist auch in öffentlichen HotSpots eine gesicherte Verbindung gewährleistet.
Manchmal wollen wir aber mehr, z.B. Zugriff auf andere Geräte in unserem Heimnetz, das NAS Laufwerk ist dafür ein Beispiel. Um Zugriff auf das Heimnetz zu erhalten, muss eine „Route“, also der Weg von Client über das VPN zum Heimnetz, definiert werden. Dazu muss die Konfigurationsdatei des OpenVPN Servers (etc/openvpn/server.conf) geändert werden und um folgende Zeilen (am Besten am Ende der Datei) ergänzt werden:

push "route 192.168.178.0 255.255.255.0 10.8.0.1"
route 192.168.178.0 255.255.255.0 10.8.0.1

Damit kommen wir nun über den VPN an die Geräte in unserem Heimnetz, können diese aber nicht mit einem Namen ansprechen. Sollte der heimische Router einen DNS Service für das Heimnetz (wie z.B. die Fritz Box) zur Verfügung stellen, können die Geräte auch über Namen angesprochen werden. In der /etc/openvpn/server.conf muss dazu der Eintrag

push "dhcp-option DNS 192.168.178.1"
push "dhcp-option DOMAIN fritz.box

ergänzt werden.

howtos/pivpn.1505392793.txt.gz · Zuletzt geändert: 2017/09/14 12:39 von morquai