Community-Lösung

OpenVPN unter ZimaOS: Einrichtung als Server und Client

A ZimaOS user asked how to install OpenVPN Connect, but the community reply provided a Docker deployment for OpenVPN Access Server instead.

Fazit: Entscheiden Sie vor der Installation, ob Sie einen OpenVPN-Server oder einen OpenVPN-Client benötigen

In der Forenfrage wurde nach „OpenVPN Connect“ gefragt, in der Antwort jedoch OpenVPN Access Server installiert. Dabei handelt es sich nicht um dasselbe Produkt. Access Server macht ZimaOS zu einem VPN-Server, mit dem sich entfernte Clients verbinden. OpenVPN Connect ist eine Clientanwendung, die auf Endgeräten wie Windows, macOS, Android und iOS verwendet wird. Für Linux-Systeme ohne grafische Oberfläche empfiehlt OpenVPN statt der Desktop-App OpenVPN Connect die Linux-Client-Tools.

Wenn Sie aus der Ferne auf Ihr Heimnetzwerk zugreifen möchten, benötigen Sie die Serverrolle

Die offizielle Docker-Bereitstellung von OpenVPN verwendet Access Server:

docker run -d   --name=openvpn-as   --device /dev/net/tun   --cap-add=MKNOD   --cap-add=NET_ADMIN   -p 943:943   -p 443:443   -p 1194:1194/udp   -v /DATA/AppData/openvpn:/openvpn   --restart=unless-stopped   openvpn/openvpn-as

Der OpenVPN Access Server ist die aktuelle Quelle des Upstream-Projekts. Bewahren Sie den persistenten Datenpfad /openvpn auf dem tatsächlichen ZimaOS-Speicher auf, damit Zertifikate und die Serverkonfiguration eine Neuerstellung des Containers überstehen.

Veröffentlichen Sie nicht jeden Verwaltungsport im Internet

Access Server verwendet eine webbasierte Verwaltungsoberfläche sowie VPN-Listener-Ports. Für eingehende Fernverbindungen benötigen Sie weiterhin eine öffentliche IP-Adresse oder eine gezielte Portweiterleitung auf dem Router. Geben Sie nur die Ports frei, die Ihre gewählte Konfiguration erfordert, beschränken Sie den Zugriff auf die Administrationsoberfläche und verwenden Sie HTTPS. Welche externen und internen Ports genau verwendet werden, hängt von Ihrem Router ab und davon, ob bereits ein anderer Reverse-Proxy Port 443 verwendet.

Wenn sich ZimaOS selbst mit einem anderen OpenVPN-Server verbinden soll, handelt es sich um eine Clientrolle

Zu den Linux-Clientoptionen von OpenVPN gehören OpenVPN 3 Linux, der quelloffene openvpn-Client und NetworkManager-Plugins für herkömmliche Linux-Distributionen. ZimaOS ist jedoch ein Appliance-Betriebssystem ohne grafische Oberfläche mit einem schreibgeschützten Systemmodell. Daher ist die Installation eines Desktop-Clients im Basissystem nicht der sauberste Weg.

Die OpenVPN-Linux-Clients machen den Unterschied zwischen Server und Client deutlich.

Den gesamten ZimaOS-Host über ein VPN zu routen, ist eine fortgeschrittene Änderung

Wenn ein OpenVPN-Client die Standardroute des Hosts ändert, können ZimaClient-Fernzugriff, Downloads aus dem App Store, Docker-Netzwerk und der Zugriff auf das lokale LAN beeinträchtigt werden. Entscheiden Sie, ob wirklich der Host hinter dem VPN liegen muss oder nur ein einzelner Anwendungcontainer. Bei einem Downloader oder Scraper ist es in der Regel einfacher, nur diesen Container über ein VPN-Gateway zu routen.

Für den normalen Fernzugriff auf ein NAS sind Tailscale oder WireGuard auf dem aktuellen ZimaOS einfacher

Das aktuelle ZimaOS bietet Tailscale, WireGuard Easy, Firefly und NetBird direkt im App Store. Wenn Sie einfach nur von außerhalb Ihres Zuhauses auf Dateien oder das Dashboard zugreifen möchten, erfordern diese Optionen weniger individuelle Container- und Netzwerkarbeit als der eigenständige Aufbau eines OpenVPN Access Servers.

Die ZimaOS-VPN-Optionen zeigen die unterstützten Möglichkeiten. Die Tailscale-Anforderungen behandeln die unkomplizierteste Overlay-Option ausführlicher.

Verwenden Sie Portainer oder Compose für einen bewusst geplanten benutzerdefinierten OpenVPN-Stack

Wenn Sie ausdrücklich OpenVPN-Kompatibilität benötigen, verwalten Sie die Containerkonfiguration als Compose-Datei oder eine andere reproduzierbare Definition, statt einen einmaligen Befehl zu verwenden, den Sie später nicht wiederherstellen können. Bewahren Sie Volume-Pfade, den Zugriff auf das TUN-Gerät, Berechtigungen und Portzuordnungen in einer versionskontrollierten Konfiguration auf.

Die Portainer-Anforderungen sind für Benutzer hilfreich, die eine Container-Oberfläche bevorzugen. Die ZimaOS-App-Anforderungen bieten einen umfassenderen Überblick über das ZimaOS-App-Modell.

Überprüfen Sie das VPN von beiden Seiten

Stellen Sie bei Access Server über ein Mobiltelefon im Mobilfunknetz eine Verbindung her und prüfen Sie die vom VPN zugewiesene Adresse sowie den vorgesehenen Zugriff auf das LAN. Überprüfen Sie bei einer Clientkonfiguration die Routingtabelle von ZimaOS vor und nach der Verbindung:

ip addr
ip route
curl ifconfig.me

Erklären Sie die Einrichtung nicht allein deshalb für erfolgreich, weil ein Container „running“ meldet. Vergewissern Sie sich, dass der Datenverkehr den erwarteten Weg nimmt und die lokale Administration weiterhin funktioniert.

FAQ

Ist OpenVPN Connect dasselbe wie Access Server?

Nein. OpenVPN Connect ist in erster Linie ein Client für Endgeräte, während Access Server das selbst gehostete VPN-Serverprodukt ist.

Kann OpenVPN Access Server unter ZimaOS in Docker ausgeführt werden?

Ja. Das offizielle Access-Server-Image unterstützt Docker und benötigt Zugriff auf das TUN-Gerät, die NET_ADMIN-Berechtigung, persistenten Speicher und geeignete Ports.

Benötige ich eine Portweiterleitung?

Für einen selbst gehosteten eingehenden OpenVPN-Server hinter einem Heimrouter lautet die Antwort normalerweise ja, sofern keine andere öffentliche Routinglösung verwendet wird.

Kann ich ZimaOS zu einem VPN-Client machen?

Technisch ist das mit Linux-OpenVPN-Tools oder einem sorgfältig konzipierten Container möglich. Änderungen am Routing des gesamten Hosts können jedoch das LAN und den Fernzugriff beeinträchtigen.

Sollte ich OpenVPN oder Tailscale verwenden?

Verwenden Sie OpenVPN, wenn Kompatibilität oder eine vorhandene OpenVPN-Infrastruktur wichtig ist. Für den einfachen Fernzugriff auf ZimaOS sind die aktuellen Tailscale-/WireGuard-Optionen im App Store unkomplizierter.