darphboubou Posté(e) le 7 mai 2014 Partager Posté(e) le 7 mai 2014 Bonjour, Ne connaissant absolument rien au monde linux, je cherche un peu partout sur le net une solution me permettant de checker si le vpn (openvpn) est up sur mon NAS. En effectuant un ifconfig, je me suis aperçu qu'une ligne tun0 apparaissait avec une adresse ip correspondant à l'adresse de ma connexion VPN. Comment puis-je utiliser, cette information dans un script (associé a un cron qui l'executera toutes les X minutes) qui me permettra d'arreter le service transmission si le vpn est down. J'ai trouvé ceci sur le net qui si je comprends bien , renvois le un message stipulant si la connexion tun et up ou down #!/bin/bash arg=$(ls /dev/net/tun >>/dev/null; echo $?) if [ "$arg" == "2" ] then echo it's not there else echo it's there fi je dois avouer que je ne comprend pas vraiment ce que fait cette ligne arg=$(ls /dev/net/tun >>/dev/null; echo $?), redirige t elle le resultat vaire un fichier apelé null? Merci d'avance pour votre aide 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 7 mai 2014 Auteur Partager Posté(e) le 7 mai 2014 je crois que j'ai trouvé mieux, j'aimerai faire unt test sur la commande suivante via un if en gros si ifconfig | grep "tun0" est nul alors le vpn est down dans ce cas j'arrete le daemon transmission (sudo service transmission-daemon start|stop) Quelqu'un pourrait-il m'aider a mettre en forme (sous forme de script), mon idée svp. Merci d'avance 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 Le script pourrait ressembler à ceci: #!/bin/ash PATH=/bin:/usr/bin:/sbin:/usr/sbin if ifconfig | grep -q "^tun0" ; then <ta commande ici> fi Par contre je suis tres perplexe sur la commande sudo service transmission-daemon start|stop D'une part il n'y pas de sudo sur DSM, et dans tous les cas autant exécuter directement le script sous le compte "root" Ensuite je ne sais pas ce qu'est ce "transmission" mais ça m'étonnerait fort que son arrêt/démarrage se fasse par la commande "service" (cette dernière n'existant pas non plus sous DSM). Tu es bien sur de la fiabilité des sources de tes informations? Petite remarque HS en passant: il me semble deviner que tu utilise le client VPN, non pas pour sécuriser des transferts inter site, mais pour des raison d'"anonymité". Au cas ou tu l'ignorerai sache que le firewall DSM ne gère pas l'interface VPN et que par conséquent, une fois la connexion établie, ton appareil se retrouve "a poil" sur internet: tous ses ports deviennent accessible (même si ils sont filtrés sur ta box). Attention à bien le sécuriser et surtout d'observer régulièrement le moindre comportement suspect. #!/bin/bash Il n'y a pas de bash sur DSM 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 ok, merci pour toutes c'est info, qui vont m'etre tres utiles, connait tu la commande permettant de demarrer ou arreter des applications sous DSM? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 autre question pourquoi intégrer cette ligne PATH=/bin:/usr/bin:/sbin:/usr/sbin dans le script, cela signifie t-il que mon script doit etre enregistré dans un de ces chemins? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 connait tu la commande permettant de demarrer ou arreter des applications sous DSM? Ca dépend de l'application! Par exemple, depuis DSM5, synoservicecfg (/usr/syno/sbin/synoservicecfg) est utilisé pour la majorité des service natifs. "synoservicecfg --list" pour en afficher la liste. Ensuite chaque appli est différentes Pour les packages c'est souvent "/var/packages/<nom_du_package>/scripts/start-stop-status" à invoquer avec le parametre "stop" ou "start" 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 autre question pourquoi intégrer cette ligne PATH=/bin:/usr/bin:/sbin:/usr/sbin dans le script, *Toujours* spécifier le PATH dans un script, sous peine de dépendre du contenu de cette variable au moment de l'appel, chose qu'on ne maîtrise pas toujours (en cron/gestionnaire de taches par exemple). Si tu ne fait pas ça, suivant le contexte de son exécution il y a des chances qu'il ne parvienne pas à localiser "ifconfig" (qui est dans /usr/bin) et d'afficherle message d'erreur: ifconfig: not found cela signifie t-il que mon script doit etre enregistré dans un de ces chemins? Nullement: la déclaration de PATH *dans* le script sert au shell à localiser les commandes que contient ce dernier et pas à localiser le script lui même (que tu peux toujours invoquer en spécifiant son chemin complet) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 Le script pourrait ressembler à ceci: #!/bin/ash PATH=/bin:/usr/bin:/sbin:/usr/sbin if ifconfig | grep -q "^tun0" ; then <ta commande ici> fi complété et corrigé (mauvaise branche du "if" pour VPN actif): #!/bin/ash PATH=/bin:/usr/bin:/sbin:/usr/sbin if ifconfig | grep -q "^tun0" ; then echo >&2 "VPN UP" else echo >&2 "VPN Down" ta_commande_ici fi 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 (modifié) ok merci beaucoup, je vais encore abuser de toi une derniere fois normalement j'ai créé un répertoire scripts dans usr/local/scripts/ ainsi qu'un batch toto.sh Lorsque je tente de lancer le script avec cette commande ./ toto.sh, j'ai un permission denied (-ash: ./: Permission denied). Pour info j'ai effectué un chmod 777 sur le répertoire et le script. Serais tu d'ou cela peut venir? Modifié le 8 mai 2014 par darphboubou 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 Petite remarque HS en passant: il me semble deviner que tu utilise le client VPN, non pas pour sécuriser des transferts inter site, mais pour des raison d'"anonymité". Au cas ou tu l'ignorerai sache que le firewall DSM ne gère pas l'interface VPN et que par conséquent, une fois la connexion établie, ton appareil se retrouve "a poil" sur internet: tous ses ports deviennent accessible (même si ils sont filtrés sur ta box). Attention à bien le sécuriser et surtout d'observer régulièrement le moindre comportement suspect. Je réalise soudain en relisant ma remarque, qu'en plus d'être HS, il est possible qu'elle ne s'applique pas ici si il est question du VPN "serveur" (et pas client) comme j'en ai le doute. Si c'est bien le cas, tu peux oublier donc ce que j'ai dit juste. j'ai créé un répertoire scripts dans usr/local/scripts/ ainsi qu'un batch toto.sh Lorsque je tente de lancer le script avec cette commande ./ toto.sh, j'ai un permission denied. Pour info j'ai effectué un chmod 777 sur le répertoire et le script. Tu ne fais pas les choses a moitié dis-donc! (chmod +x suffit, juste ajouter le droit d'exécution) Serais tu d'ou cela peut venir? Tu as utilisé quel éditeur pour créer ce script? peux tu montrer le résultat des commandes: ls -l /usr/local/scripts/toto.sh head -1 /usr/local/scripts/toto.sh Lorsque je tente de lancer le script avec cette commande ./ toto.sh, j'ai un permission denied (-ash: ./: Permission denied). N'aurais-tu pas conservé l'espace (qui est présent dans ton message) entre "./" et "toto.sh" ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 oui s'était bien l'espace, merci beaucoup, bon bah il me reste plus qu'a l'intégrer dans un cron, chose que je ne sais pas faire. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 oui s' 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 lol je savais meme pas qu'elle avait un planicateur de tache je vais regarder ca 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 je savais meme pas qu'elle avait un planicateur de tache Il est accessible par le panneau de configuration 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 par contre je ne peux pas le programmer pour qu'il s'execute toutes les minutes via le planificateur de tache de dsm 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 (modifié) par contre je ne peux pas le programmer pour qu'il s'execute toutes les minutes via le planificateur de tache de dsm C'est exact, intervalle limité à une heure. Mais j'avoue aussi ne pas comprendre ce que tu veux faire. Je suis parti à la pêche aux informations et j'ai découvert que "transmission" était un client bittorrent (pourquoi ne pas utiliser celui intégré au Syno ?) En quoi peut-il être impacté par la présence ou pas du serveur VPN? Et si au contraire il s'agit du VPN *client*, à moins d'avoir redirigé les ports dans ta box, quand le lien VPN tombe le client bittorrent deviendra simplement inaccessible de l'extérieur, dans quel but l'arréter en plus? Modifié le 8 mai 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 alors j'utilise transmission car avec sick beard, il me permet d'automatiser mes telechargements de serie. Apres le vpn c'est pour m'assurer que mon provider internet ne vois pas ce que je telecharge. Si le vpn tombe sur mon syno les telechargement continue quand même et cette fois mon provider peut savoir ce que je telecharge non? autre question j'ai fait vi /etc/crontab #minute hour mday month wday who command * * * * * root /usr/local/scripts/test.sh puis enregistré en faisant :wq pourtant lorsque je redemarre mon nas pour que le job cron se recharge en memoire, la ligne ajouter dans la crontab disparait. Pourquoi? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 ca fonctionne youpie, TH=/bin:/usr/bin:/sbin:/usr/sbin if ifconfig | grep -q "^tun0" ; then echo >&2 "VPN UP" else echo >&2 "VPN Down" /var/packages/transmission/scripts/start-stop-status stop fi Merci bcp 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 la crontab est-elle ecrasé a chaque redemarrage du nas? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 (modifié) Si le vpn tombe sur mon syno les telechargement continue quand même et cette fois mon provider peut savoir ce que je telecharge non? Un peu useless cette parano: ton provider a d'autre chats à fouetter que surveiller ce que tu télécharges. Enfin, la n'est pas la question; si il s'agit du VPN *serveur* (comme tu n'a toujours pas précisé, suis bien obligé de prendre en compte les deux hypothèses) , alors qu'il soit UP ou down n'a *strictement aucun* impact sur le téléchargement qui passera directement par ta box dans les deux cas. Si au contraire il s'agit du Package VPN *client* (avec tous les risques en terme de sécurité que j'ai tenté d'expliquer), si il tombe (à moins que si tu ais ouvert les ports torrent dans ta box vers le Syno, mais j'imagine pas que ce soit le cas: ca serait inutile et stupide en utilisant un client VPN) ton client bittorrent va simplement instantanément devenir invisible sur internet (puisqu'il ne sera pas capable d'accepter de connexion entrantes), c'est tout. En fait, j'ai l'impression que tu ne comprend pas très bien le fonctionnement du VPN et ne fait pas la distinction entre serveur et client. Je serai pas même étonné que tu ai cru qu'activer OpenVPN serveur sur le NAS permettrait de te rendre anonyme et invisible alors que ce n'est absolument pas le cas! Modifié le 8 mai 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 Pour repondre à ta question il s'agit du vpn client., et j'avoue que tes propos me laisse perplexe. Je pensais que le vpn client me permettait l'anonymat et par effet rebond, empêchait qui que ce soit de voir si je download ou upload des données. Au niveau du parefeu de ma box je n'est pas fait de redirection. Donc si je comprend bien, si je perd la connexion vpn, mon client torrent ne permettra pas le seed. J'avais cru comprendre sur d'autre post que le client se rabattait sur la connexion existante en cas de perte de la connexion VPN. J'ai du mal lire 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 mai 2014 Partager Posté(e) le 8 mai 2014 (modifié) Pour repondre à ta question il s'agit du vpn client., et j'avoue que tes propos me laisse perplexe. Je pensais que le vpn client me permettait l'anonymat et par effet rebond, empêchait qui que ce soit de voir si je download ou upload des données. Mais c'est *exactement* ce que j'ai écrit, c'est le VPN *Serveur* (celui qui s'installe sous forme de package) au contraire qui ne sert pas à l'anonymat. Alors que toi, tu utilises le VPN *client* que tu as donc configuré comme ceci: Au niveau du parefeu de ma box je n'est pas fait de redirection. Donc si je comprend bien, si je perd la connexion vpn, mon client torrent ne permettra pas le seed. J'avais cru comprendre sur d'autre post que le client se rabattait sur la connexion existante en cas de perte de la connexion VPN. Il va juste *essayer* de se rabattre sur la connexion existante, mais comme rien n'est redirigé dans ta box il sera de fait coupé du monde pour les connexions entrantes. Modifié le 8 mai 2014 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 8 mai 2014 Auteur Partager Posté(e) le 8 mai 2014 okkkkkkkkk, je comprend mieux autant pour moi, merci pour cette mise a niveau . 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darphboubou Posté(e) le 9 mai 2014 Auteur Partager Posté(e) le 9 mai 2014 Ma question du jour tu peux me dire comment fonctionne écho>&2 dans la condition. Je ne comprend pas son fonctionnement 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 9 mai 2014 Partager Posté(e) le 9 mai 2014 Ma question du jour tu peux me dire comment fonctionne écho>&2 dans la condition. Je ne comprend pas son fonctionnement le formalisme ">&2" sert à rediriger la sortie (de "echo" ici ) vers la sortie d'erreur plutôt que vers la sortie standard. C'est une bonne habitude à prendre de distinguer ainsi les messages d'info et de diagnostic des données. Par exemple, en adoptant cette approche, dans le cas d'un "pipe" les messages d'erreur resteront visibles à l'écran (ou dans le log dans le cas d'un batch) plutôt que se perdre dans le "tuyau". 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.