From 7101842139ac7c9142d784405bc67ce44c5507bf Mon Sep 17 00:00:00 2001 From: salles Date: Tue, 25 Apr 2006 23:17:00 +0200 Subject: [PATCH] On place les rgles iptables par dfaut du p2p ds le dbut pour pas rester trop longtemps sans ce comportement par dfaut. On prcise davantage les rgles par dfaut en indiquant la source ou la destination selon le cas darcs-hash:20060425211700-72cb0-7fd0a85a105376121bfb50a607d0df5051902306.gz --- gestion/gen_confs/firewall.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gestion/gen_confs/firewall.py b/gestion/gen_confs/firewall.py index e5199693..0abcfffd 100755 --- a/gestion/gen_confs/firewall.py +++ b/gestion/gen_confs/firewall.py @@ -4,12 +4,14 @@ # Manuel Sabban # Frédéric Pauget # Mathieu Segaud +# Nicolas Salles # # Rewritten as inherited classes from firewall_crans # by Mathieu Segaud # # Copyright (c) 2004 Manuel Sabban, Frédéric Pauget # Copyright (c) 2005 Mathieu Segaud +# Copyright (c) 2006 Nicolas Salles # # Permission to use, copy, and modify this software with or without fee # is hereby granted, provided that this entire notice is included in @@ -71,7 +73,6 @@ def tc(cmd): """ Interface de tc """ syslog.syslog(syslog.LOG_INFO,cmd) status,output=getstatusoutput("/sbin/tc "+cmd) - #print cmd if status: raise TcError(cmd,status,output) return output @@ -544,6 +545,12 @@ class firewall_komaz(firewall_crans) : tc("class add dev %s parent 1: classid 1:1 htb rate %s ceil %s" % (interface, p2p.debit_max, p2p.debit_max)) tc("class add dev %s parent 1:1 classid 1:9998 htb rate %s ceil %s" % (interface, debit_adh, p2p.debit_max)) tc("qdisc add dev %s parent 1:9998 handle 9999: sfq perturb 10" % interface) + # Par défaut on envoit les paquets dans la classe 9998 + for net in NETs['all'] : + iptables("-t mangle -A POSTROUTING -o crans -d %s -m mark " % net + + "--mark %s -j CLASSIFY --set-class 1:9998" % conf_fw.mark['bittorrent']) + iptables("-t mangle -A POSTROUTING -o ens -s %s -m mark " % net + + "--mark %s -j CLASSIFY --set-class 1:9998" % conf_fw.mark['bittorrent']) # On construit ensuite les classes et qdisc pour chaque adhérent for adherent in adherents : self.anim.cycle() @@ -561,11 +568,6 @@ class firewall_komaz(firewall_crans) : "--mark %s -j CLASSIFY --set-class 1:%s" % (conf_fw.mark['bittorrent'], class_id)) iptables("-t mangle -A SUBNET-%s -o ens -s %s -m mark " % (subnet, ip) + "--mark %s -j CLASSIFY --set-class 1:%s" % (conf_fw.mark['bittorrent'], class_id)) - # Par défaut on envoit les paquets dans la classe 9998 - iptables("-t mangle -A POSTROUTING -o crans -m mark " + - "--mark %s -j CLASSIFY --set-class 1:9998" % conf_fw.mark['bittorrent']) - iptables("-t mangle -A POSTROUTING -o ens -m mark " + - "--mark %s -j CLASSIFY --set-class 1:9998" % conf_fw.mark['bittorrent']) self.anim.reinit() print OK