Aller au contenu

Messages recommandés

Posté(e)

Bonjour

J'aimerai savoir s'il est possible de forcer download station a n'utiliser qu'une connexion VPN et surtout ne pas accéder à internet si le vpn tombe. Je vous laisse imaginer ce que je veux faire...

J'ai bien tenté de mettre "refuser tout", faire les réglages pour encore avoir accés à l'administration (ssh, 5000,5001 9997)

Ensuite j'ai créé une rÚgle pour BT, hote unique : l'ip de mon vpn et autoriser.

Mais mĂȘme si le vpn n'est pas actif, mon torrent (libreoffice derniĂšre version) se tĂ©lĂ©charge tranquillement...

Une idée ?

Posté(e)

Bon, en cherchant j'ai trouvé quelque chose : gérer les rÚgles avec iptables via telnet (ou ssh)

PremiÚre chose à savoir : il faut déjà créé une rÚgle dans le pare-feu / QOS

Seconde chose le pare-feu ne gĂšre que les INPUT (pas FORWARD ni OUTPUT) donc il faut passer par iptables

J'ai créé les rÚgles suivantes :

-A INPUT -i eth0 -p tcp -m multiport --dports 22,1234,5000,9997 -j ACCEPT : pour laisser l'interface utilisateur accessible etc.

-A INPUT -i eth0 -j DROP : je coupe toutes les connexions (dans l'interface graphique c'est le refuser tout en fait)

Et c'est lĂ  oĂč je comprends plus

J'ai regardé quel interface utilisait le vpn avec la commande "ifconfig" ça me donne ppp0

J'ai donc créé 2 rÚgles

-A INPUT -i ppp0 -p tcp -m tcp --dport 16881 -j ACCEPT : j'accepte sur l'interface ppp0 les entrĂšes sur 16881

-A OUTPUT -o ppp0 -p tcp -m tcp --dport 16881 -j ACCEPT : j'accepte sur l'interface ppp0 les sorties sur 16881

et bien ça fonctionne pas, download station ne télécharge rien sur un torrent

quelqu'un aurait une idée?

Posté(e)

Sérieusement je capte rien j'ai mis ça

DiskStation> iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 23 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 1234 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 5000 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 9997 -j ACCEPT
DiskStation> iptables -P OUTPUT DROP
En gros, en sortie j'accepte les port 22 23 1234 5000 9997 puis je passe la chain OUTPUT en DROP, normalement les connexions sortantes sur les ports dĂ©signĂ©s devraient ĂȘtre valides, et pourtant dĂšs que la commande iptables -P OUTPUT DROP est validĂ©es, je n'ai plus aucun accĂšs
Je capte pas...
  • 4 semaines aprĂšs...
Posté(e)

Bonjour,

Je me pose les mĂȘmes questions que toi, enfin globalement, et je vous lais savoir ou tu en etais de ta mise en oeuvre.

Mon synology ayant plusieurs cartes réseaux je regarde en plus pour qu'une carte serve au tunnel openvpn dans lequel je veux faire passer un certains type de traffic et l'autre au reste.

Merci d'avance.

Niklos

Posté(e)

MĂȘme problĂšme. Je cherche a bloquer le trafic bittorrent par l'interface eth0

La route par défaut quand le VPN est monté est ppp0

Je pensais qu'il suffisait de bloquer les ports de bit torrent qui passent par eth0

Quelqu'un a une solution?

Posté(e)

Bonsoir

J'ai toujours pas trouvé

Je suis passé à la solution que je voulais éviter :utorrent sous windows, firewall et l'astuce d'utiliser "réseai domicile ou privé" pour filter les accÚs d'une application mais c'est un autre sujet :)

Posté(e)

Oui, j'ai l'impression que ce n'est pas possible. La chaine OUTPUT de iptables ne prends pas l'option -i pour spécifier l'interface... J'ai l'impression que la seule solution est un routeur dédié comme openwrt :-/

Posté(e) (modifié)

Sérieusement je capte rien j'ai mis ça

DiskStation> iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 23 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 1234 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 5000 -j ACCEPT
DiskStation> iptables -A OUTPUT -p tcp --dport 9997 -j ACCEPT
DiskStation> iptables -P OUTPUT DROP
En gros, en sortie j'accepte les port 22 23 1234 5000 9997 puis je passe la chain OUTPUT en DROP, normalement les connexions sortantes sur les ports dĂ©signĂ©s devraient ĂȘtre valides, et pourtant dĂšs que la commande iptables -P OUTPUT DROP est validĂ©es, je n'ai plus aucun accĂšs
Je capte pas...

Hum il me semble qu'il y a une grosse erreur dans cette configuration pour se que tu veux faire : Tu spécifies le port distant (--dport) pour une sortie.

Par exemple, pour le port 22 : tu autorises ton NAS Ă  faire du ssh sur une machine distante pas Ă  rĂ©pondre aux requĂȘtes ssh (lorsque tu te connecte depuis ton PC, celui-ci n'envoi pas les infos depuis le port 22 pour une connexion ssh mais pointe vers ce port, le retour se fait depuis le port 22 mais vers un autre port)

Il faut utiliser le port d'envoi (--sport) soit : iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

Plus d'exemples lĂ  : http://www.thegeekstuff.com/2011/03/iptables-inbound-and-outbound-rules/

AprÚs je ne sais pas si c'est réalisable sur le Syno (je n'ai pas testé)

Modifié par Addon-X
  • 2 ans aprĂšs...
Posté(e)

Bonjour,

 

Je me permets de dĂ©terrer le sujet. Est-ce que quelqu'un a trouvĂ© une solution au problĂšme de Piou2fois ? Piou2fois lui-mĂȘme peut ĂȘtre?

Moi, je suis toujours preneur.

Cordialement.

Posté(e)

Je sais pas si cette solution pourrais t aider mais voici mon fonctionnement.

Je télécharge obligatoirement par le vpn, mais je garde un accÚs depuis l extérieur sans passer par le vpn.

J'ai un script qui contrĂŽle toutes les minutes le vpn et le relance et coupe DSDownload au cas ou, jusqu a ce que le vpn soit de nouveau up.

Modifie le en fonction de tes besoins.

Pour garder l’accùs depuis l exterieur

Tu lance ton vpn

Tu va dans le panneau de config puis réseaux

Tu va dans option avancé tu décoche "multiple" gateway tu fais ok puis appliquer.

Tu refais la meme chose mais cette fois ci en le gardant cocher.

Le serveur recréera les routes pour l accÚs extérieur mais ne changera pas l'interface pour DSDownload

#!/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= " Tes ports de DLL"

# UDP port authorized
vpn_udp_port=" Tes ports de DLL"

# OpenVPN configuration
openvpn_confid="o..... bidule
openvpn_configname="Ton super VPN"

############### 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;

 

  • 8 mois aprĂšs...
Posté(e)

Bonjour Islandar,

Je suis intéressé par ton script seulement je n'y connais rien en linux... :-s

Pourrais-tu complĂ©ter en donnant le format du nom de fichier Ă  mettre (extension ?), oĂč et comment l'enregistrer sur le NAS stp ?

Citation

Tu va dans option avancé tu décoche "multiple" gateway tu fais ok puis appliquer.
Tu refais la meme chose mais cette fois ci en le gardant cocher.

AprÚs avoir lancé le script je suppose ? D'ailleurs comment le lance-t-on ? :-)

En espérant que tu passes dans le coin ou que quelqu'un d'autre de passage puisse m'expliquer.

De toute façon merci pour ton partage :-)

eric

 

  • 4 mois aprĂšs...
Posté(e)

Bonjour

Je serais aussi intéressé par le script.

Islandar pourrais tu stp revenir plus en détail sur la procédure de mise en route de ton script ?

Je possĂšde un DS715 sous DSM 6.0.2-8451 Update 9 et suis chez PureVPN en OpenVPN.

Je sais trÚs bien bidouillé sous Dos et Windows mais Linux je suis plutÎt un Newbees (mais je m'entraine avec mon RasperryPi...)

Voila par avance merci de vos interventions

  • 11 mois aprĂšs...
  • 2 mois aprĂšs...
Posté(e)

Bonjour Ă  tous,

Salut Islandar, j'ai pris ton script et l'ai adpaté pour chez moi. Il fonctionne parfaitement, mais il semblerait que dans le script la condition ci-dessous avec la fonction ps ne fonctionne pas.

 

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

 

J'ai systématiquement "ERROR, DownloadStation is stopped" qui s'inscrit dans le fichier de log. alors que tout tourne.

quand je suis dans putty et je tape :

ps | grep -v "grep" | grep "/sbin/scheduler"

je n'ai aucun retour.

 

Si je tape :

ps ax  | grep -v "grep" | grep "/sbin/scheduler"

lĂ  j'ai bien en retour, mais si je remets cette commande dans le script, le script plante.

 

Peux tu me dire si le script fonctionne toujours chez toi ou si tu l'as modifié depuis ?

Merci

 

Posté(e)

Bonjour à tous, aprés avoir écrit à Synology pour préconiser une option comme sur la seedbox de Free qui n'autorise que le DL via le VPN, voici le retour que j'ai eu. Aussi je vous invite tous à leur écrire pour demander cette évolution.

 

Bonjour Monsieur ,

Je vous remercie pour votre retour.

Nous attachons une grande importance aux retours et suggestions de nos utilisateurs, qui nous permettent d’amĂ©liorer toujours plus nos produits.

Votre suggestion est donc bien prises en compte et je vais transmettre celle-ci Ă  nos Ă©quipes de dĂ©veloppement afin qu’elles Ă©tudient la possibilitĂ© d’ajouter ces fonctionnalitĂ©s.
Notez cependant que l'intégration de fonctionnalités dépendra du nombre de retours de nos clients, ainsi que des ressources dont nous disposons et de notre stratégie. Plus nous avons de retours utilisateurs sur une fonctionnalité, plus forte est la possibilité que celle-ci soit intégrée et plus rapidement. Mais nous ne pourrons garantir que cela soit nécessairement ajoutée selon ces points.

Afin d'ĂȘtre tenu au courant des ajouts de fonctionnalitĂ©s dans le futur, vous pourrez souscrire Ă  notre newsletter depuis votre compte Synology.
Nous vous remercions encore pour votre demande d'Ă©volution.

Bien cordialement

  • 1 an aprĂšs...
Posté(e)

Bonjour,

Update car il semble que le scheduler ait changé de nom : dans le script, il faut remplacer toutes les occurrences de /sbin/scheduler par /sbin/synodlscheduler

Bon DL 😀

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.