• Docker
  • Ouvrir port Transmission/Wireguard

Salut,

Je cherche à ouvrir correctement le port BT, le débit est réduit, je dois être en mode passif.

Transmission est lié à Wireguard via network_mode: service:wireguard, le port Transmission 51413 est bien ouvert côté VPN (51413:51413)

Le port est ouvert sur la box (Freebox Revolution) mais il semble fermé même en local, un nmap localhost -p 51413 fonctionne, mais pas nmap 192.168.1.91 -p 51413
Même chose donc avec un outil externe tel que https://www.yougetsignal.com/tools/open-ports/

J'ai ajouté une règle iptables dans wg0.conf mais sans effet

PostUp = FORWARDEDPORT=51413; iptables -A INPUT -i wg0 -p udp --dport $FORWARDEDPORT -j ACCEPT; iptables -A INPUT -i wg0 -p tcp --dport $FORWARDEDPORT -j ACCEPT;
PreDown = FORWARDEDPORT=51413; iptables -D INPUT -i wg0 -p udp --dport $FORWARDEDPORT -j ACCEPT; iptables -D INPUT -i wg0 -p tcp --dport $FORWARDEDPORT -j ACCEPT;

Docker compose complet généré par docker-autocompose :
https://0bin.net/paste/139KWRHw#MOMFr29Bbwc6WsjtHdKbqdGYYf4AIYHr185WqW0QSjn

Sinon l'essentiel ici :

wireguard:
    image: lscr.io/linuxserver/wireguard
    hostname: ${DOCKERHOSTNAME}
    ports:
      - ${WIREGUARD_SERVER_PORT_51820}:${WIREGUARD_SERVER_PORT_51820}/udp
      - ${TRANSMISSION_PORT_51413}:51413
      - ${TRANSMISSION_PORT_51413}:51413/udp
      - ${TRANSMISSION_PORT_6881}:6881
      - ${TRANSMISSION_PORT_6881}:6881/udp
      - ${TRANSMISSION_PORT_9091}:9091
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    container_name: wireguard
    environment:
      - ALLOWEDIPS=${WIREGUARD_ALLOWED_IPS}
      - INTERNAL_SUBNET=${WIREGUARD_INTERNAL_SUBNET}
      - PEERDNS=${WIREGUARD_PEER_DNS}
      - PEERS=${WIREGUARD_PEERS}
      - PGID=${PGID}
      - PUID=${PUID}
      - SERVERPORT=${WIREGUARD_SERVER_PORT_51820}
      - SERVERURL=${WIREGUARD_SERVER_URL}
      - TZ=${TZ}
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /lib/modules:/lib/modules
      - ${DOCKERCONFDIR}/wireguard:/config
      - ${DOCKERSTORAGEDIR}:/storage
    transmissionwg:
        image: lscr.io/linuxserver/transmission
        container_name: transmissionwg
        environment:
            - PGID=${PGID}
            - PUID=${PUID}
            - TZ=${TZ}
            - TRANSMISSION_WEB_HOME=/transmission-web-control/
            - USER=spider1163
            - PASS=xyz
        volumes:
            - /etc/localtime:/etc/localtime:ro
            - ${DOCKERCONFDIR}/transmission:/config
            - ${DOCKERSTORAGEDIR}:/storage
            - ${DOCKERSTORAGEDIR}/downloads:/downloads
            - ${DOCKERSTORAGEDIR}/downloads/watch:/watch
        depends_on:
            - wireguard
        network_mode: service:wireguard

Bonjour, et bonne année
As tu essayé un truc du genre:

iptables -t nat -A PREROUTING -i interfaceduserveur -p tcp --dport portàforwarder -j DNAT --to ipduclientvpn:portàforwarder

    jean-luc salut,
    Sans succès malheureusement
    sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 51413 -j DNAT --to 172.18.0.9:51413

      spider1163
      Salut,
      C'est pourtant ce que je faisais il y a plusieurs années côté serveur (sous un vps) pour obtenir le test de port ok dans rutorrent installé sur une cubieboard au domicile derrière un vpn (openvpn), et ça fonctionnait. Mais comme je n'utilise plus de vpn depuis pas mal d'années, mais uniquement mon serveur dédié, je n'ai jamais testé wireguard ; mais bizarre que ça ne fonctionne pas de la même façon.
      Je dois d'ailleurs dans les archives du forum avoir des posts sur ce sujet.
      Bon courage, je ne vois pas d'autres solutions.
      Edit: La Grosse différence mis à part le type de vpn, c'est que mon serveur vpn était en dur en non containérisé à l'époque, il est possible que docker overwrite les règles par rapport à du direct.

      un mois plus tard

      Bonjour,

      Pour la règle de pare-feu tu devrais ouvrir sur l'interface physique de la machine et pas celle de l'interface de Wireguard ce qui peut être l'origine du blocage .

      PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0  -j MASQUERADE
      Répondre…