Aller au contenu

Checker Si Le Vpn Est Up Sur Nas Synology?


Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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"

Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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é par darphboubou
Lien vers le commentaire
Partager sur d’autres sites

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" ?

Lien vers le commentaire
Partager sur d’autres sites

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é par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

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?

Lien vers le commentaire
Partager sur d’autres sites

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é par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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:

ocRUwQR.png

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é par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

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".

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.