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