Raspberry Pi als IPsec VPN-Server

Ein eigener VPN-Server ist eine schicke Sache. Bei der Nutzung von öffentlichen WLAN-Hotspots kann mittels VPN die Sicherheit erhöht werden. In einem ungeschützten WLAN können unbemerkt persönliche Daten ausgespäht werden, ohne das es der Anwender direkt merkt. Die Folge können Identitätsdiebstahl und Datenverlust sein.

Von unterwegs lässt sich so die Heimautomatisierung kontrollieren, ohne auf einen Cloud-Dienst angewiesen zu sein.

Als Server kommt bei mir ein Raspberyy Pi zum Einsatz, der kleine Platinenrechner ist günstig in der Anschaffung und auch der Stromverbrauch ist überschaubar. Auf dem Pi läuft Raspbian, ein auf Debian basiertes Linux.

Für die Einrichtung des VPN-Dienstes müssten diverse Dienste manuell installiert und konfiguriert. Ich habe ein Tool zur automatischen Einrichtung gefunden: setup-ipsec-vpn

Als VPN-Server kommt dabei strongSwan zum Einsatz.

Damit können mit nur einem Befehl in der Konsole alle erforderlichen Pakete und Dienste geladen und installiert werden.

Nach einer Verbindung via SSH oder direkt per Bildschirm und Tastatur zum Pi muss nur folgender Code in der Konsole/Terminal ausgeführt werden, vorher muss natürlich der Pre-shared Key, der Benutzername und das Passwort durch eigene Werte ergänzt werden.

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo \
VPN_IPSEC_PSK='your_ipsec_pre_shared_key' \
VPN_USER='your_vpn_username' \
VPN_PASSWORD='your_vpn_password' sh vpnsetup.sh

Ein starker Pre-shared Key kann hier generiert werden. Die Daten sollten gut notiert werden, diese braucht man später für den Aufbau einer VPN-Verbindung.

Damit die Verbindung über das Internet funktioniert, müssen im heimischen Internet-Router noch bestimmte Portfreigaben eingerichtet werden. Wie das genau geht, findet sich in der Dokumentation des jeweiligen Gerätes und würde hier den Rahmen sprengen.

Folgende Ports müssen freigegeben werden: 500 (UDP); 4500 (UDP); 10000 (UDP)

Im Anschluss muss noch die Verbindung angelegt werden, hier am Beispiel unter macOS erklärt.


Gehe in die Systemeinstellungen -> Netzwerk und klicke dann auf das kleine “+”-Symbol links in der Ecke. Wähle beim Anschluss-Typ “VPN” und beim VPN-Typ “Cisco IPSec” aus. Der Name kann beliebig vergeben werden.

Klicke auf “Authentifizierungseinstellungen” und füge das Shared Secret ein, was Du zuvor notiert hast.

Zum Schluss müssen nur noch Benutzername, Passwort und Serveradresse eingegeben werden. Die Serveradresse kann die öffentliche IP-Adresse sein, oder auch ein Name, falls DynDNS oder vergleichbare Dienste genutzt werden.

Mit dieser Lösung lassen sich die nativen VPN-Clients von iOS und macOS nutzen, es ist also keine zusätzliche Software erforderlich.

War der Beitrag hilfreich?

Eine Antwort zu „Raspberry Pi als IPsec VPN-Server“

  1. Kai Ortelt

    Die Anleitung hat prima funktioniert. Ich kann mich am VPN Server anmelden, bekomme eine IP zugewiesen, kann aber über die Gegenstelle nicht ins Internet bzw. auf andere Geräte im LAN zugreifen. Im LAN des VPN gibt es z.B. einen Rechner mit der IP 192.168.2.5 auf dem ein Webserver läuft – ich bekomme eine Adresse 192.168.43.10 vom VPN Server zugewiesen. Wie kann ich nun übers VPN auf den Webserver zugreifen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert