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

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.

Kommentar verfassen