Wenn bestimmte ZimaOS-Anwendungen ihren Datenverkehr über einen kommerziellen VPN leiten sollen, verweist der Community-Beitrag auf Gluetun, anstatt den WireGuard-Eintrag im App Store als einfache Oberfläche zum Hochladen einer Client-Konfiguration zu betrachten. Der ursprüngliche Autor fragte zunächst, wie WireGuard als Client ausgeführt werden könne, fand dann Gluetun in ZimaOS und dokumentierte den Docker-Netzwerkansatz.
Das zentrale Konzept besteht darin, dass die Zielanwendung den Netzwerk-Namespace von Gluetun gemeinsam nutzt. Gluetun verwaltet den VPN-Tunnel, die Firewall und die veröffentlichten Ports; qBittorrent oder eine andere Anwendung verwendet anschließend diesen Netzwerk-Stack anstelle ihrer eigenen normalen Bridge-Schnittstelle.
WireGuard und Tailscale im ZimaOS App Store sind nicht dasselbe wie ein VPN-Provider-Client
Zima-Giorgio antwortete, dass WireGuard und Tailscale im App Store verfügbar seien. Der Autor stellte anschließend den fehlenden Punkt klar: Gewünscht war ein Client-Workflow, bei dem eine Anbieterkonfiguration importiert und zum Weiterleiten des Anwendungsdatenverkehrs verwendet werden konnte.
Dieser Unterschied ist wichtig. Tailscale und ein selbst gehosteter WireGuard-Endpunkt sind nützlich für private Netzwerkverbindungen mit Fernzugriff, während Gluetun speziell dafür entwickelt wurde, Docker-Workloads über unterstützte kommerzielle VPN-Anbieter per OpenVPN oder WireGuard zu verbinden.
Die Gluetun-Suche im ursprünglichen Beitrag
Der Autor schrieb später, dass ZimaOS Gluetun bereits enthielt, obwohl dies bei der Suche im App Store nach dem allgemeinen Begriff „VPN“ nicht offensichtlich war.
Der ursprüngliche Hinweis lautete, die Netzwerkkonfiguration der Anwendung, deren Datenverkehr durch den Tunnel geleitet wird, vom normalen Bridge-Modus auf den Netzwerk-Namespace von Gluetun umzustellen und die von der Anwendung selbst veröffentlichten Ports zu entfernen, da Gluetun diese stattdessen veröffentlichen sollte.
network_mode: container:gluetun
Diese Syntax ist gültig, wenn ein externer Container einem bereits laufenden Gluetun-Container anhand seines Namens beitritt.
service:gluetun vs. container:gluetun
Die aktuelle Gluetun-Dokumentation unterscheidet zwei gängige Compose-Fälle:
# Dasselbe Compose-Projekt
network_mode: "service:gluetun"
und:
# Separates Compose-Projekt / externer Container
network_mode: "container:gluetun"
Beide Varianten tauchten im Community-Beitrag als mögliche Ansätze auf. Welche die richtige ist, hängt davon ab, ob Gluetun und die Anwendung, deren Datenverkehr weitergeleitet wird, im selben Compose-Stack laufen.
Aktueller Leitfaden zur Gluetun-Container-Netzwerk-Konfiguration
Warum qBittorrent weiterhin die IP-Adresse des Internetanbieters preisgeben kann
Ein späterer Benutzer berichtete, dass Gluetun selbst in seinen Protokollen eine NordVPN-IP anzeigte, qBittorrent beim Testen jedoch weiterhin die Adresse des Internetanbieters zu verwenden schien. Dieses Symptom bedeutet, dass „Gluetun ist verbunden“ und „qBittorrent verwendet tatsächlich Gluetuns Netzwerk-Stack“ getrennt voneinander getestet werden müssen.
Überprüfe die Containerdefinition von qBittorrent und stelle sicher, dass ihr Netzwerkmodus tatsächlich mit Gluetun verbunden ist. Eine normale Bridge-Schnittstelle neben Gluetun kann dazu führen, dass qBittorrent die gewöhnliche Host-Route verwendet.
Verschiebe die qBittorrent-Ports in den Gluetun-Container
In der aktuellen Dokumentation von Gluetun heißt es, dass die Ports der Zielanwendung auf Gluetun veröffentlicht werden sollten, wenn ein anderer Container seinen Netzwerk-Stack gemeinsam nutzt.
Wenn qBittorrent beispielsweise intern auf Port 8080 lauscht:
services:
gluetun:
image: qmcgaw/gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- "8080:8080"
qbittorrent:
image: dein-qbittorrent-image
network_mode: "service:gluetun"
Veröffentliche denselben qBittorrent-Port nicht in beiden Containern. Das führt zu den im Quell-Thread beschriebenen Portkonflikten.
Anleitung zur Gluetun-Portzuordnung
Das im Community-Thread erwähnte Video
Ein späterer Teilnehmer sagte ausdrücklich, dass er beim Versuch, qBittorrent über Gluetun zu routen, dem CasaOS-Video von DB Tech gefolgt sei. Da dieses Video Teil des Troubleshooting-Wegs im Quell-Thread ist, bleibt es hier erhalten.
Das Video wurde vor dem ZimaOS-Thread veröffentlicht und verwendet CasaOS. Nutze es daher, um die Docker-/Gluetun-Architektur zu verstehen, statt jeden UI-Schritt wörtlich zu kopieren.
Ein späterer Benutzer bestätigte, dass ein benutzerdefinierter Compose-Stack funktionierte
Im November 2025 sagte ein weiteres Community-Mitglied, die zuverlässige Lösung bestehe darin, qBittorrent und Gluetun gemeinsam als benutzerdefinierten App-/Compose-Stack bereitzustellen und den VPN-Anbieter dort zu konfigurieren. Es berichtete, dass der Zugriff auf qBittorrent über den gewählten Host-Port anschließend Datenverkehr über das VPN zeigte.
Der Quell-Thread verweist auf ein von einem Benutzer erstelltes Gist für diese Einrichtung. Behandle Compose-Dateien von Drittanbietern als Beispiele: Überprüfe Umgebungsvariablen, Image-Versionen, Geheimnisse und Netzwerkeinstellungen, bevor du sie bereitstellst.
Gluetun bietet einen VPN-Kill-Switch
Die aktuelle Gluetun-Dokumentation beschreibt die Firewall als Kill-Switch: Wenn der VPN-Pfad nicht verfügbar ist, blockiert die Firewall Datenverkehr, der nicht über die normale Schnittstelle laufen sollte. Das ist ein Grund, warum es vorzuziehen ist, den Netzwerk-Stack von Gluetun gemeinsam zu nutzen, anstatt einfach einen VPN-Container neben qBittorrent zu starten.
Deaktivieren Sie die Gluetun-Firewallregeln nicht einfach, damit ein Port erreichbar wird. Korrigieren Sie stattdessen die vorgesehenen LAN-/Ausgangsrouten.
LAN-Zugriff gezielt erlauben
Wenn die weitergeleitete Anwendung lokale Subnetze erreichen muss, unterstützt Gluetun FIREWALL_OUTBOUND_SUBNETSZum Beispiel:
FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24
Verwenden Sie Ihr tatsächliches LAN-Subnetz und vermeiden Sie Überschneidungen mit dem Bereich des VPN-Tunnels.
Die Portweiterleitung des VPN-Anbieters unterscheidet sich von der Docker-Portzuordnung
Die Gluetun-Dokumentation unterscheidet zwischen:
- Docker-Portveröffentlichung: die qBittorrent-WebUI in Ihrem LAN erreichbar zu machen.
- Portweiterleitung des VPN-Anbieters: das Erhalten eines eingehenden Ports von einem VPN-Anbieter, der dies unterstützt.
Aktivieren Sie dies nicht VPN_PORT_FORWARDING nur um den lokalen Zugriff auf die qBittorrent-WebUI zu ermöglichen. Sie lösen unterschiedliche Probleme.
ZimaOS-Gluetun-Checkliste
- Konfigurieren Sie Gluetun für Ihren tatsächlichen VPN-Anbieter anhand der aktuellen Dokumentation des Anbieters.
- Vergewissern Sie sich, dass die Gluetun-Protokolle die erwartete VPN-Ausgangs-IP anzeigen.
- Fügen Sie die Zielanwendung in Gluetuns Netzwerk-Namespace ein.
- Verwenden Sie
service:gluetunfür denselben Compose-Stack odercontainer:gluetunfür einen externen Container. - Entfernen Sie doppelt veröffentlichte Ports aus der weitergeleiteten Anwendung.
- Veröffentlichen Sie die erforderlichen WebUI-/Listening-Ports auf Gluetun.
- Starten Sie den Stack neu.
- Testen Sie die öffentliche IP der Zielanwendung unabhängig vom eigenen Protokoll von Gluetun.
- Bewahren Sie VPN-Zugangsdaten und private WireGuard-Schlüssel außerhalb öffentlicher Compose-Dateien auf.
Häufig gestellte Fragen zum ZimaOS-VPN-Client
Kann ZimaOS nur qBittorrent durch ein VPN leiten?
Ja. Im Community-Thread wurde Gluetun gezielt verwendet, um ausgewählten Docker-Anwendungen seinen VPN-Netzwerk-Stack bereitzustellen, anstatt jeden ZimaOS-Dienst durch den Tunnel zu leiten.
Warum zeigte Gluetun die VPN-IP an, während qBittorrent weiterhin die IP des Internetanbieters anzeigte?
Weil der VPN-Container zwar fehlerfrei sein kann, während qBittorrent weiterhin mit seinem normalen Netzwerk verbunden ist. Überprüfen Sie den tatsächlichen Netzwerkmodus von qBittorrent.
Warum führt das Ändern der Ports dazu, dass die qBittorrent-WebUI nicht mehr funktioniert?
Wenn qBittorrent den Netzwerk-Namespace von Gluetun gemeinsam verwendet, veröffentlichen Sie den WebUI-Port auf Gluetun, statt denselben Port auf qBittorrent zu veröffentlichen.
Soll ich service:gluetun oder container:gluetun verwenden?
Verwenden Sie service:gluetun wenn sich beide Dienste im selben Compose-Projekt befinden. Verwenden Sie container:gluetun wenn sich ein externer Container mit einem benannten Gluetun-Container verbindet.
