Om du vill att utvalda ZimaOS-applikationer ska skicka sin trafik via en kommersiell VPN pekar communitytråden på Gluetun, snarare än att behandla WireGuard-posten i App Store som ett enkelt gränssnitt för att ladda upp en klientkonfiguration. Den ursprungliga författaren frågade först hur man kör WireGuard som klient, men hittade sedan Gluetun i ZimaOS och dokumenterade Docker-nätverksmetoden.
Den centrala utformningen är att målappen delar Gluetuns nätverksnamnrymd. Gluetun hanterar VPN-tunneln, brandväggen och de publicerade portarna; qBittorrent eller en annan applikation använder sedan den nätverksstacken i stället för sitt eget normala bridge-gränssnitt.
WireGuard och Tailscale i ZimaOS App Store är inte samma sak som en VPN-leverantörsklient
Zima-Giorgio svarade att WireGuard och Tailscale fanns tillgängliga i App Store. Författaren förtydligade sedan den saknade delen: de ville ha ett klient-arbetsflöde där en leverantörskonfiguration kunde importeras och användas för att dirigera applikationstrafik.
Den skillnaden är viktig. Tailscale och en egen WireGuard-slutpunkt är användbara för privat fjärråtkomst via nätverket, medan Gluetun är särskilt utformat för att ansluta Docker-arbetslaster via kommersiella VPN-leverantörer som stöds, med OpenVPN eller WireGuard.
Källtrådens upptäckt av Gluetun
Författaren skrev senare att ZimaOS inkluderade Gluetun, även om en sökning i App Store efter det generiska begreppet ”VPN” inte gjorde detta uppenbart.
Rådet var att ändra den tunnlade applikationens nätverk från normalt bridge-läge till Gluetuns nätverksnamnrymd och ta bort applikationens egna publicerade portar, eftersom Gluetun bör publicera dem i stället.
network_mode: container:gluetun
Den syntaxen är giltig när en extern container ansluter till en redan körande Gluetun-container via namn.
service:gluetun kontra container:gluetun
Aktuell Gluetun-dokumentation skiljer mellan två vanliga Compose-fall:
# Samma Compose-projekt
network_mode: "service:gluetun"
och:
# Separat Compose-projekt / extern container
network_mode: "container:gluetun"
Båda formerna förekom konceptuellt i diskussionen i communityt. Den korrekta formen beror på om Gluetun och den dirigerade applikationen körs i samma Compose-stack.
Aktuell guide för Gluetun-container-nätverk
Varför qBittorrent fortfarande kan läcka internetleverantörens IP-adress
En senare användare rapporterade att Gluetun självt visade en NordVPN-IP-adress i loggarna, men att qBittorrent fortfarande verkade använda internetleverantörens adress vid testning. Det symptomet innebär att ”Gluetun är anslutet” och ”qBittorrent delar faktiskt Gluetuns nätverksstack” måste testas separat.
Kontrollera qBittorrent-containerdefinitionen och bekräfta att dess nätverksläge verkligen är anslutet till Gluetun. Ett normalt bridge-gränssnitt bredvid Gluetun kan göra att qBittorrent använder den vanliga värdvägen.
Flytta qBittorrents portar till Gluetun-containern
Gluetuns aktuella dokumentation säger att målprogrammets portar ska publiceras på Gluetun när en annan container delar dess nätverksstack.
Om qBittorrent till exempel lyssnar internt på port 8080:
services:
gluetun:
image: qmcgaw/gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- "8080:8080"
qbittorrent:
image: din-qbittorrent-image
network_mode: "service:gluetun"
Publicera inte samma qBittorrent-port i båda containrarna. Det skapar portkonflikterna som beskrivs i källtråden.
Guide för portmappning i Gluetun
Videon som hänvisas till i community-tråden
En senare deltagare sade uttryckligen att hen följde DB Techs CasaOS-video när hen försökte dirigera qBittorrent genom Gluetun. Eftersom videon ingår i källtrådens felsökningsväg bevaras den här.
Videon är äldre än ZimaOS-tråden och använder CasaOS, så använd den för att förstå Docker/Gluetun-arkitekturen i stället för att bokstavligen kopiera varje steg i gränssnittet.
En senare användare bekräftade att en anpassad Compose-stack fungerade
I november 2025 sade en annan community-medlem att den tillförlitliga lösningen var att distribuera qBittorrent och Gluetun tillsammans som en anpassad app/Compose-stack och konfigurera VPN-leverantören där. Personen rapporterade att när qBittorrent öppnades via den valda värdporten visades trafik som gick via VPN.
Källtråden länkar till en användarskapad Gist för den konfigurationen. Behandla Compose-filer från tredje part som exempel: granska miljövariabler, image-versioner, hemligheter och nätverksinställningar innan du distribuerar dem.
Gluetun tillhandahåller en VPN-kill switch
Aktuell Gluetun-dokumentation beskriver dess brandvägg som en kill switch: när VPN-vägen inte är tillgänglig blockerar brandväggen trafik som inte ska gå via det vanliga gränssnittet. Detta är en anledning till att det är bättre att dela Gluetuns nätverksstack än att bara starta en VPN-container bredvid qBittorrent.
Inaktivera inte Gluetuns brandväggsregler bara för att göra en port åtkomlig. Korrigera i stället de avsedda LAN-/utgående rutterna.
Tillåt åtkomst till LAN medvetet
Om det dirigerade programmet behöver nå lokala subnät stöder Gluetun FIREWALL_OUTBOUND_SUBNETS. Till exempel:
FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24
Använd ditt faktiska LAN-subnät och undvik att överlappa det med VPN-tunnelns adressintervall.
Portvidarebefordran hos VPN-leverantören skiljer sig från Dockers portmappning
Gluetuns dokumentation skiljer mellan:
- Publicering av Docker-portar: att göra qBittorrents WebUI åtkomligt i ditt lokala nätverk.
- Portvidarebefordran hos VPN-leverantören: att få en inkommande port från en VPN-leverantör som stöder detta.
Aktivera inte VPN_PORT_FORWARDING bara för att åtgärda lokal åtkomst till qBittorrents WebUI. De löser olika problem.
Checklista för ZimaOS Gluetun
- Konfigurera Gluetun för din faktiska VPN-leverantör enligt den aktuella leverantörsdokumentationen.
- Bekräfta att GlEUTUN-loggarna visar den förväntade VPN-utgångs-IP-adressen.
- Placera målappen i Gluetuns nätverksnamnområde.
- Använd
service:gluetunför samma Compose-stack ellercontainer:gluetunför en extern container. - Ta bort dubbla publicerade portar från det dirigerade programmet.
- Publicera nödvändiga WebUI-/lyssningsportar på Gluetun.
- Starta om stacken.
- Testa målprogrammets offentliga IP-adress separat från GlETUN:s egen logg.
- Förvara VPN-uppgifter och privata WireGuard-nycklar utanför offentliga Compose-filer.
Vanliga frågor om ZimaOS VPN-klient
Kan ZimaOS endast dirigera qBittorrent genom en VPN?
Ja. Community-tråden använde specifikt Gluetun för att dela dess VPN-nätverksstack med utvalda Docker-program i stället för att tunnla alla ZimaOS-tjänster.
Varför visade Gluetun VPN-IP-adressen medan qBittorrent fortfarande visade internetleverantörens IP-adress?
Eftersom VPN-containern kan vara frisk samtidigt som qBittorrent fortfarande är ansluten till sitt vanliga nätverk. Kontrollera qBittorrents faktiska nätverksläge.
Varför gör portändringar att qBittorrents WebUI slutar fungera?
När qBittorrent delar Gluetuns nätverksnamnområde publicerar du WebUI-porten på Gluetun i stället för att publicera samma port på qBittorrent.
Ska jag använda service:gluetun eller container:gluetun?
Använd service:gluetun när båda tjänsterna finns i samma Compose-projekt. Använd container:gluetun när en extern container ansluter till en namngiven Gluetun-container.
