ADMIN

2025

11

2025-10-28T12:00:00

Disaster Recovery

PRAXIS

048

Sicherheit

Mobiler VPN-Zugriff

VPN-Client

VPN für mobile Geräte

Sicher unterwegs

von Andreas Stolzenberger

Veröffentlicht in Ausgabe 11/2025 - PRAXIS

Öffentliche WLANs bieten bekanntermaßen keine Sicherheit und deshalb sollen VPNs auf mobilen Geräten Daten vor Unbefugten schützen. Dabei helfen viele entsprechende Apps jedoch nur sehr bedingt, denn ihr Job ist oft nur, die IP-Adresse zu verschleiern. Neben passenden VPN-Clients für Mobilgeräte lässt sich auch eine VPN-fähige WiFi-Bridge nutzen, die gleich mehrere Geräte absichert.

Auf Reisen ist kaum vermeidbar, Mobilgeräte in öffentlichen WiFi-Netzen zu verwenden. Dabei geht der Benutzer das Risiko ein, dass Daten vom Handy abgegriffen werden. Davor schützt letzten Endes auch WPA-Verschlüsselung nicht, denn der Access-Point (AP) terminiert die WPA-Verschlüsselung und leitet so oder so die Clientdaten unverschlüsselt weiter – und damit lesbar für eine Man-in-the-Middle-Attacke hinter dem Access Point. Natürlich arbeiten die meisten Internetprotokolle heute verschlüsselt, beispielsweise mit HTTPS und IMAP-S. Aber oftmals reicht es, wenn Hacker an Metadaten wie URLs, DNS- und IP-Adressen, auf die ein Handy zugreift, herankommen. Daher ist es wesentlich sicherer, mit einer Verschlüsselung zu arbeiten, die unabhängig vom verwendeten WiFi funktioniert.
Um aufzuzeigen, wie Sie Mobilgeräte wie Handys, Notebooks und Tablets unterwegs mit VPN-Technologie schützen, werfen wir einen Blick auf VPN-Clients für Android und iOS und deren – möglichst einfacher – Konfiguration. Zudem stellen wir eine einfache, aber praktische Konfiguration mit Raspberry PI vor, mit dem Sie eine VPN-geschützte WiFi-to-WiFi-Bridge für alle Mobilgeräte auf einmal bauen.
VPN ist nicht gleich VPN
Es gibt eine Fülle kommerzieller VPN-Anbieter, die ihre Dienste schon ab rund vier Euro im Monat anbieten. Hier ist nichts weiter zu tun, als eine passende App zu installieren und ein Abo abzuschließen. Das Hauptaugenmerk dieser Produkte zielt meistens aber nicht auf die Sicherheit der Kundenverbindung. Vielmehr routen die VPN-Anbieter die Daten über ein zuvor auswählbares Land. Nutzer können damit einem Streaming-Anbieter oder national beschränktem TV-Sender einen falschen Standort vorgaukeln.
Auf Reisen ist kaum vermeidbar, Mobilgeräte in öffentlichen WiFi-Netzen zu verwenden. Dabei geht der Benutzer das Risiko ein, dass Daten vom Handy abgegriffen werden. Davor schützt letzten Endes auch WPA-Verschlüsselung nicht, denn der Access-Point (AP) terminiert die WPA-Verschlüsselung und leitet so oder so die Clientdaten unverschlüsselt weiter – und damit lesbar für eine Man-in-the-Middle-Attacke hinter dem Access Point. Natürlich arbeiten die meisten Internetprotokolle heute verschlüsselt, beispielsweise mit HTTPS und IMAP-S. Aber oftmals reicht es, wenn Hacker an Metadaten wie URLs, DNS- und IP-Adressen, auf die ein Handy zugreift, herankommen. Daher ist es wesentlich sicherer, mit einer Verschlüsselung zu arbeiten, die unabhängig vom verwendeten WiFi funktioniert.
Um aufzuzeigen, wie Sie Mobilgeräte wie Handys, Notebooks und Tablets unterwegs mit VPN-Technologie schützen, werfen wir einen Blick auf VPN-Clients für Android und iOS und deren – möglichst einfacher – Konfiguration. Zudem stellen wir eine einfache, aber praktische Konfiguration mit Raspberry PI vor, mit dem Sie eine VPN-geschützte WiFi-to-WiFi-Bridge für alle Mobilgeräte auf einmal bauen.
VPN ist nicht gleich VPN
Es gibt eine Fülle kommerzieller VPN-Anbieter, die ihre Dienste schon ab rund vier Euro im Monat anbieten. Hier ist nichts weiter zu tun, als eine passende App zu installieren und ein Abo abzuschließen. Das Hauptaugenmerk dieser Produkte zielt meistens aber nicht auf die Sicherheit der Kundenverbindung. Vielmehr routen die VPN-Anbieter die Daten über ein zuvor auswählbares Land. Nutzer können damit einem Streaming-Anbieter oder national beschränktem TV-Sender einen falschen Standort vorgaukeln.
Wer eher um die Sicherheit seiner Daten bangt, dem bieten sich ebenfalls ab rund vier Euro im Monat bei Anbietern wie Amazon oder Hetzner einfache VMs mit statischen IPv4-Adressen. Verwenden Sie diese VM mit OpenVPN-Server (siehe Kasten und [1]), nutzt dieser eigentlich das UDP-Protokoll und lauscht auf Port 1194. Wenn es aber darum geht, einen VPN-Tunnel aus einem unsicheren WLAN aufzubauen können sowohl das Protokoll als auch die Portnummer zum Hindernis werden. Verschiedene freie WLAN-Zugänge sperren "Non-standard-Ports" wie 1194 oder erzwingen den kompletten Internetverkehr über einen Proxy-Server. Hier ist es hilfreich, dass ein OpenVPN-Server auch auf dem HTTPS-Port 443 mit TCP laufen kann. Damit können Sie aus fast allen öffentlichen WLAN-Netzwerken Ihren VPN-Server erreichen.
Privates Netz auf dem Device
Sowohl für Android als auch iOS gibt es das freie Tool "OpenVPN-Connect" in den jeweiligen App-Stores. Nach dem Set-up erscheint das Werkzeug ein wenig kryptisch, denn es bietet keine interaktiven Dialoge für die Konfiguration. Das wäre aber auch zu aufwendig, schließlich kommen Zertifikate zum Einsatz, die niemand von Hand eintippen möchte. Sobald Sie den VPN-Server eingerichtet haben, erstellen Sie dort über den easyrsa-Befehl die passenden Clientzertifikate:
easyrsa build-client-full <Clientname> nopass
Danach liegt das Zertifikat mit dem gewählten Namen unter "/etc/openvpn/easy-rsa/pki/issued" und der Key im Verzeichnis "/etc/openvpn/easy-rsa/pki/ private". Dazu passend bauen Sie ein OVPN-File nach dem Schema "<Clientname>.ovpn" für den Client. Dieses beinhaltet zunächst:
client
dev tun
proto tcp
remote <Ihr-vpn.server.com oder dessen IP-Adresse> 443
resolv-retry infinite
nobind
persist-key
persist-tun
auth-nocache
Im Anschluss fügen Sie den Inhalt der Datei "/etc/openvpn/easy-rsa/pki/ca.cert" zwischen "<ca>" und "</ca>" ein. Aus dem Clientzertifikat unter "/etc/openvpn/ easy-rsa/pki/issued" kopieren Sie den Teil ab (und inklusive) der Zeile "-----BEGIN CERTIFICATE-----" bis hin zur Zeile "-----END CERTIFICATE-----" in die OVPN-Datei zwischen die Anweisungen "<cert>" und "</cert>". Zum Schluss kopieren Sie den Client-Key aus "/etc/open-vpn/easy-rsa/pki/private" zwischen <key> und </key>.
Halten Sie diese Dateien gut unter Verschluss, denn wer darauf Zugriff erhält, kann Ihren VPN-Zugang nutzen. Transferieren Sie nun die passende OVPN-Datei auf ihr Mobilgerät, am besten via USB oder über eine sichere, lokale Netzwerkverbindung. Der OpenVPN-Connect-Client auf ihrem iOS- oder Android-Device importiert dieses File und erzeugt ein passendes VPN-Profil. Anschließend lässt sich ihr Mobilgerät mit dem VPN verbinden. Sobald das private Netz läuft, tunnelt Ihr Mobilgerät alle Internetverbindungen verschlüsselt. Genau so konfigurieren Sie auch die OpenVPN-Connect-Client-Apps auf Windows, Linux oder macOS, um Ihr Notebook mit dem VPN zu koppeln.
OpenVPN-Server
Das Setup eines OpenVPN-Servers zeigt Ihnen unser Artikel unter [1] ausführlich. Auch wenn der Beitrag bereits fünf Jahre alt ist, es hat sich nicht viel verändert, daher hier eine kurze Zusammenfassung: Rollen Sie einen Server mit direktem Internetzugriff aus – eine kleine Cloud-VM reicht völlig aus. Richten Sie darauf die Pakete "openvpn" und "easy-rsa" ein. Erstellen Sie mit easy-rsa eine CA und das passende Zertifikat Ihres VPN-Servers. Bauen Sie im Anschluss die Zertifikate für Ihre VPN-Clients und legen Sie eine Serverkonfiguration unter "/etc/openvpn/server/ server.conf wie folgt an:
port 443
proto tcp-server
dev tun
server 10.8.0.0 255.255.255.0
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/ server.crt
key /etc/openvpn/easy-rsa/pki/private/ server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
Dieses Setup läuft auf TCP Port 443 und nicht auf UDP Port 1194, damit der VPN- Server auch aus gefilterten WLANs erreichbar bleibt. Stellen Sie nun sicher, dass IPv4- Forwarding läuft: sysctl -w net.ipv4.ip_forward=1 und legen Sie die Basisregeln für das IP-Forwarding der Firewall fest:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp1s0 -j MASQUERADE
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT
Natürlich muss der Port 443 Ihres VPN-Servers aus dem Internet erreichbar sein.
Eine Brücke für alle Geräte
Doch der OpenVPN-Connect-Ansatz hat einen Haken: Sie müssen sich mit jedem Ihrer Geräte einzeln anmelden. Zudem funktioniert der VPN-Client nicht auf allen WiFi-fähigen Devices, wie beispielsweise Drohnen, E-Book-Readern oder Kameras. Und auch die Kommunikation der Geräte untereinander ist nicht immer gewährleistet. Doch für all dies gibt es eine simple Lösung: Die WiFi-Brücke mit VPN.
Dabei handelt es sich um einen Kleincomputer – in unserem Setup ein Raspberry Pi 4 – mit zwei WLAN-Interfaces. Sie können dazu aber auch einen anderen Rechner nutzen, so lange Linux darauf läuft. Eine der WLAN-Schnittstellen arbeitet als Access-Point mit WPA2-Verschlüsselung und daran melden sich alle Geräte an. Der zweite WiFi-Adapter verbindet die Brücke via VPN mit dem öffentlichen Internet.
Ein Raspberry Pi 4 reicht dafür aus, denn er funktioniert mit einem USB-C-Ladegerät und bringt bereits ein von zwei WLAN-Interfaces mit. Sie benötigen nur noch einen USB-WiFi-Adapter mit Linux-Unterstütung. Die Konfiguration klingt auf den ersten Blick aufwendig – und in der Vergangenheit war sie das mit Tools wie hostapd, iptables und viel manueller Konfiguration auch. Aber in der Zwischenzeit reicht tatsächlich ein einziges Tool, um alle benötigten Dienste zu verwalten: der NetworkManager.
Für unser Setup laden Sie ein frisches Raspberry-Pi-OS in der 64-Bit-Minimalvariante (ohne GUI) auf den Pi 4, der zuvor ein zweites USB-WiFi-Interface bekommen hat. Fügen Sie für das initiale Setup den Pi 4 via Kabel in Ihr LAN ein und melden sich per SSH an.
Nach dem üblichen Update (sudo apt update und sudo apt full-upgrade) müssen Sie zunächst das Tool "raspi-config" starten und dort unter "1 System Options / S1 Wireless LAN" das Land auswählen, sonst sperrt das System die WLAN-Karten. Im Anschluss ermitteln Sie über iw phy0 info und iw phy1 info, welche WiFi-Kanäle und -Protokolle Ihre Adapter unterstützen (und Sie im gewählten Land nutzen dürfen).
Das LogiLink-USB-Interface unseres Set-ups beherrscht lediglich die WiFi-Frequenzen im 2.4-GHz-Band (B und G). Daher nutzen wir das 5-GHz-fähige eingebaute WiFi-Interface des Pi 4 für den Access-Point im A-Band, während der LogiLink-Adapter die Verbindung zu dem jeweiligen öffentlichen WiFi herstellt. Alle unsere Geräte beherrschen 5 GHz, daher konfigurieren wir den AP entsprechend.
Bridge einrichten
Bevor es an die eigentliche Konfiguration der Brücke geht, müssen Sie zuerst ein paar Vorbereitungen treffen. Zunächst installieren Sie alle benötigten Pakete:
apt install network-manager dnsmasq openvpn network-manager-openvpn
Dann schalten Sie den NetworkManager um, sodass dieser für alle Netzwerke "dnsmasq" als DNS-Dienst verwendet. Dazu editieren Sie die Datei "/etc/NetworkManager/NetworkManager.conf" und fügen Sie im Abschnitt "[main]" die Zeile dns=dnsmasq hinzu. Das bedeutet aber auch, dass NetworkManager die verwendeten dnsmaq-Instanzen selbst konfiguriert und startet. Daher müssen Sie alle anderen DNS-Dienste, die möglicherweise auf dem System arbeiten, abschalten, auch den Systemd-gesteuerten dnsmasq:
systemctl disable systemd-resolved
systemctl stop systemd-resolved
systemctl disable dnsmasq
systemctl stop dnsmasq
Dann starten Sie den NetworkManager mit systemctl restart NetworkManager neu. Prüfen Sie im Anschluss, ob die DNS-Auflösung ordnungsgemäß funktioniert: Sie müssen via ps -ef | grep dnsm eine laufende dnsmasq-Instanz mit "--listen-address=127.0.0.1" finden. Wenn das klappt, konfigurieren Sie den WiFi-Access-Point. Um Ihnen das Setup zu erleichtern, nutzen Sie das Bash-Skript aus Listing 1. Es konfiguriert und aktiviert einen WiFi-Access-Point via NetworkManager auf Ihrer WiFi-Bridge. 
Listing: WiFi-AP-Skript
#!/bin/bash
# Konfiguration
wifiname="waifai"
wifiband="a"
wifichannel="40"
wifinic="wlan0"
psk_password="SuperSecret"
ip_address="192.168.47.1/24"
cloned_mac_address="00:12:34:56:78:9a"
# WiFi AP
nmcli con add type wifi ifname $wifinic mode ap con-name $wifiname ssid $wifiname
nmcli con modify $wifiname 802-11-wireless.mode ap
nmcli con modify $wifiname wifi.band $wifiband
nmcli con modify $wifiname wifi.channel $wifichannel
nmcli con modify $wifiname wifi.cloned-mac-address $cloned_mac_address
nmcli con modify $wifiname wifi-sec.key-mgmt wpa-psk
nmcli con modify $wifiname wifi-sec.proto rsn
nmcli con modify $wifiname wifi-sec.group ccmp
nmcli con modify $wifiname wifi-sec.pairwise ccmp
nmcli con modify $wifiname wifi-sec.psk "$psk_password"
nmcli con modify $wifiname ipv4.method shared ipv4.address $ip_address
nmcli con modify $wifiname ipv6.method disabled
nmcli co up $wifiname
In den Variablen am Anfang des Skripts definieren Sie Ihre WiFi-Parameter wie Namen, Kanal und Passwort. Wenn Sie den AP im 2.4-GHz-Band betreiben möchten, geben Sie "bg" als Band und einen Kanal zwischen 1 und 12 an. Die "cloned_mac_address" ist für den AP optional. Die MAC-Spoofing-Funktion des NetworkManagers kann sich auf der WLAN-Clientseite als nützlich erweisen, dazu im weiteren Verlauf noch mehr. Der NetworkManager richtet nun automatisch sowohl das nötige Routing zu Ihrem LAN ein, als auch den DNS/DHCP-Dienst des Access Points.
Bild 1: Über das CLI des NetworkManagers zeigen sich die verfügbaren WiFi-Netze, an denen sich die VPN-Bridge anmelden kann.
Geräte mit dem Brücken-AP verbinden
Zu diesem Zeitpunkt können Sie nun mit Ihrem ersten Device, bevorzugt einem Notebook, eine Verbindung zum Bridge-Access-Point herstellen. Das Gerät erhält via AP und LAN Zugang zum Internet. Wenn das alle klappt, loggen Sie sich nun per SSH von Ihrem WiFi-verbunden Notebook am AP ein:
ssh <Definierter User>@192.168.47.1
Steht diese Verbindung, können Sie das LAN-Kabel abhängen. Im nächsten Schritt bauen Sie eine WLAN-Verbindung zu einem anderen WiFi auf. Dazu können Sie in einer SSH-Sitzung auf dem WiFi-Router sowohl das simple Text-UI des NetworkManager "nmtui" verwenden oder gleich alles von der Kommandozeile aus steuern. Die Liste der verfügbaren WLANs zeigt:
nmcli dev wifi list ifname wlan1
Suchen Sie das gewünschte WiFi aus der Liste und verbinden sich damit via:
nmcli device wifi connect <WiFi> ifname wlan1
Und wenn es ein Netzwerk mit Verschlüsselung ist via:
nmcli device wifi connect <WiFi> password <Passwort> ifname wlan1
Sollte es sich dabei um ein WiFi mit einem "Captive Portal" handeln, wie sie oft in Hotels vorzufinden sind ("Geben Sie den Namen und die Zimmernummer ein") zeigt sich dieses Portal auf Ihrem Client, also dem verbundenen Notebook. Sobald Sie diesen Login einmal durchgeführt haben, bekommen alle anderen Ihrer Devices im sicheren Netzwerk automatisch Zugang zum Internet. Das Hotel-WiFi kennt nur Ihren WiFi-Router. Somit bekommen auch Geräte, die keine Captive Portals verarbeiten können, Zugriff auf das Internet.
Jedoch ist diese Verbindung noch nicht abgesichert. Im letzten Schritt importieren Sie die OVPN-Clientdatei, die Sie auf Ihrem VPN-Server erstellt haben, in die Konfiguration (in unserem Beispiel heißt diese "client1.ovpn"). Auch hier benötigt der NetworkManager keine externen Tools:
nmcli connection import type openvpn file client1.ovpn
Dann starten Sie die VPN-Verbindung mit nmcli co up client1. Steht die Verbindung, passt der NetworkManager das Routing automatisch so an, dass der Internettraffic Ihres WiFi-Netzwerks via VPN läuft. Vom Notebook aus prüfen Sie dies mit traceroute 9.9.9.9. Im Trace muss zuerst bei "_gateway" der WiFi-AP erscheinen, dann der VPN-Tunnel (beispielweise "10.8.0.1"), gefolgt von der IP-Adresse Ihres OpenVPN-Servers. Nun ist ein sicherer VPN-Tunnel via WiFi-Bridge bereit für alle Ihre mobilen Devices.
Der Vorteil der Bridge-Methode liegt auf der Hand: Alle Geräte müssen sich nur mit dem WiFi-AP verbinden, egal in welchem öffentlichen Netz dieser hängt. Die Devices können untereinander im gesicherten Netzwerk kommunizieren beispielsweise, um Fotos einer Digitalkamera auf einen Laptop zu transferieren.
Ein Nachteil ist, dass es kein schickes GUI für die externe WLAN-Konfiguration auf dem Access Point gibt. Zwar existieren solche Tools, jedoch nutzen diese andere Werkzeuge wie "iw" oder "ifconfig" für das Adapter-Setup anstelle des hier verwendeten NetworkManagers. Also müssen Sie die Verbindung zum öffentlichen WiFi in einer SSH-Sitzung auf dem AP herstellen. Für ein wenig Abhilfe sorgt das Plug-in "cockpit-network" auf dem Pi 4. Dieses versorgt Sie mit einem Web-UI namens "Cockpit", dem allerdings das WiFi-Clientsetup fehlt. Aber immerhin erhalten Sie so ein Terminalfenster im Browser als Alternative zur SSH-Verbindung.
Auch müssen Sie Ihre VPN-Verbindung im Auge behalten, denn bricht der VPN-Client aus irgendwelchen Gründen die Verbindung ab, bemerken Sie das nicht sofort, da der AP Ihre Daten dann ohne VPN weiterleitet.
Es gibt verschiedene Möglichkeiten, das zu verhindern: Sie könnten beispielsweise die lokale Firewall auf dem Pi 4 dazu nutzen, um ausgehenden Traffic exklusiv auf das Interface "tun0" (VPN-Tunnel) zu beschränken. Zudem hängen Sie das VPN an die externe WiFi-Verbindung an:
nmcli connection modify "public_ insecure_wifi_name" connection. secondaries "vpn_conncection"
Mit dem VPN als "secondaries" startet der NetworkManager die VPN-Verbindung automatisch, wenn Sie sich mit dem öffentlichen WiFi verbinden. Dieser Automatismus hat aber Grenzen, denn für WiFi mit einem Captive-Portal müssen Sie zumindest einmal (je nach WiFi bis zu einmal täglich) die Verbindung ohne VPN nutzen, um den Anmeldedialog auszufüllen. Erst nach diesem Schritt können Sie das VPN starten. Vereinfacht gesagt: Nutzen Sie die "secondary"-Option in simplen, freien WiFi-Netzen ohne Loginportal, während Sie in den anderen Netzwerken das private Netzwerk jeweils händisch starten.
Bild 2: Das Web-UI Cockpit hilft zwar nicht beim WiFi-Login, zeigt aber die laufenden Netzwerke der Bridge inklusive des Netzwerk-Tunnels "tun0".
In öffentlichen Netzen verbunden bleiben
Öffentliche WiFi-Access-Points merken sich oft die Mac-Adressen der Benutzer. Das kann im Ausland auch zu Nachverfolgungszwecken geschehen, um festzustellen, wann sich ein Gerät wo einbucht. Andererseits nutzen die WiFis die Mac-Information für "Timeouts". In Flughäfen finden Sie oftmals Optionen wie ein "Freies WiFi für zwei Stunden".
Der AP merkt sich dabei im Hintergrund Ihre MAC-Adresse und fügt diese nach der angegebenen Zeit einer 24-Stunden-Sperrliste hinzu. Der NetworkManager kann die MAC-Adresse des WiFi-Adapters zufällig ändern oder für jedes WLAN eine andere verwenden. Wirft Sie das Flughafen-WiFi nach zwei Stunden raus, ändern Sie via Spoofing einfach die MAC-Adresse des WLAN1-Ports auf dem Pi 4 und loggen sich erneut ein.
Mithilfe der VPN-Bridge können Sie auch Netzfilter wie Adblocker nutzen. Diese Dienste führen Sie dabei nicht auf dem Pi 4 aus, sondern bereits auf Ihrem VPN-Server. Eine beliebte Option ist der DNS-basierte Werbefilter "PiHole". Der DNS-Server löst dabei die DNS-Adressen von bekannten Werbeseiten nicht auf und liefert stattdessen "0.0.0.0" zurück. Das spart Traffic und beschleunigt die VPN-Verbindung.
Fazit
Mit dem OpenVPN-Connect-Client bringen Sie mobile Geräte zuverlässig in ein VPN, sodass diese gefahrlos unsichere, öffentliche WLANs nutzen können. Wer mit mehreren Devices unterwegs ist, bekommt mit der in diesem Workshop beschriebenen WiFi-Bridge eine simple Lösung an die Hand, die ganz ohne spezielle Zusatztools funktioniert.
(jp)
Links
[1] Unternehmenszugänge mit OpenVPN einrichten: https://www.it-administrator.de/article-326128