Aller au contenu

Messages recommandés

Posté(e)

bjr, non, cela doit etre conforme au script de cedcox:

# OpenVPN configuration

openvpn_confid=o1377495440

openvpn_configname=nomdéclaré

         ------------------------------------------------------------------------------------------

/usr/syno/etc/synovpnclient/openvpn/        est le chemin ou tu doit trouver le N° de client          ex:   client_o1420449358

ne pas confondre.

a+

Posté(e) (modifié)

Pas de soucis, mais attention, si tu supprime ou modifie ta connection vpn, ton configid change....

Modifié par roypelikan
  • 3 mois après...
Posté(e)

Bonjour,

Depuis le dernier post, y-a-t'il une solution plus aisée à mettre en place (une option que je n'aurais pas remarqué) ?

Les vpn payants proposent bien une telle option mais elle est seulement valable sur Mac ou Windows.

Merci

Cordialement

  • 2 semaines après...
Posté(e)

Bjr, désolé, faut mettre les mains dans le cambuis, et si tu as une meilleure solution, sans pb, tu proposes et on teste, sinon je pense que sur ce forum, ou d'autre tu dois

trouver ta solution ou te poser la question, 'est-ce si simple ?'

j'utilise les outils de mon niveau, si plus compétant, adapter.

cordialement

roy

Posté(e)

Bonjour à tous,

depuis quelques semaines j'ai quelques soucis avec le script de Cedcox. Les règles Iptables ne sont plus exécutées.

Dans le script il y a un test pour savoir si le pare feu est en route :

    # 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

Normallement à chaque reconnexion du vpn toutes les règles iptables sont supprimées. Toutes ? Non, car deux irréductibles règles résistent encore et toujours :

Chain DOS_PROTECT_VPN (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  tun0   any     anywhere           anywhere             limit: avg 1/sec burst 3
    0     0 DROP         all  --  tun0   any     anywhere           anywhere

Du coup comme le script voit des règles iptables il pense que la protection est déjà activée et il ne relance pas les règles sur la connexion vpn.

Pour ne pas tenir compte de la protection DOS toujours en place j'ai remplacé

$iptables -L -v

par

$iptables -L INPUT

à chaque test de la présence du parefeu.

Je ne comprends pas pourquoi les règles DOS sont toujours actives, quand j'avais mis en place le script de Cedcox je n'avais pas ce problème.

Je ne sais pas si d'autres que moi ont ce problème mais je vous invite à vérifier vos règles iptables !

  • 1 mois après...
Posté(e) (modifié)

Bjr Whismerhill, désolé, pas réellement venu depuis +ieurs mois, je me suis penché sur la question, et j'ai trouvé dans le(s) fichier(s) 

client_o1234567903

deux lignes de plus qui commencent par: up et l'autre route_up,  (encore une surprise de synology) associés a des scripts, je n'ai pas le temps de suite, mais j'irai voir dans les jours à venir ce qu'il en est et ferai un "edit" de ce post.

edit du 07/11/15 en mode Console

Pour info en tapant en ssh: " iptables -L -v", je vois apparaître mes règles de tun0, aussitôt remplacées par les règles par défaut, mais Tune0

n'y est plus, et après plusieurs essais, le système m' informe (anglais of course) qu'un autre programme utilise déjà les règles iptables,

et me propose d'utiliser l'option -w ?....wait.....?  dans etc.defaults, il y a iptables_time_ctrl.sh, control parental ou verrouillage ?

A priori si on supprime (en rem #) ces deux lignes, qui représentes deux scripts du chemin: usr/syno/etc.defaults/synovpnclient/scripts/,

 je n'ai pas testé une à la fois, mais je n'ai plus d'adresse externe qui s'affiche dans synology.

il existe quelque part : chain_ default_input ....& chain_dos_protect ....si quelqu'un sait ou les trouver ? ......à voir

edit du 21/11/2015 en mode script tache

Après divers essais, déconnecté vpn volontairement, etc.....

en lançant la commande depuis le gestionnaire de tâche, Tune0 toujours présent avec les ports que j'ai ouvert, j'ose espérer que tu à géré

ton firewall par connection (lan1, lan2, ppoe) pour éviter le bridge entre lan1 et 2 dans mon cas.

la commande est la suivante: iptables -L -v -n >> /volume1/tonchemin/VpnIptables.log et tu regardes dans le fichier....

je surveille mais pense que c'est inutile.

addon pous ci dessous.

aaa,bbb ........zzzz sont mes n° de port

 0     0 ACCEPT      tcp  --  tun0   *       0.0.0.0/0            0.0.0.0/0            multiport dports xxx,yyy,zzz
 0     0 ACCEPT     udp  --  tun0   *       0.0.0.0/0            0.0.0.0/0            multiport dports aaa,bbb,ccc
 1    40 DROP         tcp  --  tun0   *       0.0.0.0/0            0.0.0.0/0          
 0     0 DROP         udp  --  tun0   *       0.0.0.0/0            0.0.0.0/0          
 0     0 DROP         icmp --  tun0   *       0.0.0.0/0            0.0.0.0/0    

sur le tiens tu as ouvert le port http, https, et le 50000, j'espère que tu as redirigé http vers https et le 50000 et pas le port habituel pour download,

mais tout depend de ta redirection, je ne suis pas un as dans le firewall mais le mien est un peut plus etoffé (lan S ) et j'utilise un port ssl....      

 

@suivre....

Modifié par roypelikan
  • 3 semaines après...
Posté(e)

Bonjour Roy,

merci pour tes recherches. Je me suis fait un petit script qui se lance toutes les heures pour vérifier l'état du pare feu avec la commande iptables -L -v et j'obtiens ça :

*****************************************
Sat Nov 21 12:00:02 CET 2015
*****************************************
Chain INPUT (policy ACCEPT 410 packets, 47528 bytes)
 pkts bytes target     prot opt in     out     source               destination         
39379 4262K DEFAULT_INPUT  all  --  any    any     anywhere             anywhere            

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 48484 packets, 44M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain DEFAULT_INPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination         
12151  556K ACCEPT     tcp  --  tun0   any     anywhere             anywhere             multiport dports http,DSM-https,50000
26766 3654K ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
   15   808 DROP       tcp  --  tun0   any     anywhere             anywhere            
   31  2365 DROP       udp  --  tun0   any     anywhere             anywhere            
    1    32 DROP       icmp --  tun0   any     anywhere             anywhere

 

@+

  • 4 mois après...
Posté(e)

Bonjour à tous,

J'utilisais ce script depuis plusieurs mois et mon DSM s'est mis à jour vers la version 6.0.

Depuis, il ne fonctionne plus. Il semblerait que ce soit la commande pour Dstation.

 /var/packages/DownloadStation/scripts/start-stop-status 

Même en la lançant depuis ssh j'ai un permission denied. La façon de faire a-t-elle changé ?

 

MErci !

Posté(e) (modifié)

BJr Thennart, désolé, je ne puis te répondre car je possède un ds1010+ pour lequel dsm 6.0 n'est pas d'actualité, mais comme synology à déjà changé

auparavant de stratégie de cde pour DlStation, il faut voir  dans /var/packages/DownloadStation/scripts, si celui-ci existe encore et si le status du package

est toujours valide ou si l'expression est toujours reconnue, car syno améliore en permanence la sécurité, cela pourrai expliquer le denied, il faut peut-être un ordre

reconnu comme root pour exécution....... ou autre....

Si dans le répertoire Scripts de downloadstation tu fait ls -l -a ? ls -la ? qui a-t-il dans celui-ci ? sous DSM 6.0,

l'architecture à certainement été revue....je vais stocker la derver de dsm 5.2 pour au cas où.....

A+

Modifié par roypelikan
Posté(e)

Merci pour la réponse.

J'ai avancé sur le sujet. En fait, bêta que je suis, je m'étais connecté en SSH avec un compte du group admin (comme évoqué dans la release note). Et j'avais tenté de lancer la commande en pensant qu'elle s'exécuterait en root. En le faisant avec un sudo je n'avais plus l'access denied.

Par contre le script ne fonctionnait tout de même pour plusieurs raisons. Notamment, le "ps" dans les tests qui ne suffit plus, j'ai du modifier pour faire un ps -aux. Voici le script qui fonctionne désormais correctement pour moi.

 

#!/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="/volume1/scripts/script_logs/vpn.log"

# TCP port authorized - to complete
vpn_tcp_port=5000,5001

# UDP port authorized
vpn_udp_port=

# OpenVPN configuration
## Rotterdam
openvpn_confid=oxxxxx
openvpn_configname=xxxxx


############### 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 >> $logfile
    if [ -n "$(ps -aux | 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 connect --id=$openvpn_confid --retry=4 --interval=10 >> $logfile
fi

# Is there a VPN connection and can we ping google ?
if [ -z "$(ping -c 4 www.google.fr -4 | 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 >> $logfile

    if [ -n "$(ps -aux | 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 connect --id=$openvpn_confid --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
        
		$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
		
        #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 >> $logfile
        if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
            echo $(date)  ": DownloadStation is started" >> $logfile
        else
            echo $(date)  ": ERROR, DownloadStation is stopped (1)" >> $logfile
        fi
    else
        # Firewall ok, last check
        if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -n "$($iptables -L -v | grep "$interface_vpn")" ]; then
        
            #VPN Connection and firewall are Ok,
            if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                #VPN Connection, firewall and Download station are Ok
                echo $(date)  ": All network configuration is OK"  >> $logfile
            else
                #VPN Connection and firewall are Ok but not Download station
                #try to start it
                echo $(date)  ": ERROR, DownloadStation is stopped (2)" >> $logfile
                $DLStation start >> $logfile
                if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                    echo $(date)  ": DownloadStation is started" >> $logfile
                else
                    echo $(date)  ": ERROR, DownloadStation is stopped (3)" >> $logfile
                fi
            fi
        fi
    fi
fi
exit 0;

 

Posté(e) (modifié)

Je ne comprend pas l'utilite du -a -u , le -x ne serai-t-il pas suffisant sous reserve d'ouvrir d'autres ports que le 5000, 5001 ?

comme c'est un grep de grep.

Modifié par roypelikan
  • 3 mois après...
Posté(e) (modifié)

Bonjour à tous,

Je suis donc en ce moment à la recherche de cette fonction : couper DownloadStation tant que la connexion VPN est inactive.

J'ai donc essayé votre script, cependant il me fait planter D-S à l'éxecution malgré avoir bien défini les variables 

Citation

openvpn_confid=
openvpn_configname=

Je suis en vpn chez HideMyAss

Voici mon script complet :

Citation

 

#!/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="/volume1/scripts/script_logs/vpn.log"

# TCP port authorized - to complete
vpn_tcp_port=15251,5251

# UDP port authorized
vpn_udp_port=

# OpenVPN configuration
## Rotterdam
openvpn_confid=o1470573171
openvpn_configname=HMA

############### 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 >> $logfile
    if [ -n "$(ps -aux | 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 connect --id=$openvpn_confid --retry=4 --interval=10 >> $logfile
fi

# Is there a VPN connection and can we ping google ?
if [ -z "$(ping -c 4 www.google.fr -4 | 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 >> $logfile

    if [ -n "$(ps -aux | 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 connect --id=$openvpn_confid --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
        
        $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        
        #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 >> $logfile
        if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
            echo $(date)  ": DownloadStation is started" >> $logfile
        else
            echo $(date)  ": ERROR, DownloadStation is stopped (1)" >> $logfile
        fi
    else
        # Firewall ok, last check
        if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -n "$($iptables -L -v | grep "$interface_vpn")" ]; then
        
            #VPN Connection and firewall are Ok,
            if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                #VPN Connection, firewall and Download station are Ok
                echo $(date)  ": All network configuration is OK"  >> $logfile
            else
                #VPN Connection and firewall are Ok but not Download station
                #try to start it
                echo $(date)  ": ERROR, DownloadStation is stopped (2)" >> $logfile
                $DLStation start >> $logfile
                if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                    echo $(date)  ": DownloadStation is started" >> $logfile
                else
                    echo $(date)  ": ERROR, DownloadStation is stopped (3)" >> $logfile
                fi
            fi
        fi
    fi
fi
exit 0;


 

 

Modifié par Flo2aix
Posté(e) (modifié)

essaye de commencer avec

#!/bin/sh et non #!/bin/ash,

voir si les ports ouverts sont réservés par le syno

# TCP port authorized
vpn_tcp_port=443,465,16881 #45145 #5001, 22

# UDP port authorized
vpn_udp_port=443,465,6881 # #1194

pour laisser passer le courrier entre-autre..., voir les ports acceptés par download station, 16881 non modif  et 6881 modifiable, si les ports sont bien redirigés dans la box.

je sieute ton post de plus près et post addon.

serai interessant de savoir si c'est DSM 6.0 ou comme pour moi DSM 5.2-5967 Update 2

addon

remplace                      wait 10000 par: sleep 10

                                    synovpnc connect --id=$openvpn_confid --retry=4 --interval=10 >> $logfile par

                                     synovpnc connect --id=$openvpn_confid --retry=4 --interval=20 >> $logfile

si pas dsm 6.0  remplace: ps -aux     par ps , il y en 5 dans ton prog.  

ps, je n'ai pas contôlé la ponctuation dans ton prog.

Modifié par roypelikan
  • Einsteinium a épinglé ce sujet
  • 2 mois après...
Posté(e)

Bonjour,

après la mise en place du script de cedcox et des modifs de roypelikan, mon script semble bien fonctionné, cependant lorsque je fait une déco volontaire du vpn, DL affiche "Echec de l’opération". Le vpn se reconnecte bien tout seul et ce message disparaît et on voit apparaître les téléchargements en attente se réactiver progressivement, bref ça semble pas très méchant et ça semble fonctionner quand même. 

Le truc plus embêtant c'est que en passant par le vpn (vpntunnel.com pour ma part), le syno ne peut plus aller vérifier ces MAJ ni faire de recherche dans le centre de paquets.

voici mon script :

#!/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"

# Crontab file
cronfile="/etc/crontab"

# TCP port authorized
vpn_tcp_port=22,5001,45025

# UDP port authorized
vpn_udp_port=

# OpenVPN configuration
openvpn_confid=XXXXXXXXX
openvpn_configname=XXXXXXXXXXX

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


if [ -z "$(grep VPNCheck $cronfile)" ]; then
chmod 755 /etc/crontab; echo "*/2 * * * * root /volume1/Startup/VPNCheck.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

# 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 >> $logfile
    if [ -n "$(ps -aux | 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 connect --id=$openvpn_confid --retry=4 --interval=10 >> $logfile
fi

# Is there a VPN connection and can we ping google ?
if [ -z "$(ping -c 4 www.google.fr -4 | 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 >> $logfile

    if [ -n "$(ps -aux | 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; /usr/syno/bin/synonotify VpncReconnectFail # attention ! la casse est de mise.....
    sleep 10

    # 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 connect --id=$openvpn_confid --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
        
        $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        
        #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 >> $logfile
        if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
            echo $(date)  ": DownloadStation is started" >> $logfile
        else
            echo $(date)  ": ERROR, DownloadStation is stopped (1)" >> $logfile
        fi
    else
        # Firewall ok, last check
        if [ -n "$(ifconfig | grep "$interface_vpn")" ] && [ -n "$($iptables -L -v | grep "$interface_vpn")" ]; then
        
            #VPN Connection and firewall are Ok,
            if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                #VPN Connection, firewall and Download station are Ok
                echo $(date)  ": All network configuration is OK"  >> $logfile
            else
                #VPN Connection and firewall are Ok but not Download station
                #try to start it
                echo $(date)  ": ERROR, DownloadStation is stopped (2)" >> $logfile
                $DLStation start >> $logfile
                if [ -n "$(ps -aux | grep -v "grep" | grep "/sbin/scheduler")" ] ; then
                    echo $(date)  ": DownloadStation is started" >> $logfile
                else
                    echo $(date)  ": ERROR, DownloadStation is stopped (3)" >> $logfile
                fi
            fi
        fi
    fi
fi

if [ -n "$(grep VPNCheck $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

exit 0;

Posté(e) (modifié)

J'ai eu une coupure du VPN cette nuit et le script m'en à informé a 3h du mat, mais le problème c'est que mes téléchargements ne reprennent pas. Ils sont en rouge avec comme statut "Dupliquer le fichier torrent".

Modifié par khazai
Posté(e)

Je ne peux rien te confirmer sans les logs ni type de matériel utilisé, il faut aller voir dans les logs ce qu'il se passe, à mon avis tu t'est reconnecté sans vpn monté d'où l'erreur, mais comme souligné auparavant, je ne suis pas sous dsm 6.0, en projet pour l'avenir, début d'année sur matos plus récent. De plus, j'espère que tu vire de temps en temps ton fichier log, si il devient trop gros......

pour la question concernant les mises à jour, je ne suis pas connecté en permanence à vpn.com, seulement en cas de besoin, j'ai récupérer crontab origine, que je replace quand j'ai fini, et change l'original si je crée un tâche nouvelle, le tout dans deux scripts différents le second kill connection deux fois à 2 minutes d'intervalle pour être sûr que le script principal n'est pas dans la routine de reconnection.

En effet, entre l'ordre et le déroulement réel, il existe un décalage (mon ds1010+ date un peu).

cordialement

roy

Posté(e)

J'ai un ds212j sous DSM6. Comment lit-on les logs? Ce matin, sur la connexion vpn, j'ai un up de 8h36, il a encore déconnecté cette nuit. et du coup, DL est complètementnt planté, j'ai plus mes téléchargements qui s'affiche et encore le message Echec opération.

Quand j'execute le script en manuel avec envoi d'un email, voici le résultat du mail :

Citation

Dear user,

Task Scheduler has completed a scheduled task.

Task: VPNCheck
Start time: Fri, 28 Oct 2016 10:53:14 GMT
Stop time: Fri, 28 Oct 2016 10:53:22 GMT
Current status: 0
Standard output/error:
Fri Oct 28 10:53:15 CEST 2016 : crontab actif avec fichier VPN...
Fri Oct 28 10:53:21 CEST 2016 : crontab avec fichier VPN actif....

 

Posté(e) (modifié)

À priori,tu as logé tes logs dans /root/vpn.log, donc tu ouvre avec editeur de texte inclus dans dsm (click droit), je ne connait pas ton niveau, mais il serai plus intéressant de creer un dossier public et de changer le chemin dans ton script par /public/vpn.log, cela le rendra accessible plus facilement de dsm, et de le virer quand cession terminée, et surtout de ne pas poluer les dossiers natifs...pour le reste ne connaissant pas dsm 6.0 .......lire log avant toutes choses...

Modifié par roypelikan
Posté(e)

Voila ce que j'ai dans le log :

Citation

Fri Oct 28 18:34:07 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:34:07 CEST 2016 : Interface  tun0  found but firewall is not configured...
Fri Oct 28 18:34:09 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:34:09 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:34:10 CEST 2016 : Firewall configured successfully
Fri Oct 28 18:34:12 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:34:12 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:35:17 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:35:18 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:36:07 CEST 2016 : Interface  tun0  found but firewall is not configured...
Fri Oct 28 18:36:07 CEST 2016 : Interface  tun0  found but firewall is not configured...
Fri Oct 28 18:36:07 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:36:08 CEST 2016 : Firewall configured successfully
Fri Oct 28 18:36:09 CEST 2016 : Firewall configured successfully
Fri Oct 28 18:36:09 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:36:10 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:36:11 CEST 2016 : ERROR, DownloadStation is stopped

Pourtant DLStation est en train de télécharger et le vpn est connecté.

Je viens d'activer le parefeu (je m’étonne qu'il ne le soit pas d'ailleurs....)

Après cette action le log donne ça :

Citation

Fri Oct 28 18:38:06 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:38:08 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:38:08 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:38:10 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:38:12 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:38:14 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:40:07 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:40:09 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:40:11 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:40:12 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:40:15 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:40:18 CEST 2016 : ERROR, DownloadStation is stopped

 

Posté(e)

J'ai eu une déconnexion du vpn :

Citation

Fri Oct 28 18:52:38 CEST 2016 : Ping failed to www.google.fr...
Fri Oct 28 18:52:53 CEST 2016 : DownloadStation is stopped

kill client ...OK
Fri Oct 28 18:53:04 CEST 2016 : VPN connection closed
Fri Oct 28 18:53:04 CEST 2016 : Trying to start VPN connection...
get arguemnt protocol: openvpn
get arguemnt name: VPNTunnel_SUEDE
get arguemnt retry: 4
get arguemnt interver: 10
Reconnect [VPNTunnel_SUEDE] ... done
Fri Oct 28 18:54:09 CEST 2016 : Interface  tun0  found but firewall is not configured...
Fri Oct 28 18:54:12 CEST 2016 : Firewall configured successfully
Fri Oct 28 18:54:16 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:54:17 CEST 2016 : ERROR, DownloadStation is stopped
Fri Oct 28 18:54:53 CEST 2016 : DownloadStation is started
Fri Oct 28 18:54:55 CEST 2016 : DownloadStation is started
Fri Oct 28 18:54:56 CEST 2016 : DownloadStation is started

 

Posté(e) (modifié)

Bonsoir, pour identifier sainement la partie qui coince dans le firewall, il faudrai  enlever les parentaises (1) en laissant les chiffres des textes :ERROR..... Il y en à trois....lequel, d'autre part je ne voit pas les ports ouverts de download station...16881, 6881 de mémoire, le port 22 pour la console est fermé en fonctionnement, leport 45025 ? Si tu fait tout passer par là ou par 5001, il faut une redirection de port dans la box...sinon tu passe par le normal et danger....vérifier que l'adresse externe est bien différente de celle de la box,  vas voir dans bt de downloadstation quel sont les ports renseignés pour savoir si cela correspond, pour ma part je vérifie ton sript demain aprem ou dimanche matin, pour éviter de poluer le forum, peut-être mp....

au fait, tout mes scripts sont dans public, et lancés depuis le gestionnaire de tâches....

Modifié par roypelikan
Posté(e) (modifié)

Bon bin depuis hier je n'ai plus de message d'erreur. Par contre j'ai parfois les messages en double :

Citation

Sat Oct 29 18:26:06 CEST 2016 : Interface  tun0  found but firewall is not configured...
Sat Oct 29 18:26:06 CEST 2016 : Interface  tun0  found but firewall is not configured...
Sat Oct 29 18:26:07 CEST 2016 : Firewall configured successfully
Sat Oct 29 18:26:08 CEST 2016 : Firewall configured successfully
Sat Oct 29 18:26:09 CEST 2016 : DownloadStation is started
Sat Oct 29 18:26:10 CEST 2016 : DownloadStation is started
Sat Oct 29 18:30:06 CEST 2016 : Interface  tun0  found but firewall is not configured...
Sat Oct 29 18:30:08 CEST 2016 : Firewall configured successfully
Sat Oct 29 18:30:09 CEST 2016 : DownloadStation is started
Sat Oct 29 18:32:07 CEST 2016 : Interface  tun0  found but firewall is not configured...
Sat Oct 29 18:32:09 CEST 2016 : Firewall configured successfully
Sat Oct 29 18:32:11 CEST 2016 : DownloadStation is started

Sinon dans BT j'ai bien le port 16881 en tcp et 68811 en udp. Le port 22 pour le ssh est bien désactivé. Le port 45025 je ne sais pas ce que c'est. L'adresse externe est bien différente entre le syno et la box dans le cas où le vpn n'est pas connecté sur mon navigateur.

Modifié par khazai
Posté(e) (modifié)

Pour les ports à ouvrir, j'ai déjà répondu plus haut le 9 aout, pour les lignes en double, verifie crontab pour voir si tu n'a pas lancé deux fois le même script après le plantage, ou manuellement, pour le reste demain matin...

today

il serai intéressant après avoir créé les sous répertoires de sauvegarder le crontab actuel, et de le publier ou envoyer ave la cde svt:

cp /etc/crontab /volume1/Public/Original/Existant/             ( éditer et supprimer la(les) ligne(s) qui lance(nt) le script)

de créer un tâche RemiseCrontabOrigine avec les cdes svts:

cp /volume1/Public/Original/Existant/crontab /etc/

synovpnc kill_client

respecter la casse lors de la création et de l'utilisation.

pour ton script, le mien étant plus élaboré, difficile de faire la comparaison dans notpad++ le décalage est trop important.

edit du 4/11/2016

En ping le  nom de domaine, l'adresse retournée est l'adresse externe box (sfr) alors qu'avant j'avait l'adresse externe du vpn ??????

Modifié par roypelikan
info

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.