[RESOLU] Docker : Transmission sur Wireguard, acces WebUI impossible

Raskarkapak

Apprenti
21 Janvier 2023
37
10
8
Professionnel
Non
Hello,

Je viens de passer toute l'apres midi (😅) sur Portainer pour tenter de migrer mon container actuel (Transmission sur OpenVPN) vers un nouveau container sous Wireguard.

J'ai deploye le stack et je n ai pas d'erreur dans les logs, mais impossible d'acceder a l'interface web sur le port 9091.

Ci-dessous mon docker compose (avec des xxxx pour masquer les infos) :

Code:
services:
  wireguard:
    image: linuxserver/wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv4.conf.all.src_valid_mark=1
    environment:
      - PUID=xxxx
      - PGID=xxxx
      - TZ=Europe/Paris
    ports:
      - "9091:9091/tcp"
    volumes:
      - /srv/dev-disk-by-uuid-xxxx/system/docker/wireguard/config/wg0.conf:/config/wg0.conf
      - /lib/modules:/lib/modules
    restart: unless-stopped
  transmission:
    image: linuxserver/transmission
    network_mode: "service:wireguard"
    depends_on:
      - wireguard
    environment:
      - PUID=xxxx
      - PGID=xxxx
      - TZ=Europe/Paris
      - TRANSMISSION_WEB_HOME=/transmissionic/
      - USERNAME=xxxx
      - PASSWORD=xxxx
      - PEERPORT=xxxxx
    volumes:
      - /srv/dev-disk-by-uuid-xxxx/system/docker/transmission/config:/config
      - /srv/dev-disk-by-uuid-xxxx/Download:/downloads
      - /srv/dev-disk-by-uuid-xxxx/Download/watch:/watch
    restart: unless-stopped

Une idee du probleme ?...
Aussi, est ce que quelqu'un peut me confirmer que si Wireguard tombe, Transmission sera automatiquement deconnecte avec cette configuration?

Merci
 
Salut,
As tu bien fait la partie 3 du ce tuto pour autoriser l'accès depuis le reseau local ?
 
Salut,
As tu bien fait la partie 3 du ce tuto pour autoriser l'accès depuis le reseau local ?
Alors en effet je ne l'avais pas fait, je viens de le faire et je peux y acceder depuis mon reseau local, mais pas a distance lorsque je veux m y connecter via Tailscale. Est ce que tu penses que je dois ajouter un HOMENET4=100.0.0.0/8 partout apres chaque HOMENET3 ? Mon reseau Tailscale comprend toute sorte d'IP en 100.x.x.x

EDIT: oui ca fonctionne ! En ajoutant le HOMENET4 de cette maniere :

PostUp = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; HOMENET4=100.0.0.0/8; ip route add $HOMENET4 via $DROUTE;ip route add $HOMENET3 via $DROUTE;ip route add $HOMENET2 via $DROUTE; ip route add $HOMENET via $DROUTE;iptables -I OUTPUT -d $HOMENET -j ACCEPT;iptables -A OUTPUT -d $HOMENET2 -j ACCEPT; iptables -A OUTPUT -d $HOMENET3 -j ACCEPT; iptables -A OUTPUT -d $HOMENET4 -j ACCEPT iptables -A OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
PreDown = HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; HOMENET4=100.0.0.0/8; ip route del $HOMENET4 via $DROUTE; ip route del $HOMENET3 via $DROUTE;ip route del $HOMENET2 via $DROUTE; ip route del $HOMENET via $DROUTE; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -d $HOMENET -j ACCEPT; iptables -D OUTPUT -d $HOMENET2 -j ACCEPT; iptables -D OUTPUT -d $HOMENET3 -j ACCEPT; iptables -D OUTPUT -d $HOMENET4 -j ACCEPT
 
Dernière édition:
  • J'aime
Réactions: EVO
Petite question : j'ai remarque que contrairement a mon ancien stack Transmission + OpenVPN, j'ai desormais 2 containers separes qui tournent, un pour Transmission et un pour Wireguard. Si a l'avenir je souhaite faire d'autre container et les faire passer par Wireguard, est-ce qu'il suffira de faire des stacks separes et d'y ajouter ces 2 lignes :

Code:
network_mode: "service:wireguard"
    depends_on:
      - wireguard

Ou bien devrais-je obligatoirement les integrer a mon docker-compose original poste dans mon 1er message ?
 
Les deux sont possible , la meilleur méthode reste l'ajout des lignes que tu cite et l'ajout dans le compose d'origine.

Tu peut aussi lié a un conteneur hors de ton compose via :


network_mode: "container:wireguard"
 
  • J'aime
Réactions: Raskarkapak
Hello, c'est encore moi...

Alors j'accede bien a l'interface Web, de ce cote plus de soucis, par contre je n'ai aucun peer et je ne peux pas seeder ni telecharger. Meme ce torrent de test ici (http://checkmyip.torrentprivacy.com/) ne se telecharge pas. Mon docker-compose a l'air bon donc je pense que la couille se situe au niveau de mon fichier wg0.conf.

J'utilise Mullvad, et il me semble avoir lu quelque part que cette ligne est obligatoire avec Mullvad :
Code:
- net.ipv6.conf.all.disable_ipv6=0

Elle est bien dans mon compose. Concretement ca veut dire que je dois creer un wg0.conf avec IPV6 ? Il me semble aussi avoir lu qu'il ne fallait choisir que IPV4, ce qui pour moi est contradictoire avec la ligne precedente...

Voila les parametres que je peux choisir sur le site de Mullvad pour creer le wg0.conf :

Serveur connection protocol : IPV4 ou IPV6 (j'ai pris IPV4)

Tunnel traffic : both, IPV4 ou IPV6 (1er test avec both, 2eme avec IPV4 seulement)

Custom port : j'ai lu qu'il fallait laisser le port par defaut (51820). On est d'accord que ce port n'a rien a voir avec le port que j'ai ouvert dans "Port forwarding" et que j'ai retranscris dans la partie Transmission de compose ?

Enable kill switch (linux only) : je ne l'ai pas coche

Est-ce que je suis bon sur la creation du fichier wg0.conf ?

EDIT: je me demande si le probleme ne vient pas du DNS, j'avais eu ce genre de probleme avec mon ancien container avec OpenVPN et j'avais du rajouter une ligne a mon compose de Transmission pour lui donner le DNS de Mullvad. Si je fais la meme chose dans mon nouveau compose, Portainer me dit qu'il ne peut pas le deployer car il y a un conflit avec Wireguard, je pense car il y a deja un DNS de specifie dans le fichier wg0.conf. Par contre il ne s'agit pas de l'adresse DNS officielle de Mullvad. Ci-dessous mon wg0.conf anonymise :

Code:
[Interface]
PrivateKey = xxxxxxxx
Address = 10.66.xxx.xxx/32
DNS = 10.64.xxx.xxx
PostUp = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=100.0.0.0/8; HOMENET3=172.16.0.0/12; ip route add $HOMENET3 via $DROUTE;ip route add $HOMENET2 via $DROUTE; ip route add $HOMENET via $DROUTE;iptables -I OUTPUT -d $HOMENET -j ACCEPT;iptables -A OUTPUT -d $HOMENET2 -j ACCEPT; iptables -A OUTPUT -d $HOMENET3 -j ACCEPT  iptables -A OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
PreDown = HOMENET=192.168.0.0/16; HOMENET2=100.0.0.0/8; HOMENET3=172.16.0.0/12; ip route del $HOMENET3 via $DROUTE;ip route del $HOMENET2 via $DROUTE; ip route del $HOMENET via $DROUTE; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -d $HOMENET -j ACCEPT; iptables -D OUTPUT -d $HOMENET2 -j ACCEPT; iptables -D OUTPUT -d $HOMENET3 -j ACCEPT
[Peer]
PublicKey = xxxxxxxx
AllowedIPs = 0.0.0.0/0
Endpoint = 193.32.xxx.xxx:51820
 
Dernière édition:
Hello,

Je up car je souhaite tester Mullvad pour le portforwarding donc ça m’intéresse ;)
@Raskarkapak tu as peut-être déjà trouvé la solution?
Salut,

Oui probleme resolu, je seed a plein regime depuis la semaine derniere (pas le temps de m'en occuper avant). J'arrive a concurrencer des vraies seedbox avec mon petit NAS sur Raspberry et ma connexion fibree a la maison donc ca marche plutot bien ;) J'avais bien un probleme de syntaxe sur mon wg0.conf (du au fait que je dois rajouter un 3eme HOMENET - et pas 4 comme dans mon post plus haut, le reseau en 10.0.0.0 ne servait a rien, j'avais pris cette ligne sur un autre forum - dans mon cas car j'accede a mon NAS et a Transmission a distance via Tailscale).

Dis moi si besoin je peux le publier ici, ainsi que mon docker-compose que j'ai retouche car il y avait d'autres petits problemes. Mais si tu n'utilises pas de VPN pour acceder a ton NAS a distance (Tailscale ou autre) tu peux prendre la commande par defaut avec seulement 2 HOMENET que EVOTk a mis dans son tuto (lien dans le 2eme post)
 
Dernière édition:
Salut,

Oui probleme resolu, je seed a plein regime depuis la semaine derniere (pas le temps de m'en occuper avant). J'arrive a concurrencer des vraies seedbox avec mon petit NAS sur Raspberry et ma connexion fibree a la maison donc ca marche plutot bien ;) J'avais bien un probleme de syntaxe sur mon wg0.conf (du au fait que je dois rajouter un 3eme HOMENET - et pas 4 comme dans mon post plus haut, le reseau en 10.0.0.0 ne servait a rien, j'avais pris cette ligne sur un autre forum - dans mon cas car j'accede a mon NAS et a Transmission a distance via Tailscale).

Dis moi si besoin je peux le publier ici, ainsi que mon docker-compose que j'ai retouche car il y avait d'autres petits problemes. Mais si tu n'utilises pas de VPN pour acceder a ton NAS a distance (Tailscale ou autre) tu peux prendre la commande par defaut avec seulement 2 HOMENET que EVOTk a mis dans son tuto (lien dans le 2eme post)
J’utilise le serveur Wireguard intégré à la Delta pour accéder à mon réseau local 😉
Merci pour ton retour !