Piou2fois Posté(e) le 3 septembre 2013 Partager Posté(e) le 3 septembre 2013 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 ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Piou2fois Posté(e) le 4 septembre 2013 Auteur Partager Posté(e) le 4 septembre 2013 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? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Piou2fois Posté(e) le 4 septembre 2013 Auteur Partager Posté(e) le 4 septembre 2013 Autre point, les règles INPUT mise à la main sont conservées, les OUTPUT non (iptables -L m'affiche les règles juste après mais au bout de 1 min, les OUTPUT ont disparu...) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Piou2fois Posté(e) le 5 septembre 2013 Auteur Partager Posté(e) le 5 septembre 2013 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... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Niklos Posté(e) le 29 septembre 2013 Partager Posté(e) le 29 septembre 2013 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
rosnoun Posté(e) le 29 septembre 2013 Partager Posté(e) le 29 septembre 2013 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? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Piou2fois Posté(e) le 29 septembre 2013 Auteur Partager Posté(e) le 29 septembre 2013 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
rosnoun Posté(e) le 30 septembre 2013 Partager Posté(e) le 30 septembre 2013 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 :-/ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 30 septembre 2013 Partager Posté(e) le 30 septembre 2013 C'est peut-être possible en utilisant l'ID du processus (PID). Voir --pid-owner id_de_processus : http://www.netfilter.org/documentation/HOWTO/fr/packet-filtering-HOWTO-7.html 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Addon-X Posté(e) le 3 octobre 2013 Partager Posté(e) le 3 octobre 2013 (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é le 3 octobre 2013 par Addon-X 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
schoon Posté(e) le 20 janvier 2016 Partager Posté(e) le 20 janvier 2016 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Islandar Posté(e) le 20 janvier 2016 Partager Posté(e) le 20 janvier 2016 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; 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eriiic Posté(e) le 1 octobre 2016 Partager Posté(e) le 1 octobre 2016 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fredh Posté(e) le 15 février 2017 Partager Posté(e) le 15 février 2017 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
rapsch Posté(e) le 16 janvier 2018 Partager Posté(e) le 16 janvier 2018 Bonjour à tous, Je suis preneur d'une aide sur le sujet. Merci à vous. RS 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tartel83600 Posté(e) le 31 mars 2018 Partager Posté(e) le 31 mars 2018 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tartel83600 Posté(e) le 4 avril 2018 Partager Posté(e) le 4 avril 2018 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
platanax Posté(e) le 26 septembre 2019 Partager Posté(e) le 26 septembre 2019 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 😀 1 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.