Weiterlesen mit NEWS. Jetzt testen.
Lesezeit ca. 9 Min.

Sicherer Draht


Raspberry Pi Geek - epaper ⋅ Ausgabe 10/2021 vom 05.08.2021

Wireguard mit PiVPN Software

README

Ein VPN verbindet mobile Geräte über das Internet sicher mit dem lokalen Netzwerk. Bietet der eigene WLAN-Router keine VPN- Funktion, richten Sie mit PiVPN das moderne Wireguard-VPN mit nur wenigen Kommandos ein.

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 Standorte sicher miteinander vernetzen, oder der Tunnel erlaubte es Mitarbeitern im Außendienst, auf ihre E-Mails oder Daten zuzugreifen. Aufgrund des durch die Corona-Pandemie ausgelösten Homeoffice-Booms dürfte sich die Zahl an Anwendern jedoch deutlich vergrößert haben.

Artikelbild für den Artikel "Sicherer Draht" aus der Ausgabe 10/2021 von Raspberry Pi Geek. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: Raspberry Pi Geek, Ausgabe 10/2021

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

Weiterlesen
epaper-Einzelheft 7,99€
NEWS 30 Tage gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von Raspberry Pi Geek. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1000 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 10/2021 von Ein besonderes Jahr. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Ein besonderes Jahr
Titelbild der Ausgabe 10/2021 von Schreiberling. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Schreiberling
Titelbild der Ausgabe 10/2021 von Sammelstelle. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Sammelstelle
Titelbild der Ausgabe 10/2021 von Kraftvoller Mini. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Kraftvoller Mini
Titelbild der Ausgabe 10/2021 von Cleverer Stick. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Cleverer Stick
Titelbild der Ausgabe 10/2021 von Wissenschaftler. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Wissenschaftler
Vorheriger Artikel
Stichhaltiges
aus dieser Ausgabe
Nächster Artikel In der Hosentasche
aus dieser Ausgabe

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

Mit dem erst kürzlich veröffentlichten Update auf FritzOS 7.20 wurde der VPN- Zugang zudem ein wenig komplizierter. Nach Konfiguration des VPN-Netzwerks mussten Nutzer der Android-App My-Fritz!App früher einfach nur einen Schalter umlegen, und schon baute das Android-Programm den Tunnel zur heimischen Fritzbox auf. Nach dem jüngsten Update müssen Nutzer die IPSec-Verbindung neuerdings aber von Hand in den Netzwerkeinstellungen von mobilen Geräten eintragen .

Auch gänzlich neuen Technologien steht AVM eher verschlossen gegenüber. Das inzwischen direkt in den Linux-Kernel integrierte Wireguard-Protokoll etwa lässt sich in einer Fritzbox nur über die alternative Firmware Freetz nachrüsten . Spezielle Router-Betriebssysteme wie etwa OpenWRT 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 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 . Inzwischen unterstützt das Programm aber auch Wireguard, was einen zweiten Blick auf PiVPN rechtfertigt.

Installation

Als Ausgangsbasis empfehlen wir einen frisch mit dem Standardsystem Raspberry Pi OS installierten und auf aktuellen Stand gebrachten RasPi (Listing 1).

Ein nur von wenigen Nutzern beanspruchter 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.

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 herunter und führen das Installationsskript dann gesondert in einem zweiten Schritt aus (Zeile 2 und 3). Diese Variante gibt Ihnen die Möglichkeit, zwischendurch zu überprüfen, ob die heruntergeladenen Daten auch stimmen.

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

Dateien zum Artikel herunterladen unter

www.raspi-geek.de/dl/46542

Der Installationsassistent führt Schritt für Schritt durch die Konfiguration: Wie im Kasten Voraussetzungen beschrieben, trägt das Setup entweder eine statische IP-Adresse in das System ein oder belässt es bei DHCP 2 2 . In diesem Fall müssten Sie in der Konfiguration des WLAN-Routers dafür sorgen, dass der PiVPN-RasPi immer dieselbe IP-Adresse erhält.

Danach wählen Sie das Benutzerkonto aus, unter dem die VPN-Konfiguration gespeichert wird – in aller Regel ist das der Standardnutzer pi. Als Protokoll wählen Sie Wireguard und als Port 51820; danach spielt der Assistent automatisch alle nötigen Pakete ein.

Statische IP-Adressen

Anschließend ermittelt das Setup die öffentliche IP-Adresse und bietet an, sie in die Konfiguration zu übernehmen. Da sich die IP-Adresse des Routers allerdings bei der Einwahl ins Internet jedes Mal ändert, sollten Sie stattdessen die Option DNS Entry wählen und an dieser Stelle die zuvor eingerichtete und im Router konfigurierte DynDNS-Adresse eintragen 3 3 . Auf diese Weise ist Ihr VPN immer unter demselben sprechenden Domain-Namen zu erreichen, wie beispielsweise zuhause.dyndns.org.

In den letzten Konfigurationsschritten ermittelt das Setup von PiVPN, ob auf dem System bereits ein Pi-hole-Adblocker läuft (siehe Kasten Schwarzes Loch) und erstellt die für die Verschlüsselung nötigen kryptografischen Schlüssel.

Optional haben Sie noch die Wahl, Unattended Upgrades zu aktivieren, wodurch das System automatisch alle anstehenden Sicherheitsaktualisierungen einspielt. Die Funktion startet das System allerdings im Anschluss nicht automatisch neu, was etwa zum Aktivieren eines neuen Kernels notwendig wäre.

Clients konfigurieren

Zur Konfiguration des VPN-Dienstes nutzen Sie nun das Programm pivpn. Ohne weitere Optionen aufgerufen, zeigt es eine Übersicht aller Schalter des Kommandos an. Mit der Eingabe von pivpn add legen Sie einen ersten Client an. Das entsprechende Profil überträgt das Programm automatisch nach /home/pi/ configs/. Von dort kopieren Sie es auf einen Rechner, der zukünftig über den PiVPN-Tunnel ins Netz gehen soll.

Eine Übersicht über alle bereits angelegten Clients erhalten Sie mit dem Befehl pivpn list. Eine Übersicht mit Statistiken zu den einzelnen Clients zeigt pivpn clients an 4 4 . Bei Bedarf löschen Sie einen Client mit pivpn remove aus dem System oder schalten ihn mit pivpn off vorübergehend ab (und gegebenenfalls mit pivpn on wieder an). Eine Übersicht über alle Schalter und deren Kurzform zeigt die Tabelle Optionen für PiVPN-Kommando.

Für den Zugang von Smartphones oder Tablets aus erstellen Sie mit pivpn qrcode einen QR-Code 5 5 . Nutzer von Wireguard-Apps für Android oder iOS müssen diesen Code nur mit der Kamera des Smartphones einscannen, um eine Verbindung einzurichten. Die Eingabe von Server-Namen oder Passwörtern ist dabei dann nicht nötig.

Arbeitet auf dem PiVPN-RasPi gleichzeitig ein Pi-hole-Werbeblocker, dann kommen mobile Geräte auf diesem Weg auch unterwegs in den Genuss werbefreier Webseiten.

Einwahl in das PiVPN

Nutzer eines PCs müssen die für ihren Client im Ordner /home/pi/configs/ abgelegte Datei mit der Endung .conf auf den entsprechenden Rechner kopieren und dann einen Wireguard-Client installieren. Die Homepage des PiVPN-Projekts verlinkt zu diesem Zweck auf diverse Programme für Linux, MacOS und Windows. Die Clients für MacOS X und Windows bringen eine grafische Oberfläche mit, über die sich die Konfiguration leicht importieren und die Verbindung zum VPN aufbauen lässt.

Der Linux-Kernel hingegen unterstützt Wireguard seit längerer Zeit direkt. Für den Verbindungsaufbau benötigt man lediglich das Paket wireguard-tools, das die meisten Distributionen allerdings nicht in der Standardkonfiguration mitführen. Um die Verbindung zu starten, rufen Sie mit wg‐quick up /Pfad/zum/ Client.conf die Konfigurationsdatei inklusive des vollständigen Pfads zum Speicherort auf.

Ob die VPN-Verbindung wie gewünscht funktioniert, testen Sie mit Webseiten wie beispielsweise ifconfig.co (Listing 3). Die Seite zeigt unter anderem die IP-Adresse des genutzten Clients an. Rufen Sie sie einmal mit und einmal ohne PiVPN-Verbindung auf. Ohne VPN sollte die Seite im Feld ASN (organization) Ihren Mobilfunkanbieter ermitteln. Bei aktiviertem VPN sollte sie hingegen den von Ihnen zu Hause genutzten Festnetz-und Internet-Anbieter ausgeben.

Alternativ verwenden Sie für den Verbindungsaufbau den von vielen Distributionen und Desktop-Umgebungen genutzten NetworkManager, der Wireguard seit der Version 1.16 nativ implementiert. Die Unterstützung beschränkt sich allerdings aktuell noch auf die Kommandozeile (Listing 4). Für den Import der Konfigurationsdatei und den Verbindungsaufbau müssen Sie das Terminal bemühen. Einmal eingerichtet, initiiert der NetworkManager die VPN-Verbindung dann automatisch bei jedem Start des Systems.

Listing 1: System aktualisieren

$ sudo apt update

$ sudo apt full‐upgrade

$ sudo reboot

Listing 2: Installation PiVPN

01 $ curl ‐L https://install. pivpn.io | bash

02 $ git clone https://github. com/pivpn/pivpn.git

03 $ bash pivpn/auto_install/ install.sh

Listing 3: Wireguard unter Linux

$ curl ifconfig.co ### Internet‐IP ohne VPN

46.114.###.### $ sudo wg‐quick up ~/Client.conf

[#] ip link add Client type wireguard

[#] wg setconf Client /dev/fd/63 [...]

[#] sysctl ‐q net.ipv4.conf.all. src_valid_mark=1

[#] iptables‐restore ‐n

$ curl ifconfig.co ### Internet‐IP mit VPN

93.236.###.###

Schwarzes Loch

Um Anzeigen und Webtracker aus dem Datenstrom zu filtern, leitet Pi-hole Namensanfragen via DNS zu einer Vielzahl solcher Dienste über einen eigenen DNS- Server ins Leere um. Versucht eine Webseite dann zum Beispiel, Anzeigen oder Tracker von bekannten Werbedienstleistern wie Zanox-affiliate.de oder View4cash. de einzubinden, kommt nichts zurück. Das Einspielen von Pi-hole beschreibt ein Artikel aus RPG 10/​2020 . PiVPN erkennt während der Installation das Vorhandensein von Pi-hole und passt auf Wunsch automatisch die Netzwerkkonfiguration so an, dass via PiVPN eingewählte Geräte in den Genuss eines werbefreien Internet-Zugangs kommen.

Weitere Infos und interessante Links

www.raspi-geek.de/qr/46542

Wer hingegen eine grafische Oberfläche bevorzugt, der muss ein Plugin für das NetworkManager-Applet einspielen. Die Erweiterung findet sich allerdings noch nicht in den Paketquellen der großen Linux-Distributionen. Unter Ubuntu etwa müsste man das Programm von Hand aus dem Quellcode bauen .

Einfacher haben es an dieser Stelle Nutzer von Arch Linux und dessen Derivaten wie etwa Manjaro: Dort lässt sich das Programm über das Arch User Repository (AUR) installieren. AUR-Helper wie Yay oder Pamac listen das Programm unter dem Namen networkmanager-wireguard-git auf. Das Plugin ermöglicht es dann, die Konfigurationsdatei zu importieren und die Verbindung per Mausklick zu initiieren 6 6 .

Fazit

PiVPN demonstriert, wie clevere Skripte die eigentlich komplexe Installation und Setups wie das Aufsetzen eines VPN-Servers erleichtern können. Die Integration von Wireguard macht das RasPi-VPN besonders für Smartphone-Nutzer interessant, da das moderne VPN-Protokoll dank Roaming-Funktionen wesentlich unempfindlicher gegenüber Verbindungsabbrüchen ist und auch wechselnde Netzwerkzugänge kein Problem darstellen.

Die automatische Integration von Pi-hole ergänzt das Setup weiter. So filtert das System automatisch viele Anzeigen und Werbetracker aus dem Datenstrom, auch wenn die Nutzer im Mobilfunknetz unterwegs sind.

Für die Konfiguration von PiVPN gibt es weiterhin keine grafische Oberfläche, allerdings dürfte das in der Praxis selten auffallen. Die wichtigen Aktionen lassen sich mit einfachen und leicht verständlichen Kommandos erledigen. (cla)

Listing 4: Wireguard mit NetworkManager

$ nmcli connection import type wireguard file Client.conf

$ nmcli connection up Client

Verbindung wurde erfolgreich aktiviert (aktiver D‐Bus‐Pfad: /org/freedesktop/NetworkManager/ ActiveConnection/3)

$ nmcli connection down Client

Verbindung »Ontario« wurde erfolgreich deaktiviert (aktiver D‐Bus‐Pfad: /org/ freedesktop/NetworkManager/ ActiveConnection/3)