Von wegen nur für Netzwerkspezialisten: PiVPN nimmt der Installation eines VPNs den Schrecken und unterstützt mit Wireguard sogar das modernste VPN-Protokoll.
Der Einsatz von VPN-Netzwerken war noch vor gar nicht langer Zeit primär nur ein Thema für Unternehmen. Mithilfe des verschlüsselten Datentunnels ließen sich beispielsweise Werke oder Niederlassungen an unterschiedlichen Standorten sicher miteinander vernetzen, oder der Tunnel erlaubte Mitarbeitern im Außendienst, auf ihre E-Mails oder Daten zuzugreifen. Aufgrund des durch Corona ausgelösten Homeoffice-Booms dürfte sich die Zahl an Anwendern jedoch deutlich vergrößert haben.
Doch auch im Heimnetzwerk zeigt sich der Nutzen eines VPN-Zugangs: So erhalten Sie zum Beispiel Zugriff auf ein NAS-Gerät, ohne dass Sie den Zugang zu den entsprechenden Netzwerkfreigaben ungeschützt und für Angreifer zugänglich ins Netz stellen müssen, oder Sie steuern die im Haus verbauten Smart-Home-Komponenten wie etwa die an der Heizung angebrachten Thermostate, ohne dass Sie auf externe Dienstleister zurückgreifen müssen.
Fritzbox-VPN
Bis vor wenigen Jahren war OpenVPN [1] quasi der Goldstandard unter den Open-Source-Implementationen eines VPN-Zugangs. Für alle gängigen Betriebssysteme gab es entsprechende Server-Dienste oder Clients. Auch viele kommerzielle VPN-Anbieter führen einen OpenVPN-Zugang zumindest als Alternative in ihrem Repertoire. Einzig bei einigen Herstellern von WLAN-Routern stieß OpenVPN auf wenig Gegenliebe. AVM zum Beispiel, der Hersteller der in Deutschland beliebten Fritzboxen, unterstützt lediglich IPSec [2].
Mit dem erst kürzlich veröffentlichten Update auf FritzOS 7.20 wurde der VPN-Zugang zudem etwas komplizierter. Nach Konfiguration des VPN-Netzwerks mussten Nutzer der Android-App MyFritz!App [3] früher einfach nur einen Schalter umlegen, schon baute das Android-Programm den Tunnel zur heimischen Fritzbox auf. Nach dem Update müssen Nutzer die IPSec-Verbindung nun aber von Hand in den Netzwerkeinstellungen von mobilen Geräten eintragen [4].
Auch gänzlich neuen Technologien steht AVM eher verschlossen gegenüber. Das inzwischen direkt in den Linux-Kernel integrierte Wireguard-Protokoll [5] etwa lässt sich in einer Fritzbox nur über die alternative Firmware Freetz [6] nachrüsten [7]. Spezielle Router-Betriebssysteme wie etwa OpenWRT [8] sind in dieser Richtung wesentlich innovationsfreudiger. Allerdings unterstützt das Projekt nur wenige Fritzboxen, und AVM macht das “Freetzen” und Flashen von alternativen Firmwares nicht gerade leicht.
Wireguard
Ein Blick auf Wireguard lohnt sich besonders für die Nutzer von mobilen Geräten. Das moderne VPN-Protokoll verspricht einfache Konfiguration bei hoher Sicherheit und unterstützt unter anderem Roaming. So bleibt die VPN-Verbindung beispielsweise auch dann bestehen, wenn das Smartphone bei aktiviertem Wireguard-Tunnel aus dem Mobilfunknetz in das WLAN des Firmennetzes am Arbeitsplatz wechselt. Auch Unterbrechungen in der Datenverbindung, etwa während einer Zugfahrt, stören Wireguard nicht.
Um das eigene Netzwerk um einen Wireguard-Zugang zu ergänzen, bietet sich ein Raspberry Pi an. Der Mini-Rechner kostet wenig Geld und auch der Einfluss auf die Stromrechnung ist eher marginal. Mit PiVPN [9] gibt es zudem ein Skript, das den VPN-Dienst installiert, einrichtet und mit wenigen Kommandos verwaltet. In RPG 08/2017 gab es bereits einen ausführlichen Artikel zu diesem Thema [10]. Inzwischen unterstützt das Programm aber auch Wireguard, was einen zweiten Blick auf PiVPN rechtfertigt.
Voraussetzungen
Bevor Sie mit der Installation von PiVPN starten, müssen Sie dafür sorgen, dass Sie den zukünftigen VPN-Endpunkt aus dem Internet erreichen. Da die meisten Internet-Anbieter für Privatnutzer bei jeder Einwahl eine neue IP-Adresse zuweisen, empfiehlt es sich, zuerst eine DynDNS-Adresse einzurichten. Einige Router-Hersteller implementieren dazu eigene Dienste oder integrieren kommerzielle Anbieter. Der seit Jahren etablierte DynDNS-Service von Robert Niedziela [15] ist als Alternative kostenlos und werbefrei. Die Homepage des Dienstes beschreibt die Konfiguration auf WLAN-Routern diverser Hersteller.
Des Weiteren sollte der PiVPN-RasPi im lokalen Netzwerk immer dieselbe IP-Adresse erhalten. Öffnen Sie dazu die Einstellungen des WLAN-Routers: Oft gibt es dort einen Schalter wie Diesem Netzwerkgerät immer die gleiche IP-Adresse zuweisen. Alternativ tragen Sie direkt in der Netzwerkkonfiguration des Raspberry Pi eine statische IP ein – das Installationsskript von PiVPN übernimmt das später für Sie. In der Regel nutzt der in den Router integrierte DHCP-Server nur IPs aus einem gewissen Bereich, etwa 192.168.188.20 bis 192.168.188.200, wobei der Router selbst meist 192.168.188.1 verwendet. Unter- und oberhalb des entsprechenden Bereichs können Sie die IPs selbst verwalten (in diesem Beispiel IPs bis zur 192.168.188.255).
Letztendlich muss der Router auf Port 51820/UDP eintreffende Pakete auf die Netzwerkschnittstelle des Raspberry Pi weiterleiten. Ohne diese Weiterleitung weiß der Router nichts mit den Anfragen anzufangen. Auch diese Option finden Sie in den Netzwerkeinstellungen des Routers. AVM organisiert bei seinen Fritzboxen alle Konfigurationen rund um DynDNS und Portfreigaben unter dem Menüpunkt Internet | Freigaben (Abbildung 1).

Abbildung 1: Viele Hersteller von WLAN-Routern implementieren die Dienste von kommerziellen DynDNS-Anbietern. Für den Zugang zum VPN müssen Sie den Port 51820/UDP auf den Raspberry Pi weiterleiten.
Installation
Als Ausgangsbasis empfehlen wir einen frisch mit dem Standardsystem Raspberry Pi OS installierten und auf den aktuellen Stand gebrachten RasPi (Listing 1). Ein nur für wenige Nutzer erforderlicher Wireguard-Zugang benötigt nicht viel Rechenleistung, daher genügt für diese Aufgabe sogar ein Raspberry Pi der ersten Generation. Im Heimnetz des Autors arbeitet ein RasPi 1 mit 1 GByte Arbeitsspeicher, der außer als Wireguard-Zugang mithilfe von Pi-hole auch gleich noch als netzwerkweiter Werbefilter fungiert – eine Option, die PiVPN sogar direkt unterstützt.
Listing 1
System aktualisieren
$ sudo apt update $ sudo apt full-upgrade $ sudo reboot
Die Installation von PiVPN erledigt ein Skript, das Sie direkt aus der Kommandozeile des RasPi-Systems heraus ausführen (Listing 2, erste Zeile). Alternativ laden Sie die kompletten Installationsdaten aus dem Github des Projekts [11] herunter und führen das Installationsskript dann gesondert in einem zweiten Schritt aus (Zeile 2 und 3). Das gibt Ihnen die Möglichkeit, zwischendurch zu überprüfen, ob die heruntergeladenen Daten stimmen.
Listing 2
Installation PiVPN
$ curl -L https://install.pivpn.io | bash $ git clone https://github.com/pivpn/pivpn.git $ bash pivpn/auto_install/install.sh






