Aller au contenu

Arret Automatique De Downloadstation?


Messages recommandés

Bon, c'était en fait tout simple, afin de ne pas perturber le script ip-down en cas d'erreur sur mes scripts "perso", j'avais inséré dans ip-down mes commandes en fin de script mais en cas d'anomalie sur le lien VPN, le script ip-down n'allait pas jusqu'à la fin de son exécution (et donc ne lançait pas l'arrêt de DLStation). J'ai donc inséré l'appel au script "perso" en début d'exécution d'ip-down et cela fonctionne. j'ai donc à priori à coup sûr, un arrêt de DLStation lorsque le lien VPN ne fonctionne pas et un démarrage du DLStation automatique lorsque la ligne VPN se connecte. J'ai quand même, par souci de sécurité, une tache planifiée qui tourne toutes les minutes pour couper DLStation si besoin (mais vraiment pas sûr que cela soit utile).

Merci et A+

Lien vers le commentaire
Partager sur d’autres sites

Synthèse de la solution mise en oeuvre :

Au final j'ai 4 scripts (certainement possibilité de factoriser). J'ai volontairement enlevé les reconnexions et kill automatiques du VPN (synovpnc)en cas de problème (le service VPN que j'utilise est très stable). Si le répertoire public n'existe pas, il y a juste à le créer. Ne pas oublier de faire un "chmod +x <script>" pour chacun des scripts afin qu'ils soient exécutables.

# 1 - "/volume1/public/DownloadStationStart.sh" dont j'ordonne le lancement depuis le script système "/etc/ppp/ip-up" avec la simple ligne de commande ./volume1/public/DownloadStationStart.sh
# 2 - "/volume1/public/DownloadStationStop.sh" dont j'ordonne le lancement depuis le script  système "/etc/ppp/ip-down" script (en début de script) avec la simple ligne de commande ./volume1/public/DownloadStationStop.sh
# 3 - "/volume1/public/TSK-testVpnForDecoDLStation.sh" dont j'ordonne le lancement par une tâche planifiée toutes les minutes
# 4 - "/volume1/public/TSK-testVpnForRecoDLStation.sh" dont j'ordonne le lancement par une tâche planifiée toutes les heures

Il faut éventuellement modifier la valeur "ppp0" dans les scripts en fonction du protocole VPN que vous utilisez.

CODE DE DownloadStationStart.sh :

#!/bin/ash

# DLStation
DLStation="/var/packages/DownloadStation/scripts/start-stop-status"

#VPN interface
interface_vpn="ppp0"

# Log file
logfile="/volume1/public/vpn.log"

############### START SCRIPT ###################

if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -z "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ];  then
	echo $(date)  ": Interface " $interface_vpn " found" >> $logfile
  
	#VPN Connection is Ok, starting Download station
	echo $(date)  ": DownloadStation starting..." >> $logfile
	$DLStation start
	if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ]; then
		echo $(date)  ": DownloadStation successfully started" >> $logfile
	else
		echo $(date)  ": ERROR, DownloadStation is still OFF" >> $logfile
	fi
fi
exit 0;

 

CODE DE DownloadStationStop.sh :

#!/bin/ash

# DLStation
DLStation="/var/packages/DownloadStation/scripts/start-stop-status"

#VPN interface
interface_vpn="ppp0"

# Log file
logfile="/volume1/public/vpn.log"

############### START SCRIPT ###################

if [ -z "$(ifconfig | grep "$interface_vpn")" ] && [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ]; then
    echo $(date)  ": VPN not started, DS Dodwnload stopping" >> $logfile
    #No VPN, Stop Download station
    $DLStation stop
    
	if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
          echo $(date)  ": ERROR, DownloadStation is still on" >> $logfile
    else
          echo $(date)  ": DownloadStation successfully stopped" >> $logfile
    fi
fi        
exit 0;

CODE DE TSK-testVpnForDecoDLStation.sh :

#!/bin/ash

# DLStation
DLStation="/var/packages/DownloadStation/scripts/start-stop-status"

#VPN interface
interface_vpn="ppp0"

# Log file
logfile="/volume1/public/vpn.log"

############### START SCRIPT ###################

# Test existance interface VPN, DLStation, Ping
if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] && [ -z "$(ping -c 4 -I "$interface_vpn" www.google.fr | grep "64 bytes")" ]; then 
    echo $(date)  ": ISSUE : VPN started, DS Dodwnload started, ping google KO, DLStation stopping..." >> $logfile

    $DLStation stop

    if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
          echo $(date)  ": ERROR, DownloadStation is still ON" >> $logfile
    else
          echo $(date)  ": DownloadStation successfully stopped" >> $logfile
    fi
elif [ -z "$(ifconfig | grep "$interface_vpn")" ] && [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ]; then
    echo $(date)  ": ISSUE : VPN not started, DS Dodwnload started,  DLStation Stopping..." >> $logfile

    $DLStation stop	

    if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
          echo $(date)  : "ERROR, DownloadStation is still ON" >> $logfile
    else
          echo $(date)  ": DownloadStation successfully stopped" >> $logfile
    fi
fi        
exit 0;

CODE DE TSK-testVpnForRecoDLStation.sh :

#!/bin/ash

# DLStation
DLStation="/var/packages/DownloadStation/scripts/start-stop-status"

#VPN interface
interface_vpn="ppp0"

# Log file
logfile="/volume1/public/vpn.log"

############### START SCRIPT ###################

# Test existance interface VPN, DLStation, Ping
if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -z "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] && [ -n "$(ping -c 4 -I "$interface_vpn" www.google.fr | grep "64 bytes")" ]; then 
    echo $(date)  ": VPN started, DS Dodwnload stopped, ping google OK, DLStation Starting..." >> $logfile

    $DLStation start

    if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
          echo $(date)  ": DownloadStation successfully started" >> $logfile
    else
          echo $(date)  ": ERROR, DownloadStation is still stopped" >> $logfile
    fi

fi        
exit 0;

 

Lien vers le commentaire
Partager sur d’autres sites

Pour la boucle infinie, tu as entièrement raison, c'est une possibilité. J'ai fait le choix de partir sur une tache planifiée car je ne suis pas fan d'un ping en continue vers google.com et que je suis assez convaincu que le déclenchement par ip-down est suffisant.

D'autre part, je ne fais pas d'exec toutes les minutes du dernier script. Le premier (TSK-testVpnForDecoDLStation.sh) tourne bien toutes les minutes, je l'ai mis en place en cas d'anomalie sur la ligne VPN qui n'engendrerait pas d'ip-down et qui pourrait faire basculer DLStation sur la route avec mon IP Publique, c'est très peu probable que ce cas de figure se présente mais j'ai décidé par sécurité de le mettre en place (d'autant que l'interface VPN elle-même met bien 45 secondes à se rendre compte d'une anomalie sur la ligne avant de se déconnecter - testé en déconnectant la ligne ADSL chez moi). Le second script (TSK-testVpnForRecoDLStation.sh) tourne toutes les 2 heures (et non toutes les minutes), plutôt au cas ou le VPN remonte (ou que je l'ai relancé manuellement) et que DLStation ne s'est pas relancé pour je ne sais quelle raison (ce dernier n'est surement pas nécessaire non plus mais il ne coûte pas grand chose...).

Merci !

Modifié par kcahna
Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

Bonjour,

Je débute dans le paramétrage de mon NAS.

J'ai mis en place un openVPN pour utiliser DLStation.

J'ai appliqué la méthode de kcahna, en remplaçant dans les scripts

#VPN interface

interface_vpn="ppp0"

par

#VPN interface

interface_vpn="tun0" (il me semble que c'est ce qu'il faut mettre en regardant les autres scripts)

 

Je teste et rien ne se passe.

Le fichier vpn.log n'est pas modifié lors de la connexion/déconnexion du VPN.

J'ai l'impression que DownloadStationStart et DownloadStationStop ne s'exécute pas.

 

le début de mon fichier /etc/ppp/ip-down :

#!/bin/sh
./volume1/public/DownloadStationStop.sh

Et le début de mon fichier /etc/ppp/ip-up :

#!/bin/sh
./volume1/public/DownloadStationStart.sh

 

J'ai pensé que comme je suis en OpenVPN, il ne fallait pas le mettre dans "ppp" mais je ne sais où lancer les 2 scripts.

 

Est-ce que vous auriez une idée svp ?

Merci d'avance.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans après...

Bonjour à tous,

Je commence seulement à jouer et utiliser mon NAS (présent sur le forum depuis quelques jours) et je ne connais encore que très peu de chose.

Cependant je souhaite utiliser mon NAS pour télécharger des torrents via 'Download Station' en utilisant un VPN biensure.

J'ai testé le tout manuellement, connexion à mon VPN, vérification de mon IP avant de lancer un DL et tout est ok.

Mais je ne peux rester devant mon interface durant les DL pour m'assurer que ma connexion VPN ne tombe pas.

J'ai lu l'ensemble de la discussion sur le sujet, je pense avoir compris l'idée et la solution à ma question se trouve probablement bien ici.

Cependant, j'avoue être complètement perdu pour la mise en place. Et puis, est-ce que cette solution est toujours d'actualité ?

Je possède un NAS DS416 et je suis sur la version DSM 7.0.1-42214.

D'avance, merci pour votre aide.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Salut à tous,

Richard je me suis posé la même question que toi et en cherchant un peu des idées je suis tombé sur cet article : https://www.numetopia.fr/comment-activer-et-configurer-le-firewall-du-synology/

Pour ma part j'ai créé une règle dans le par-feu pour bloquer toutes les connexions entrantes/sortantes de l'application BT sur l'interface LAN. 

J'ai également créé une règle sur l'interface VPN pour autoriser toutes les connexions de l'application BT.

Pour avoir fait le test, dès que je déconnecte mon VPN, les fichiers arrêtent d'être téléchargés et partagés. Dès que j'ai remis la connexion VPN tout a repris son cours normalement.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...
Le 22/11/2021 à 17:12, Capitaine Krabs a dit :

Salut à tous,

Richard je me suis posé la même question que toi et en cherchant un peu des idées je suis tombé sur cet article : https://www.numetopia.fr/comment-activer-et-configurer-le-firewall-du-synology/

Pour ma part j'ai créé une règle dans le par-feu pour bloquer toutes les connexions entrantes/sortantes de l'application BT sur l'interface LAN. 

J'ai également créé une règle sur l'interface VPN pour autoriser toutes les connexions de l'application BT.

Pour avoir fait le test, dès que je déconnecte mon VPN, les fichiers arrêtent d'être téléchargés et partagés. Dès que j'ai remis la connexion VPN tout a repris son cours normalement.

Salut !

 

après avoir poncer tous les articles et essayer les ports dans le pare feu du syno, moi ça ne fonctionne pas ... du moins je dois merder kkes part ...

t'aurais 2/3 screen à me montrer stp ? 

 

merci beaucoup 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
Le 21/07/2023 à 11:06, kingkong32 a dit :

Salut !

 

après avoir poncer tous les articles et essayer les ports dans le pare feu du syno, moi ça ne fonctionne pas ... du moins je dois merder kkes part ...

t'aurais 2/3 screen à me montrer stp ? 

 

merci beaucoup 

Salut je me suis reconnecté par hasard  et je viens de voir ton message.

CI-dessous un screen des régles qui sont appliqués pour l'interface LAN

image.thumb.png.1747189bbc67728577fdf9a628f29fac.png

 

En espérant que ça puisse t'aider.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois après...

Bonjour

 

je rebondis sur le dernier message de @Capitaine Krabs, merci de toutes tes infos, beaucoup plus simple qu'un killswitch que je n'arrive pas du tout à paramétrer 😉

en revanche, ca fonctionne pour moi pour le téléchargement mais cela continue à partager... pourtant j'ai fait comme toi ?

Toi ou quelqu'un d'autre pourriez vous m'aider ? et pourquoi fais tu deux règles ? une pour BT et EMULE et une autre juste pour BT ?

merci par avance pour votre aide à tous 😉 je souhaite juste évidement bloquer le partage de mon nas quand le vpn saute! je viens d'avoir une petite amende de l'ARCOM...:(

SI je crée une règle qui bloque "TOUT" sur LAN et rien en VPN, cela peut marcher ou cela va m'empêcher de me connecter à mon NAS le temps de renouveler le certificat ?

tres belle journée à tous

Gelesty

 

 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.