Qnap [TUTO] - Container Station - Transmission via VPN par Haugene

Merci à Feudor !
Bon va falloir que je réessaye, c'est obligé !

Je suis parti sur une debian en VM, mais je me suis cassé les dents sur pas mal de choses :lol:

Du coup, là j'en étais à essayer Download station et QVPN... en client.
Je vais tester un peu.

Dès que j'ai un peu plus de temps, je teste le container !
 
Tiens je viens de remarquer que pas besoin du proxy pour ma part, LOCAL_NETWORK fait le boulot. J'ai essayé avec et sans c'est ok, selon les cas j'imagine.
 
J'ai réussi à mettre en place QVPN + DS.
Je me suis rendu compte que si je ne cochais pas :
O6Sp9mS.png

Je n'avais pas moyen de télécharger via DS.
Pourtant, j'ai plutôt l'impression que cette option "impose" de passer le traffic du NAS sur le VPN. Ou je me trompe ?

Du coup, j'ai coché l'option. Par contre, comment être sûr que uniquement le traffic de DS passe bien dans le VPN et rien d'autre ?
(j'ai d'autres applis qui tournent et je voudrais être que ce soit bien le cas).

Y a moyen de forcer par exemple, le VPN sur une adresse IP donnée (j'ai un 453 via le commutateur virtuel par exemple) ?
 
Attention si tu utilises cette case en effet tout passera par la :eek:
Si tu veux QUE DS, dans l'AppCenter, sur la flèche de DL, tu peux choisir sur quelle connexion tu veux lancer DS. Si tu ouvres le vpn dans QVPN avant, tu verras une ligne avec l'IP de ton VPN.
 
Mikiya a dit:
C'est parfait merci ! Je bataillais avec le GUI de Container Station mais en ssh c'est beaucoup mieux merci :) Je sais pas pourquoi j'y ai pas pensé :oops:
Du coup j'ai remis Transmission via VPN plutôt que Download Station, il est bien mieux (plus souple, paramétrable).
La seule chose qui m'a posé soucis la c'était que dans le .ovpn il est spécifié auth-user-pass et du coup ça foirait l'authentification. Sans c'est bon !

Du coup tu as retiré la ligne auth-user-pass dans le fichier ovpn c'est ça ?

Mikiya a dit:
Oui, à tes options j'ai rajouté les variables PUID et PGID d'un user limité, pour éviter de tourner Transmission en root.
Il faut faire gaffe à ce que certaines options du OPENVPN_OPTS soient pas en conflit avec des options du .ovpn sinon il les prend pas.
Enfin pour le lancement je sais pas pourquoi ça se connectait pas après le reboot, donc j'utilise pas le restart de container station, j'ai fais un script au boot le "docker run ..."

Ça tourne au poil :cool:

Tu as mis un user du NAS c'est bien ça ? (pas un user du container ?).
Et tu as fait ton script de boot automatique du container comment du coup ?

Enfin, moi le container ne démarre pas.
En console :

jVny4JI.png


pour cette commande :

Code:
docker run --privileged -d \
-v /CHEMIN/VERS/DOSSIER/DATA/:/data \
-v /Download/Completed/:/data/completed \
-v /Download/Incomplete/:/data/incomplete \
-v /Download/ConfigVPN/ra4wvpn-nl-amsterdam-udp-1194.ovpn:/etc/openvpn/custom/default.ovpn \
-e "OPENVPN_PROVIDER=CUSTOM" \
-e "OPENVPN_USERNAME=monlogin" \
-e "OPENVPN_PASSWORD=monpass" \
-e "TRANSMISSION_PORT_FORWARDING_ENABLED=true" \
-e "TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true" \
-e "TRANSMISSION_RPC_ENABLED=true" \
-e "TRANSMISSION_RPC_USERNAME=monlogin" \
-e "TRANSMISSION_RPC_PASSWORD=monpassword" \
-e "TRANSMISSION_BLOCKLIST_ENABLED=true" \
-e "TRANSMISSION_BLOCKLIST_URL=http://john.bitsurge.net/public/biglist.p2p.gz" \
-e "OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60" \
-e "LOCAL_NETWORK=192.168.2.0/24" \
-p 9091:9091 \
--dns 50.116.40.226 \
--dns 104.238.153.178 \
--restart=always \
--name Transmission-OpenVPN_Perso \
haugene/transmission-openvpn

Du coup, j'ai fouillé sur le github, j'ai modifié mon script et j'ai fait la séquence proposée pour Syno.

https://github.com/haugene/docker-transmission-openvpn

Je me suis arrêté avant le system.d integration et le point pour faire ce démarrage auto après un restart du nas...
mais quand je lance mon script avec le docker run suivant (j'ai ajouté le .conf), toujours pareil, même souci.

To make it work after a nas restart, create an automated task in your synology web interface : go to **Settings Panel > Task Scheduler ** create a new task that run /volume1/foldername/TUN.sh as root (select 'root' in 'user' selectbox). This task will start module that permit the container to run, you can make a task that run on startup. These kind of task doesn't work on my nas so I just made a task that run every minute.
Enjoy

x8UhDZ7.png


PXRBark.png
 
Oui je l'ai commenté et j'utilise --auth-user-pass FILE vers un fichier avec mes identifiants dans OPENVPN_OPTS (en montant le chemin vers le fichier en volume avec -v avant), ainsi que celles de ping et ping restart éventuelles (je préfère le gérer dans la variable OPENVPN_OPTS avec le ping exit).
Je pense que du coup on peut mettre n'importe quoi dans OPENVPN_USERNAME et OPENVPN_PASSWORD vu qu'il lit le fichier.


edit : en gros ma conf actuelle :

Code:
docker run --privileged -d \
-v /share/Download/transmission:/data \
-v /share/Download/transmission/completed:/data/completed \
-v /share/Download/transmission/watch:/data/watch \
-v CHEMIN_VERS_LE_OVPN:/etc/openvpn/custom/default.ovpn \
-v CHEMIN_VERS_LE_FICHIER_CLE:/etc/openvpn/custom/conf.secret \
-e "OPENVPN_PROVIDER=CUSTOM" \
-e "OPENVPN_USERNAME=USER" \
-e "OPENVPN_PASSWORD=PASSWORD" \
-e "TRANSMISSION_PORT_FORWARDING_ENABLED=true" \
-e "TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true" \
-e "TRANSMISSION_RPC_ENABLED=true" \
-e "TRANSMISSION_RPC_USERNAME=USER_RPC" \
-e "TRANSMISSION_RPC_PASSWORD=PASSWORD_RPC" \
-e "TRANSMISSION_BLOCKLIST_ENABLED=true" \
-e "TRANSMISSION_BLOCKLIST_URL=\"http://list.iblocklist.com/?list=ydxerpxkpcfqjaybcssw&fileformat=p2p&archiveformat=gz\"" \
-e "TRANSMISSION_DHT_ENABLED=false" \
-e "TRANSMISSION_LPD_ENABLED=false" \
-e "TRANSMISSION_PEX_ENABLED=false" \
-e "TRANSMISSION_UTP_ENABLED=false" \
-e "OPENVPN_OPTS=--auth-user-pass /etc/openvpn/custom/conf.secret --inactive 3600 --ping 10 --ping-exit 60" \
-e "LOCAL_NETWORK=192.68.1.0/24" \
-e "PUID=PID_USER_DEDIE" \
-e "PGID=GID_GROUPE_USER" \
-p 9091:9091 \
--dns 8.8.8.8 \
--dns 8.8.4.4 \
--restart=always \
--name Transmission-OpenVPN_Perso \
haugene/transmission-openvpn
 
OK du genre auth.txt en plus dans le ovpn.
Bon du coup, je bloque sur autre chose... j'ai édité mon message.

Merci pour ton aide !
 
Alors :

- Oui le user est un user du NAS (avec rien comme droits si ce n'est accéder à Download)

- Le script ressemble à ça :
boot_docker.sh :
Code:
#!/bin/sh
PATH=$PATH:/share/CACHEDEV1_DATA/.qpkg/container-station/bin/
sleep 300
docker rm $(docker ps -a -q)
sleep 5
sh CHEMIN_DU_NAS/docker_transmission
avec docker_transmission un fichier qui contient la commande docker.
Il est lancé depuis un autorun.sh :
Code:
#!/bin/sh
sh CHEMIN_DU_NAS/boot_docker.sh&
avec l'astuce de fausse appli autorun : http://techlightup.blogspot.fr/2013/08/qnap-automatically-run-script-at-startup.html
Tu dois pouvoir le faire aussi avec Bashit comme appli.
Dans Container Station, je n'active pas l'auto start du coup.

- Pour le problème du TUN/TAP, as-tu QVPN d'installé et activé (même sans conf) ? Je l'ai, je sais pas si c'est lié...
 
Pour TUN/TAP, j'avais eu ce problème aussi, il faut effectivement que QVPN (ou un autre) soit installé !
 
Bein je l'ai oui, vu que j'ai même configuré un client avec un fichier ovpn déjà (peut être c'est justement le fait de déjà avoir un client configuré ?)
 
Oui essaye sans avoir de client connecté dans QVPN.
Pour ma part il est la pour le TUN/TAP mais sans être "utile" sinon.
 
Bonjour
Je ne dois pas être bien reveillé mais le tuto il est ou, j'ai bien le début mais... :cry:
Merci de votre aide :oops:
 
Bonjour
Il faut encore le mettre en forme ...
Pour résumer, en plus du début il faut
- Installer QVPN
- Adapter et lancer cette commande en shell ssh : https://www.forum-nas.fr/viewtopic.php?f=55&t=6537&start=10#p45939
(En l'adaptant selon ton provider, si il est référencé la : https://github.com/haugene/docker-transmission-openvpn#transmission-with-webui-and-openvpn c'est encore plus simple, tu donnes le nom, tu n'as pas besoin de fournir le fichier ovpn comme expliqué sur le wiki la bas. Sinon, bien vérifier qu'il n'y a pas de conflit entre le fichier ovpn et les options OPENVPN_OPTS, sur le ping et le auth-user-pass notamment).
- Pour le reboot auto, essayer d'activer l'auto start dans container station (un container devrait être visible en vert si l'étape 2 a bien marché), sinon moi j'ai fais un script ainsi : https://www.forum-nas.fr/viewtopic.php?f=55&t=6537&start=20#p46146

Comme tu vois c'est encore un peu "brute de pomme", si tu t'y connais un peu ça le fait, sinon faut attendre un peu que le tuto se mette au propre (bien que sur l'étape 2, l'adaptation de la ligne de commande restera propre à chacun selon sa conf torrent et vpn).
 
Bon, je dois être bête... mais je ne vois pas !
J'ai bien QVPN d'installé. J'ai tenté de désactiver tous les clients que j'avais déjà mis en place pour tester, idem sur la partie serveur car je présume qu'elle ne sert à rien.

Mais je me retape --dev ; please define TUN/TAP interface...

Code:
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
Options error: You must define TUN/TAP device (--dev)                                                                                                           
Use --help for more information.                                                                                                                                
Using OpenVPN provider: CUSTOM                                                                                                                                  
No VPN configuration provided. Using default.                                                                                                                   
Setting OPENVPN credentials...                                                                                                                                  
adding route to local network 192.168.2.0/24 via 10.0.3.1 dev eth0                                                                                              
Options error: You must define TUN/TAP device (--dev)                                                                                                           
Use --help for more information.

Côté QVPN :

J'ai tenté avec le statut serveur activé, marche pas.

rBwWXAa.png
ou sans activé, pareil.

Bref, là j'avoue...
 
Hum ... Alors en plus de Container Station et QVPN, niveau switch virtuel, j'ai aussi Linux Station sauf qu'il est désactivé alors bon...à voir si ça t'aide :?

PS : t'es dans quelle version ?
 
Arf, mon switch virtuel est un gros boxon !!! :D
:lol:

zXZ6WHe.png


En fait en voulant faire le ménage, je crois que je n'ai pas aidé.
Du coup, j'avais tout mis à zéro.

J'ai un jeedom et l'accès NAS. la VM Debian était là pour test.

S'il faut mon problème est là.

Mon NAS a 4 prises ETH.
J'en utilise deux en IP fixe.
Une en 239, l'autre en 240.

Je voulais mettre tout ce qui était virtuel sur une IP donnée (Jeedom, Transmission etc) sur la .240.
Et laisser la .239 pour tout le reste (accès distant de QNAP etc).

Mais quand je veux paramétrer le switch virtuel du 240, je n'ai rien pour container station...

Y6ctxAb.png


EDIT : en regardant du côté de container station, rien sur la partie réseau. Bref, je sèche.

Qbn7rsL.png
 
Ok, Merci, bah je crois que je vais attendre la version finale, pas ce que la je nage pas mal :lol:

Merci de ta réponse
 
Bon alors j'ai parfois rencontré ton erreur de TUN/TAP aussi aléatoirement avec mon script la au boot, mais en refaisant un lancement ça passait ... D'où ma V2 du script, plus "robuste" disons à ce petit soucis :evil:

Code:
#!/bin/sh
PATH=/share/CACHEDEV1_DATA/.qpkg/container-station/bin:/share/CACHEDEV1_DATA/.qpkg/container-station/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin

# Au boot pour laisser le temps au reste de se lancer proprement
sleep 600

noDocker=true

while test "$noDocker" != false
do
	# Couper tous les anciens dockers (je n'ai que transmission)
	docker rm -f $(docker ps -a -q)
	sleep 10
	
	# Lancer transmission
	sh /share/homes/Yoann/docker_transmission
	
	#Vérifier le bon lancement du docker, sinon on attend et on retente sa chance
	sleep 60
	docker ps --filter status=running|grep -q "transmission"
	
	if [ $? = 0 ]
	then
		noDocker=false	
	else
		sleep 300
	fi
done

Pour info, mon switch virtuel est comme ça :