Julian Joswig: IT Blog

Zeige alle Artikel im Tag VPN

VPN-Server für iOS oder macOS selbst betreiben

Geschrieben am 26. May 2018, 15:32

Es gibt Situationen, in denen hätte man gerne einen VPN-Server zur Verfügung, um Datenverkehr in einer unsicheren Umgebung transportieren zu können. Das kann beispielsweise an Hotspots in Hotels, am Flughafen oder Bahnhof sein, da diese in aller Regel aus Gründen der Praktikabilität nicht verschlüsselt sind. Nutzt man dann unverschlüsselte Dienste, bspw. wird eine Webseite ohne HTTPS (TLS-Verschlüsselung) aufgerufen, kann diese Information mit einfachen Mitteln durch alle Nutzer des Hotspots abgegriffen werden. Die Lösung ist hier die Nutzung eines VPN-Servers (Tunnels), um die sensiblen Daten dort hindurch über das unsichere Netz zu übertragen. Es gibt eine Reihe von kostenpflichtigen VPN-Diensten, welche VPN-Tunnel für solche Zwecke bereitstellen. Manchmal jedoch leider mit Volumenbeschränkung. Sofern man einen öffentlich verfügbaren Server im Internet hat, bspw. aus der Cloud, kann man einen VPN-Server mit relativ einfachen Mitteln selbst betreiben und dann mit iOS (iPhone, iPad) oder macOS nutzen.

Voraussetzungen

Um ein solches Setup realisieren zu können, benötigt man mindestens folgende Dinge:

  • einen verfügbaren Server mit Linux (bspw. aus der Cloud von Amazon oder im heimischen Netz mit einem Raspberry PI) mit Ubuntu, Debian oder CentOS
  • Server muss zwingend per IPv4 erreichbar sein (IPv6 ist aus technischen Gründen nicht kompatibel). Dies sollte idealerweise eine feste IPv4-Adresse, kann jedoch auch eine dynamische Adresse sind.
  • ein kompatibles iOS (iPhone, iPad) oder macOS Gerät sein

Sollte man sich dazu entscheiden, einen Server beispielsweise im heimischen Netz zu betreiben (z. B. mittels Raspberry PI), so verfügt man in aller Regel nur über eine dynamische IP-Adresse. Um trotzdem eine stabile Erreichbarkeit des VPN-Servers über die dynamische IP-Adresse zu gewährleisten, sollte man einen "Dyndns"-Dienst verwenden.

Funktionsweise

Auf dem verfügbaren Server wird ein VPN-Server installiert, welcher einen Tunnel bereitstellt auf Basis von IPSec (IPSec/L2TP oder Cisco IPSec). Diese Art der Transportverschlüsselung gilt nach heutigen Maßstäben als sicher und ungebrochen. Das Endgerät (iOS oder macOS) baut eine Tunnelverbindung zum Server auf und schickt sämtliche Daten durch den verschlüsselten Tunnel. Selbst bei Nutzung von unverschlüsselten Diensten bleiben die Daten zumindest im unsicheren Hotspot-Netzwerk vor den Augen anderer Teilnehmer verborgen.

Installation

Eine aufwändige Installation ist lediglich für den Server durchzuführen. Für die Installation des VPN-Servers sei auf folgende Seite verwiesen: https://github.com/hwdsl2/setup-ipsec-vpn#installation iOS und macOS bringen im Standard schon die notwendige Software mit, um einen VPN-Tunnel zu unserem installierten VPN-Server aufbauen zu können. Es muss lediglich noch das iOS oder macOS Gerät konfiguriert werden:

Nutzung

Nach Einrichtung des Servers und iOS oder macOS Geräts kann eine VPN-Verbindung quasi per "Fingerschnipp" aufgebaut werden. Von diesem Moment an läuft jegliche Kommunikation vom Endgerät verschlüsselt über den VPN-Server in das Internet. Die Daten im unsicheren Hotspot-Netzwerk sind damit vor dem Einblick fremder geschützt. Ich selbst nutze diese Kombination in Verbindung mit einem Ubuntu Server, welcher bei einem deutschen Cloud Anbieter steht. Alle meine Endgeräte (iPhone, iPad, MacBook Air) können eine VPN-Verbindung zum Server aufbauen und ich damit sämtliche Verbindungen verschlüsseln.

Quellen:


FRITZ!Box: Nicht funktionierende LAN-LAN-Kopplung (Routing) bei fehlerhafter VPN-Konfiguration

Geschrieben am 03. Jan 2021, 12:17

Seit einigen Jahren bieten die weit verbreiteten AVM FRITZ!Boxen die Möglichkeit, VPN-Tunnel zwischen mehreren FRITZ!Boxen aufbauen zu können. Ich hatte geplant, mein eigenes Heimnetz mit dem meiner Eltern zu koppeln, um regelmäßig Backups von den Computern meiner Eltern erstellen zu können. Durch die VPN-Kopplung, auch LAN-LAN-Kopplung genannt, wäre eine Datenübertragung sicher und verschlüsselt möglich gewesen. Bei der Einrichtung der Konfiguration bin ich jedoch auf einen Fehler gestoßen, welcher zwar einen Verbindungsaufbau ermöglicht hat, jedoch kein Datentransfer zwischen den Netzen möglich war. Wie ich das Problem gelöst habe, möchte ich hier beschreiben.

Das Setup

Mein Setup sah in aller Kürze wie folgt aus:

  • Netzwerk 1 (Mein Heimnetz):
    • FRITZ!Box 1 (private Adresse: 192.168.178.1): FRITZ!Box 7490 mit OS-Version 07.21 (aktuelle Version bis dato)
    • Netzwerkkonfiguration: 192.168.178.0/24
    • Verfügt über öffentliche IPv4-Adresse sowie DNS-Name über Myfritz.net
  • Netzwerk 2 (Heimnetz einer Eltern):
    • FRITZ!Box 2 (private Adresse: 192.168.0.1): FRITZ!Box 7390 mit OS-Version 06.86 (aktuelle Version bis dato)
    • Netzwerkkonfiguration: 192.168.0.0/24
    • Verfügt über öffentliche IPv4-Adresse sowie DNS-Name über Myfritz.net

In den jeweiligen Netzwerken (Netzwerk 1 & 2) befinden sich jeweils eine Vielzahl von Geräten. Das Ziel war, einen Computer im Netzwerk 2 regelmäßig auf einen weiteren Computer in Netzwerk 1 zu sichern.

Das Problem

Die Einrichtung des VPN-Tunnels (LAN-LAN-Kopplung) zwischen den zwei FRITZ!Boxen war erfolgreich und eine Verbindung konnte aufgebaut werden. Trotz des erfolreichen Aufbaus konnte jedoch kein Datentransfer stattfinden. Das Symptom war ein Routing, welches fehlerhaft schien, der der Verbindungsversuch aus dem Netzwerk 1 in das Netzwerk 2 hinein nicht klappte. 

Ich begab mich also auf Fehlersuche.

Die Lösung

Bei der Diagnose der Konfiguration und der so genannten Ereignis-Logs auf den FRITZ!Boxen fiel mir auf der entfernten Box ein wiederkehrender Fehler auf:

03.01.21 10:36:49 VPN-Fehler: 95.91.247.201, IKE-Error 0x2027 [4 Meldungen seit 03.01.21 10:35:11]

Der oben hervorgehobene IKE-Error 0x2027 bedeutet grundsätzlich erstmal nichts anderes, als das beim Aufbau eines Tunnels ein Timeout erfolgte (Quelle: https://service.avm.de/help/de/FRITZ-Box-Fon-WLAN-7390/016/hilfe_syslog_122). Mir fiel jedoch auf, dass die hier genannte IP-Adresse (95.91.247.201) nicht zu der öffentlichen IPv4-Adresse der beiden FRITZ!Boxen gehörte.

Es stellt sich heraus, dass dies ein Relikt aus einem früheren Versuch war, einen VPN-Tunnel einzurichten. Nach Löschen der Konfiguration, welche regelmäßig den Timeout erzeugte, klappte der Datentransfer der just eingerichteten LAN-LAN-Kopplung.

Das Fazit

Es scheint, als wenn die VPN-Komponente von FRITZ!OS bei einer fehlerhaften Konfiguration, welche zu einem Timeout beim Versuch eines Verbindungsaufbaus führt, alle weiteren eingerichteten VPN-Konfigurationen stört.

Meine Empfehlung ist daher, bei nicht ordnungsmäß funktionierenden VPN-Tunneln die Konfiguration der anderen VPN-Tunnel, sofern es welche gibt, zu prüfen.


Julian Joswig

Julian Joswig Facebook Julian Joswig LinkedIn Julian Joswig Twitter Julian Joswig XING

Über diesen Blog

Was ist der Inhalt dieses Blogs, fragt ihr euch vielleicht? Mein Name ist Julian Joswig und ich bin großer Fan von IT und Technologie (hauptsächlich Linux, Server, Netzwerke und alle damit verbundenen Themen). Manchmal beiße ich mir an schwierigen Sachverhalten fast die Zähne aus. Habe ich jedoch eine Lösung gefunden, möchte ich diese mit der Welt teilen. Beruflich arbeite ich als Management Consultant in Deutschland mit Fokus auf IT und Business.

Neueste Artikel:

Artikelarchiv:

Twitter Timeline: