Raspberry Pi als VPN-Server mit WireGuard

Möchte man unterwegs auf seine privaten Daten im Heimnetzwerk zugreifen oder aber über eine verschlüsselte Verbindung im Internet recherchieren, weil man über einen öffentliches W-LAN verbunden ist, braucht man einen VPN-Server. Mit Hilfe eines VPN-Client wird dann eine sichere und verschlüsselte Verbindung in das eigene Heimnetzwerk hergestellt, egal wo man sich auf der Welt befindet.

Oft hat man die Möglichkeit, einen VPN-Server direkt auf dem eigenen Router zu aktivieren. Bietet der eigene Router, welcher durch den Provider zur Verfügung gestellt wird, keine Möglichkeit, einen VPN-Server zu betreiben, kann man mit einem Raspberry Pi und PiVPN ein einfacher, schneller und sicherer VPN-Server im Heimnetzwerk einrichten.

Welche Hardware braucht es dazu?

  • Einen Raspberry Pi 3 B+ oder 4
    • SD-Karte min. 8 GB
    • Netzteil
    • Gehäuse
  • Netzwerkkabel

Ist noch kein Raspberry Pi zu Hause vorhanden, findet man viele Anbieter, welche den Raspberry Pi in einem Bundle anbieten. Das heisst, alle benötigen Komponenten, werden mitgeliefert. Einfach eine Suche nach Raspberry Pi Bundle durchführen.

Welche Software braucht es dazu?

  • Raspberry Pi OS Lite
  • PiVPN mit WireGuard
  • WireGuard für Desktop oder Mobile

Installation

Die Installation führen wir mit folgenden Schritten durch:

  1. Raspberry Pi OS Lite installieren auf der SD-Karte (mit Raspberry Pi Imager)
  2. SSH aktivieren und Raspberry Pi starten
  3. Pi OS aktualisieren
  4. PiVPN installieren und WireGuard konfigurieren
  5. WireGuard Client-Konfiguration erstellen
  6. Portforwarding auf Router einrichten
  7. VPN-Client installieren und testen

Nützliche Links:

WireGuard Webseite

PiVPN Webseite

WinSCP

Raspberry Pi Webseite

Raspberry Pi Imager

Raspberry Pi – mit PiVPN WireGuard Clients verwalten

Neuer Client erstellen

Die Client-Konfiguration wird verwendet, um mit einem WireGuard-Client eine VPN-Verbindung herzustellen. Um einen neuen Client zu erstellen, wird folgender Befehl verwendet:

> pivpn add

Client löschen / entfernen

Wird ein Client gelöscht, ist es nicht mehr möglich, sich mit dem VPN-Client zu verbinden.

> pivpn remove

Alle Clients aufliesten

Auflistung aller vorhandenen Clients-Konfigurationen.

> pivpn list

Alle Clients mit Verbindungsstatus anzeigen

Auflistung aller aktiven Clients.

> pivpn clients

QR-Code einer Client-Konfiguration erstellen

Durch das erstellen des QR-Codes kann auf einfache Weise die Client-Konfiguration auf ein Mobilephone übertragen werden. Voraussetzung ist die installierte WireGuard App.

> pivpn -qr

Nützliche Links

WireGuard

Raspberry Pi als VPN-Server mit WireGuard

Raspberry Pi – PiVPN installieren und WireGuard konfigurieren

Mit dem Installations-Skript PiVPN können wir auf einfache Weise einen VPN-Server installieren und konfigurieren. Dazu wird folgender Befehl in der Raspberry Pi Konsole eingegeben:

Damit wird das Skript heruntergeladen und ausgeführt:

Wir klicken uns durch das Set-up-Menu und geben die benötigten Informationen an. Ist man sich unsicher, welche Auswahl getroffen werden soll, kann man ohne Probleme die Standardeinstellungen verwenden. Braucht man spezielle Einstellungen, wird man diese meistens kennen.

Als VPN wird WireGuard ausgewählt und mit “ok” bestätigt. Das Installaltions-Skript führt nun die benötigten Schritte aus und installiert die nötigten Komponenten.

Nun gibt es die Möglichkeit, den Standardport zu ändern oder dieser zu belassen.

Als Nächstes definieren wir den gewünschten DNS-Provider. Brauchen wir keine speziellen Einstellungen, kann das Quad9 DNS-Netzwerk genutzt werden.

Haben wir eine öffentliche fixe IP-Adresse, können wir “Use this public IP” auswählen. Ist keine vorhanden, müssen wir dies über eine Dynamische DNS Konfiguration lösen. Hilfe zur Konfiguration finden wir über eine Suchmaschine.

Als Nächstes können wir das automatische Installieren von Updates aktivieren. Damit dies auch korrekt funktioniert, muss jedoch der Raspberry Pi zwischendurch neu gestartet werden.

Nach diesem Schritt werden nun noch die “Server-Keys” generiert. Konnten die Server-Schlüssel generiert werden, ist es an der Zeit, den Raspberry Pi neu zu starten. Danach ist die Installation fertiggestellt.

Nützliche Links

Raspberry Pi als VPN-Server mit WireGuard

Raspberry Pi OS Lite installieren mit dem Raspberry Pi Imager

Raspberry Pi – SSH aktivieren

Raspberry Pi – Betriebsystem updaten / aktualisieren

Raspberry Pi – Betriebsystem updaten / aktualisieren

Um das Raspberry Pi OS zu aktualisieren, verbinden wir uns mit dem SSH-Client Putty:

Zuerst müssen die Paketinformationen aktualisiert werden:

> sudo apt-get update

Nun können die vorhandenen Updates installiert werden:

> sudo apt-get full-upgrade

Die Installation noch mit Y bestätigen.

Wurde die Installation vollständig durchgeführt, führen wir beide Befehle nochmals durch, um sicherzustellen, dass keine neuen Updates mehr vorhanden sind.

Die Aktualisierung ist somit abgeschlossen und das Raspberry Pi OS aktuell. Die Aktualisierung sollte regelmässig durchgefürt werden.

Nützliche Links

SSH aktivieren

Raspberry Pi aktualisieren

Raspberry Pi – SSH aktivieren

Auf einem neu installierten Raspberry Pi, ist aus Sicherheitsgründen der SSH-Zugriff standardmässig deaktiviert.

Die einfachste Möglichkeit, SSH auf dem Raspberry Pi zu aktivieren, funktioniert über die Datei ssh in der Boot-Partition.

Dies erledigt man am einfachsten direkt, nach dem man mit dem Raspberry Pi Imager, dass Image auf die SD-Karte installiert hat.

  1. Boot-Partition öffnen
  2. Neue leere Datei mit der Bezeichnung “ssh” erstellen (Wichtig: ohne Dateiendung)

Nach dem Einsetzen der SD-Karte in den Raspberry Pi funktioniert nun der Zugriff mit einem SSH-Client wie Putty.

Wichtig: Es sollte das Standardpasswort geändert werden, da ansonsten remote via ssh und dem standard Benutzername und Passwort auf den Raspberry Pi zugegriffen werden kann.

Warnmeldung nach dem Anmelden mit einem SSH-Client

Nützliche Links

raspberrypi.org: SSH (Secure Shell)

Raspberry Pi: SSH einschalten / aktivieren

Putty download

Raspberry Pi: Passwort ändern

Raspberry Pi OS Lite installieren mit dem Raspberry Pi Imager

Der Raspberry Pi Imager ist ein Hilfsprogramm zum Installieren des Pi OS oder andere Betriebssysteme für den Raspberry Pi auf einer SD-Karte. Hier ein paar Beispiele:

  • Raspberry Pi OS Desktop oder Lite
  • LibreELEC
  • Ubuntu (Desktop, Server, Core)
  • RetroPi
  • RecalBox
  • RISC OS Pi

Nach dem Herunterladen und des Installieren des Imager, kann die Applikation gestartet werden.

Raspberry Pi Imager

Als Nächstes wählen wir das Betriebssystem mit “CHOOSE OS”:

Unter Raspberry Pi OS (other) wählen wir das Raspberry Pi OS Lite (32-bit) Image:

Nun muss noch die SD-Karte ausgewählt werden, auf der das Image installiert werden soll. (CHOOSE SD CARD)

Damit das Image nun auf die SD-Karte geschrieben wird, klicken wir auf den Button “Write”. Achtung, alle Daten auf der SD-Karte werden nun endgültig gelöscht.

Nach dem Bestätigen mit “YES” wird das Image auf die SD-Karte geschrieben.

Wurde das Kopieren vollständig durchgeführt, kann die SD-Karte nun entfernt werden und im Raspberry Pi in Betrieb genommen werden.

Video zum Thema

raspberrypi.org: Using the Raspberry Pi Imager. Watch our 40-second video

Nützliche Links:

Raspberry Pi Imager