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
This commit is contained in:
salles 2006-04-25 23:17:00 +02:00
parent 851d39384e
commit 7101842139

View file

@ -4,12 +4,14 @@
# Manuel Sabban <manu@feyd-rautha.org>
# Frédéric Pauget <pauget@crans.ens-cachan.fr>
# Mathieu Segaud <matt@minas-morgul.org>
# Nicolas Salles <salles@crans.org>
#
# Rewritten as inherited classes from firewall_crans
# by Mathieu Segaud <matt@minas-morgul.org>
#
# 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