Aller au contenu

Arret Automatique De Downloadstation?


argenos

Messages recommandés

Salut,

J'utilise actuellement Download station avec un VPN, Open VPN.

J'ai un Synology DS213+

Je voulais savoir s'il y avait un moyen de faire en sorte que, si pour une raison ou pour une autre, la connexion au VPN se coupe, alors le DownloadStation se desactive, ou tous les telechargements se mettent en pause.

Merci d'avance pour vos suggestions.

a+

Argenos

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Apres quelques recherches, et surtout en adaptant le script de E-Raw dans son j'ai obtenu le script suivant.

Ca a l'air de fonctionner pas trop mal (en apparence) mais, etant tout a fait debutant dans ce domaine, je vous laisse le commenter. N'hesitez pas a me dire si quelque chose cloche.

#!/bin/ash

# Ce script sert a activer ou desactiver DownloadStation si une connexion VPN est active ou non.

#VPN interface
interface="tun0"

#Chemin DownloadStation
DLStation="/var/packages/DownloadStation/target/scripts/S25download.sh"

#commande ifconfig
ifconfig="/sbin/ifconfig"

#Test de la presence de la connexion VPN
if [ -n "$($ifconfig | grep "$interface")" ]
then
	
#La connexion VPN est active on lance DownloadStation
ash $DLStation start>/dev/null 2>&1

else

#La connexion VPN n'est pas active on stoppe DownloadStation et on en laisse une trace dans un log
ash $DLStation stop>>/usr/local/scripts/DLStation.log 2>&1

fi
exit 0;

Merci

a+

Argenos

Lien vers le commentaire
Partager sur d’autres sites

  • 11 mois après...
  • 4 semaines après...

Bonjour,

Voici un script que j'ai fait cette nuit. Il permet de gérer les règles du firewall, la connexion et reconnexion au vpn lorsque celui-ci est down et à l'arrêt du scheduler de download station tant que le VPN n'est pas up.

Je viens juste de le finir et il semble tourner correctement après les premiers tests. N'hésitez pas à me dire si il y'a quelque chose qui cloche.

#!/bin/ash

# script for managing firewall, VPN connection and Download station scheduler #
#
# iptables binary path
iptables="/sbin/iptables"

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

#VPN interface
interface_vpn="tun0"

# Log file
logfile="/root/vpn.log"

# TCP port authorized
vpn_tcp_port=22,5001,45025

# UDP port authorized
vpn_udp_port=

# OpenVPN configuration
openvpn_confid=o1377495440
openvpn_configname=IPredator

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

# Is there a VPN connection ?
if [ -z "$(ifconfig | grep "$interface_vpn")" ]; then
    echo $(date)  ": VPN not started" >> $logfile
    #No VPN, No Download station
    $DLStation stop
    if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
        echo $(date)  ": ERROR, DownloadStation is always on :/" >> $logfile
    else
        echo $(date)  ": DownloadStation is stopped" >> $logfile
    fi
    # Trying to start VPN connection
    echo $(date)  ": Trying to start VPN connection..." >> $logfile
    echo conf_id=$openvpn_confid > /usr/syno/etc/synovpnclient/vpnc_connecting
    echo conf_name=$openvpn_configname >> /usr/syno/etc/synovpnclient/vpnc_connecting
    echo proto=openvpn >> /usr/syno/etc/synovpnclient/vpnc_connecting
    synovpnc reconnect --protocol=openvpn --name=$openvpn_configname --retry=4 --interval=10 >> $logfile
fi

# Is there a VPN connection and can we ping google ?
if [ -z "$(ping -c 4 www.google.fr | grep "64 bytes")" ] && [ -n "$(ifconfig | grep "$interface_vpn")" ] ; then
    echo $(date)  ": Ping failed to www.google.fr..." >> $logfile
    #VPN is going to be stopped, stop Download station
    $DLStation stop
    if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ]; then
        echo $(date)  ": ERROR, DownloadStation is always on :/" >> $logfile
    else
        echo $(date)  ": DownloadStation is stopped" >> $logfile
    fi
    # kill the failed VPN connection
    synovpnc kill_client >> $logfile
    echo $(date)  ": VPN connection closed" >> $logfile
    wait 10000
    # Trying to start VPN connection
    echo $(date)  ": Trying to start VPN connection..." >> $logfile
    echo conf_id=$openvpn_confid > /usr/syno/etc/synovpnclient/vpnc_connecting
    echo conf_name=$openvpn_configname >> /usr/syno/etc/synovpnclient/vpnc_connecting
    echo proto=openvpn >> /usr/syno/etc/synovpnclient/vpnc_connecting
    synovpnc reconnect --protocol=openvpn --name=$openvpn_configname --retry=4 --interval=10 >> $logfile
else        
    # Firewall is up ?
    if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -z "$($iptables -L -v | grep "$interface_vpn")" ]; then
        echo $(date)  ": Interface " $interface_vpn " found but firewall is not configured..." >> $logfile
        
        #Incoming tcp vpn connections ACCEPT
        if [ -n "$vpn_tcp_port" ]; then
            $iptables -A INPUT -i $interface_vpn -p tcp -m multiport --dports $vpn_tcp_port -j ACCEPT
        fi
        #Incoming udp vpn connections ACCEPT
        if [ -n "$vpn_udp_port" ]; then
            $iptables -A INPUT -i $interface_vpn -p udp -m multiport --dports $vpn_udp_port -j ACCEPT        
        fi
        
        #if none of the rules were matched DROP #
        $iptables -A INPUT -i $interface_vpn -p tcp -j DROP
        $iptables -A INPUT -i $interface_vpn -p udp -j DROP
        $iptables -A INPUT -i $interface_vpn -p icmp -j DROP
        
        echo $(date)  ": Firewall configured successfully" >> $logfile
        
        #VPN Connection and firewall are Ok, starting Download station
        $DLStation start
        if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
            echo $(date)  ": DownloadStation is started" >> $logfile
        else
            echo $(date)  ": ERROR, DownloadStation is stopped" >> $logfile
        fi
    else
        # Update 08/10/2014
        if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -n "$($iptables -L -v | grep "$interface_vpn")" ]; then
        
            #VPN Connection and firewall are Ok,
            if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                #VPN Connection, firewall and Download station are Ok
                echo $(date)  ": All network configuration is OK"
            else
                #VPN Connection and firewall are Ok but not Download station
                #try to start it
                echo $(date)  ": ERROR, DownloadStation is stopped" >> $logfile
                $DLStation start
                if [ -n "$(ps | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                    echo $(date)  ": DownloadStation is started" >> $logfile
                else
                    echo $(date)  ": ERROR, DownloadStation is stopped" >> $logfile
                fi
            fi
        fi
    fi
fi
exit 0;
Modifié par cedcox
Lien vers le commentaire
Partager sur d’autres sites

Bonjour roypelikan,

a) En fait la variable local_network n'a plus lieu d'être car elle est issue du script qui était un peu plus compliqué au début. Je vais mettre à jour le script. Bien vu le détail ;)

b ) L'interêt de pinger est de s'assurer que la connection VPN est toujours fonctionnelle. L'adresse ip est lié à la NSA ? Cool, ils vont savoir que je suis fan des documentaires scientifiques et historiques B) . Maintenant j'utilise google mais rien n'empêche d'utiliser une autre adresse IP tant qu'elle est publique et qu'elle répond.

c) Non, dans le ifconfig, le tun0 n'existe pas si la connexion n'est pas up. le ping ne sert qu'à detecter une connexion vpn montée (présente dans le ifconfig) mais qui est morte, c'est à dire qu'elle ne fonctionne plus... Ca arrive de temps en temps chez IPredator

d) Et non justement !! ;) Il ne manque pas >>$logfile. En fait ce script est exécuté toutes les minutes. or si tout est OK, ce echo serait alors écrit toutes les minutes dans mon fichier de log et le surchargerai pour rien. J'ai mis ce echo ici juste pour vérifier si tout est OK lorsque j'exécute le script à la main.

e) C'est vrai, à corriger ;)

f) Je ne comprends pas ta demande

Je n'ai pas compris ta première demande. Tu ne sais pas comment copier ce script sur ton NAS ? Quel est l'éditeur récalcitrant... vi ?

Ced

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

Je ne connais pas tag_event, donc n'hésite pas à mettre à jour le script et à proposer tes modifs ;)

Pour la copie, je ne peux pas t'aider. Perso, j'utilise un navigateur internet, je sélectionne le script puis CTRL-C. Ensuite ouverture de notepad++ -> CTRL-V . Ensuite enregistrement du script sur un partage réseau nascedcox. Ensuite connexion en SSH et copie du fichier de /volume1/cedcox vers le répertoire des scripts.

Si cela peut t'aider ;)

Ced

edit : j'avais pas vu pour le grep. Effectivement, il y'a un grep de grep. En fait le premier grep liste le resultat de la commande ps mais enlève toutes les lignes contenant grep ensuite je recherche la présence du process scheduler. Pourquoi cela ? Car si je fais la commande ps | grep "scheduler" pour vérifier la présence du scheduler, j'ai toujours la ligne 12345 s grep "scheduler" qui s'affiche car la commande grep est ele meme un process en cours... Je ne sais pas si je suis clair...

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

Pour l'ajout de tag_event, c est simple, par exemple à la fin d'une ligne de commande, tu ajoute

; /usr/syno/bin/synonotify VpncReconnectFail # attention ! la casse est de mise.....

avec cette ligne tu envoi le message de défaut de reconnexion du vpn via les notifications, que tu peux modifier à loisir dans panneau de config / notifications / onglet 'avancé'

bouton "modifier message" (sélectionner la ligne avant, dans ce cas la dernière en bas), comme cela concerne le VPN, on peut le détourner pour notifier un défaut ou info le concernant.

pour ma part, j'ai modifié le fichier "mails" pour ajouter des [tag_event] perso et "notification_category" dans le même répertoire, un bridage de synology empêche certains paramètres (var) de s'afficher, s'il n' émet pas la notification lui-même ex:%VPN_CLIENT%, qu'il suffit d'écrire en clair, l'important pour moi, c'est le corps du message, date, et heure. seule inconnue à ce jour, c'est après mise à jour ???, j'ai sauvegardé les fichiers modifiés, et si pas de modif notable dans le nouveau, recopie.....

edit du 27/11/2014

j'ai posté une option de script dans la section "Comment Ajouter Ou Modifier Des Alertes Par Mail Sans Utiliser De Programme Externe"

Pour le fun du 12/11/2014,

y="Vpn en service"

dans le script avant l'appel du tag_event : sed -i "s/%VPN_CLIENT%/$y/g" /usr/syno/synoman/webman/texts/fre/mails # met à jour le vpn concerné dans mails

/usr/syno/bin/synonotify VpncReconnectFail # attention ! la casse est de mise.....

dans le script après le tag_event : sed -i "s/$y/%VPN_CLIENT%/g" /usr/syno/synoman/webman/texts/fre/mails # remet à jour mails à l'origine

petit UP: après la dernière mise à jour, ils disparaissent, mais sont toujours actif sans coupure de courant, donc j' ajoute les lignes de commande dans mon fichier de mise à jour after MAJ.

:wub: il serai intéressant de pouvoir ajouter des tags depuis les notifications avec des etiquettes perso ou imposées par synology sans faire la gymnastique citée ci dessus.

il est important de modifier "notification_category" et de respecter la casse et la syntaxe pour voir apparaitre le titre du message perso dans la fenêtre des notifications, onglet "avancé", pour pouvoir éventuellement le cocher et recevoir par mail, ou de modifier le corps du message, à l'appel, l'important, c'est son [ étiquette ] sans les [ ] dans la ligne de commande.

le chemin du fichier concerné est /usr/syno/synoman/webman/texts/fre/ fichiers "mails" (fre si langue choisie français else enu) & "notification_category".

^^

Pour la remise en place des fichiers dans le script de démarrage, j'ai ajouté le test par grep de la presence de mes modifs dans mails, si pas je recopie les deux.

@+

roy

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

  • 4 semaines après...

BJr, comme le fait de devoir appeler toutes les deux minutes le script de CEDCOX, j'ai navigué sur les sites, et j'ai trouvé la solution planificateur de taches, idéal pour le neophite, mais lourd à l'utilisation, donc j'ai creusé CRONTAB.

Pour ceux que cela intéresse, un petit up au sript de Cedcox, j'ai repris des variables du script pour implément, les path perso....

dans la section variable en debut de prg : # Crontab file

cronfile="/etc/crontab"

dans la section start script avant tout: if [ -z "$(grep SXXmonfichier $cronfile)" ]; then

chmod 755 /etc/crontab; echo "*/2 * * * * root /volume1/Public/SXXmonfichier.sh" >> $cronfile

/usr/syno/sbin/synoservicecfg --restart crond

echo $(date) ": crontab mis a jour pour downloadstation VPN et relance Deamon..." >> $logfile #; tag_event

else

echo $(date) ": crontab actif avec fichier VPN..." #>> $logfile #pour test sinon encyclopedie.....

fi

pour les débutants comme moi, j'y ai passé du temps, mais cela fonctionne....en deux mots, test dans crontab pour savoir si la ligne de commande correspondant au fichier de cedcox identifié par vos soins est bien dans crontab, ici l'ordre correspond au lancement du script toutes les deux minutes, si pas present donne les droits d'ecriture pour eviter les erreurs traditionnelles, insere la ligne de commande à la fin de crontab, et relance le service pour prendre la ligne de commande en compte, le rétablissement des droits est automatique ?, et si la ligne existe, on ecrit dans logfile pour test uniquement.

Roy

petite modif: utiliser des tabs entre les caractères.

^^^du 25/10/2014

Attention après moults tests et aide sur crontab de MIKE913, a priori en script crontab fonctionne, niveau minutes, lire */2 * *egal 60/2 soit toute les 2 minutes, */30 * *egal 60/30 soit toute les 30 minutes, et "0 */2 * *......toute les deux heures.

.

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

Où l'automatisme palie....

comme promis, suite du up, je ne suis pas parano, mais si crontab n'est pas modifié, quand redémarre-t-on? comme c'est impossible car le crontab ne relancera pas SXXmonfichier.sh, ou est la couverture....? seule une erreur masquée peut empécher de modifier cron, donc il faut s'en soucier et en informer l'utilisateur......

if [ -n "$(grep SXXmonfichier $cronfile)" ]; then

echo $(date) ": crontab avec fichier VPN actif...." #>> $logfile #pour test, sinon encyclopedie....

else

echo $(date) " ctrl 2 crontab sans fichier VPN après relance deamon, arrêt DownloadStation...." >>$logfile; $DLstation stop; chmod 755 /etc/crontab #;tag_event

fi

à placer entre le dernier 'fi ' et 'exit 0; '

le chmod est là pour être sur de ne pas avoir d'erreur au prochain lancement sur le test cron du début....

A+

roy

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

un autre petit up

Toujours à la recherche sur les sites environnants, j'ai trouvé les infos suivantes avec une critique de non démarrage à tout les coups, je concède après test sur script court qui lançait lui-même le principal, invisible je pense du à la relance des différents services...d'où la copie du script principal cité ci-dessous dans le répertoire startup, pour ma part no-pb.....

pour l'automatisation du démarrage de cedcox et options citées ci-dessus, SXXmonfichier.sh.....

procédure: Sous DSM (à la portée de tous) créer un répertoire "startup" sur le volume1 ( pour les multi volumes ).

permission admin & administrateur créé pour la sécurité, écriture/lecture limitée aux administrateurs....

copy de mon fichier SXXmonfichier.sh dans /volume1/startup/

contrôler sous ssh que /volume1/startup/ est actif avec la cde: get_key_value /etc.defaults/synoinfo.conf supportstartupd , la réponse doit être 'yes' sinon modifier...

redemarrer le syno depuis interface (dsm 5.0) pour contrôler via vpn.log les connexions et si vpn actif depuis config/reseau/avancé/vpn......

important; pour arrêter SXXmonfichier.sh, il faut en moins de deux minutes supprimer la ligne de lancement dans crontab et le relancer dans le même temps, sinon, créer

^^^^

un script qui recopie le fichier crontab original sauvegardé, relance daemon et arrête DLStation....avec log pour info, et lancer le script depuis le gestionnaire des tâches....

cordialement,

Roy.

Warning, après la der MAJ et avec cette méthode, le SXXmonfichier.sh c'est bien lancé, mais au bout de 3 connexions sans ping à bien ecrit dans crontab, mais la relance du deamon n'a pas été effective, pour palier à ce problème, j'ai modifié dans SXXmonfichier.sh le WAIT 10000 par sleep 10, cela laisse au syno le temps de relancer les différents services, le deuxième test a été effectué après l'arrêt complet du nas.

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

  • 1 mois après...

Bonjour à tous,

nouveau possesseur d'un DS214SE sous DSM5, je galère depuis des heures avec ces notions de VPN et de client torrent.

Suite à la lecture d'innombrables tuto, je me suis lancé dans du scripting à tort et à travers... installation de "transmission" comme client torrent, configuration de openVPN pour lancer des scripts à la connexion et déconnexion, etc.

Je galère pour aboutir à quelque chose qui ne fonctionne toujours pas... (le VPN est ok, mais je n'arrive pas à démarrer des services, et mon script "down" ne veut pas se lancer... bref...).

Et là je tombe sur ce sujet qui semble juste répondre en tous points à mes besoins!!!

Par contre, jusqu'au post de cedcox avec son script, je comprenais... mais ensuite vous m'avez perdu (surtout roypelikan).

Ou en êtes-vous de vos tests? votre script répond-il à vos besoins? pouvez-vous le remettre dans son intégralité?

Du coup, j'imagine que dans OPENVPN, les options de type route-up ou down ne sont plus utiles?

Merci du coup de main!

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bjr grincheux41, je viens de voir que tu as viré la partie "iptables" du script, je pense que ton vpn sans cette partie est un boulevard vers ton nas, vas voir le lien mis par ARGENOS un peu plus haut sur la sécurisation des vpn et consulte sur ce site la rubrique correspondante et d'autres sites s'il le faut pour comprendre que sous tunnel, le pare-feu dsm est inopérant....

bon courage

Roy

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

  • 4 semaines après...

Attention, je viens de constater, car je ne m'en sert pas tout les jours, que le dernier "$DLStation start" à la fin du script de cedcox que je salue au passage, pose problème, en effet suite à un pb de reconnexion automatique, le téléchargement redémarrait.

Pour l'instant, je teste la présence de tun0 avant de donner l'ordre de redemarer DLStation.

if [ -n "$(ifconfig | grep "$interface_vpn")" ] ; then $DLStation start # si l 'id client n'est plus bonne ctrl "tun0" pour $DLStart
fi

cordialement,

roypelikan

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

  • 4 semaines après...

yopla ! Ca faisait longtemps que je n'étais pas venu voir ce post... Moi je suis toujours avec le script que j'ai posté plus haut et je n'ai pas de soucis... J'ai d'ailleurs pu constater que j'ai régulièrement de déco de quelques minutes à quelques heures avec IPredator...

@roypelican : Le dernier "$DLStation start" est normalement lancé à partir du moment où le VPN est up, que le ping est OK et que DS n'est pas démarré.

Je n'ai pas compris (et donc rencontré) le problème que tu avais rencontré. Certainement parce que mon identifiant ne change pas :) Au cas où, si tu repasses par là, n'hésite pas à rentrer dans les détails et si il te reste les logs histoire que je comprenne ce qui s'est passé ^^

@ pluche !

Ced

Lien vers le commentaire
Partager sur d’autres sites

Hello ! Ced, comme dit plus haut, à la fin de la période d essais chez VPN...... , je suis devenu client, et perdu ma connexion VPN, je me suis reconnect via interface réseau / dsm, mais je ne savait pas que mon id =o123456789 avait changée....donc suite à une perte liaison Ping .... Reconnect.......done alors que VPN tombe dans interface et recycle et recycle....

En fait toute la partie haute du script fait sont travail et ce dernier dlstation remet en route scheldule.... Donc tu commute pour moi toute les deux minutes en télé et hors télé , avec pour ma part en vue pendant un cycle complet de deux minutes...j essayerai de créer la panne volontairement et posterai en mp le log. Si tu veux faire test toi meme, change un nô dans id =o1245678 et telecharge après avoir dans l ordre lance le VPN, via interface, crontab, et script, pour ma part, tout se fait dans le même script et je gère les défauts via log et tags évent pour surveiller.... Et à la fin je remet crontab original, relance daemon, et arrête DLStation, kill connexion dans un autre script

Lien vers le commentaire
Partager sur d’autres sites

Ok, je crois voir où est le problème. Je vais voir ce que je peux pondre de mon côté ^^

Edit : Ok, c'est pondu. Il y'avait effectivement un petit trou ^^ . Il est corrigé en rajoutant juste un IF (si VPN ET Firewall OK) englobant le redémarrage du download station.

Bien vu Roy !! ;)

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

Bjr
La rotation de VPN (s) via crontab en relation avec le sript de CEDCOX.

tout d'abord le script que j'apellerai S88RotateVpn.sh

#!/bin/sh
# Log file
logfile="/volume1/Public/vpn.log"

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

# Vpns en service
Vpnenservice="/volume1/Public/vpns/vpn_tmp.txt"

^^petit up
#Ip externe avant rotation
IpExtR="/volume1/Public/IpExtR.txt"
ping -c 1 nas-tartempion.synology.me > $IpExtR
Addrs=$(sed -n '1p' $IpExtR)
echo $(date) ": adresse:" ${Addrs:23:16} ") avant rotation." >> $logfile


x=$(sed -n '1p' $Vpnenservice) #id client o235841663
y=$(sed -n '2p' $Vpnenservice) #nom ex:VpnTunnelSE
z=$(sed -n '3p' $Vpnenservice) # N° du tunnel suivant

cp /volume1/Public/vpns/vpn_$z.txt $Vpnenservice # execute la mise en condition de la rotation vpn

$DLStation stop
synovpnc kill_client >> $logfile
echo $(date) ": VPN connection closed, par kill rotation VPN, DownloadStation is stopped " >> $logfile

# mise a jour pour log
y=$(sed -n '2p' $Vpnenservice) #nom ex:VpnTunnelSE
echo $(date) $y " sélectionné pour service" >> $logfile #informe l'utilisateur du vpn en cours de connexion

^^petit Up
IpExt="/volume1/Public/IpExt.txt"
echo "1" > $IpExt; echo $(date) ":" $R " Raz ping adresse exterieure " >> $logfile


exit 0;

La modif du script de Cedcox: ici pour mieux comprendre, il s' appelle S88ctrlwait.sh

variables amont....
-------------------------->


# Vpns en service
Vpnenservice="/volume1/Public/vpns/vpn_tmp.txt"

# OpenVPN configuration
openvpn_confid=$(sed -n '1p' $Vpnenservice) #o235841663
openvpn_configname=$(sed -n '2p' $Vpnenservice) #VpnTunnelSE

# test openvpn_confid
if [ -f "/usr/syno/etc/synovpnclient/openvpn/client_$openvpn_confid" ]; then
echo $(date) "Client VPNTunnel.se OK..." #>> $logfile # pour test sinon encyclopédie
else
$DLStation stop
echo $(date) "Attention 0 ! : l'ID du VPN client est Obsolète, DLStation is stopped" >> $logfile; /usr/syno/bin/synonotify VpnIDclientObso
fi

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

# Test de la presence de la routine du fichier dans crontab...# modification et relance deamon....

if [ -z "$(grep S88ctrlwait $cronfile)" ]; then
chmod 755 /etc/crontab; echo "*/2 * * * * root /volume1/Public/S88ctrlwait.sh" >> $cronfile
echo "0 */2 * * * root /volume1/Public/S88RotateVpn.sh" >> $cronfile
/usr/syno/sbin/synoservicecfg --restart crond
echo $(date) ": crontab mis à jour pour downloadstation VPN et relance deamon..." >> $logfile; /usr/syno/bin/synonotify VpnConfigConOk
else
echo $(date) ":crontab actif avec fichier VPN ..." #>> $logfile #pour test sinon encyclopédie....
fi
-------------------*>
suite script....

(les espaces pour cron sont des "tabs" pour écrire dans crontab)
^^donc la rotation ici est de 2 heures à vous de voir, pour ne pas avoir trop de mise à jour dns, et il y a une particularité dans le fonctionnement de crontab dsm voir plus haut.

les fichiers dans vpns sont vos connexions:
vpn_tmp.txt: o235841663 :o ici il faut bien démarrer avec une valeur
VpnTunnelSE
2

vpn_1.txt: o235841663
VpnTunnelSE
2

vpn_2.txt: o155689750
VpnTunnelES
3

vpn_3.txt: o165689851
VpnTunnelRU
1

je pense que les fichiers *.txt parlent d'eux même, c'est l'indexage de la ligne 3 qui fait la rotation, s'il y a plus de 3 vpn(s), adaptez....

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

  • 1 mois après...

Bonjour à tous,

J'ai parcouru vos échanges forts inintéressants mais hélas hors de portée pour un utilisateur basique.

Pourriez vous éditer la marche à suivre pour utiliser un script, et suite à cela éditer la dernière version opérationnelle.

Merci encore pour le partage de vos connaissances dans ce forum,

Bonne journée

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Pour partager, il faut une com. le fait d'être INintéressant préfigure L'imbécilité au premier niveau "0", tout le monde n'est pas au top. Meilleurs vœux pour l'année nouvelle, on compte sur toi pour écrire un tuto.

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

  • 2 mois après...

Bonjour à tous,

pour le moment j'utilise le script d'Argenos avec l'astuce de Stev84 qui permet de le lancer à chaque changement de connexion, du coup, plus besoin de passer par cron :

J'aimerais bien utiliser le script de Cedcox mais je suis bloqué avec 2 variables :

openvpn_confid=
openvpn_configname=

Je suppose qu'openvpn_configname correspond au nom que j'ai donné à ma configuration vpn lors de sa création par contre je ne vois pas à quoi correspond openvpn_confid.

Merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Hello Wismerhill,

pour openvpn_confid= .....dans /usr/syno/etc/synovpnclient/openvpn/client_o125362544255.....c'est le code client créé par le syno lors de la connexion à ton            fournisseur de vpn et qui renferme clef etc....

pour openvpn_configname= .... c'est effectivement le nom de la connexion que tu as initiée à la connexion de ton vpn....

Je précise dans ce post, que les mp ne passent pas....

A+

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.