[./gestion/gen_confs/firewall.py] On a plus besoin des classes tc
darcs-hash:20091002225222-8fbb1-f200ab6c26583cc0af39cf351f935219392942ac.gz
This commit is contained in:
parent
2b8e59f0ab
commit
ea2ff81b38
1 changed files with 45 additions and 45 deletions
|
@ -571,52 +571,52 @@ class firewall_komaz(firewall_crans) :
|
|||
self.anim = anim('\tGénération des classes de filtrage p2p', len(adherents))
|
||||
|
||||
# Création des classes et qdisc
|
||||
for interface in [eth_ext, eth_int]:
|
||||
# for interface in [eth_ext, eth_int]:
|
||||
# On vide les classes et qdisc
|
||||
try:
|
||||
tc("qdisc del dev %s root" % interface)
|
||||
except TcError, c:
|
||||
warn += str(c) + '\n'
|
||||
# On construit les classes et qdisc de base
|
||||
# La partie principale qui définit le comportement par défaut
|
||||
tc("qdisc add dev %(interface)s root handle 1: htb r2q 1" % locals())
|
||||
tc("class add dev %(interface)s parent 1: classid 1:1 "
|
||||
"htb rate %(debit_max)s ceil %(debit_max)s" % locals())
|
||||
tc("class add dev %(interface)s parent 1:1 classid 1:9999 "
|
||||
"htb rate %(debit_adh)s ceil %(debit_adh)s" % locals())
|
||||
tc("qdisc add dev %(interface)s parent 1:9999 "
|
||||
"handle 9999: sfq perturb 10" % locals())
|
||||
debit_ftp = 1000
|
||||
tc("class add dev %(interface)s parent 1:1 classid 1:9997 "
|
||||
"htb rate %(debit_ftp)s ceil %(debit_ftp)s" % locals())
|
||||
tc("qdisc add dev %(interface)s parent 1:9997 "
|
||||
"handle 9997: sfq perturb 10" % locals())
|
||||
|
||||
# On construit ensuite les classes et qdisc pour chaque adhérent
|
||||
for adherent in adherents:
|
||||
self.anim.cycle()
|
||||
# On ne peut pas reprendre le numéro 1
|
||||
class_id = int(adherent.id()) + 1
|
||||
# Il nous faut un n° inférieur à 9999 unique
|
||||
qdisc_id = class_id
|
||||
for interface in [self.eth_ext, self.eth_int]:
|
||||
tc("class add dev %(interface)s parent 1:1 classid 1:%(class_id)d "
|
||||
"htb rate %(debit_adh)s ceil %(debit_max)s" % locals())
|
||||
tc("qdisc add dev %(interface)s parent 1:%(class_id)d "
|
||||
"handle %(qdisc_id)d: sfq perturb 10" % locals())
|
||||
|
||||
# Classification des adhérents dans leur classe respective
|
||||
for machine in adherent.machines():
|
||||
ip = machine.ip()
|
||||
if not AddrInNet(ip, NETs['all']):
|
||||
# Cas particulier d'une machine ayant une IP non CRANS
|
||||
continue
|
||||
subnet = IpSubnet(machine.ip(), conf_fw.mask[-1])
|
||||
iptables("-t mangle -A SUBNET-%(subnet)s -o crans -d %(ip)s "
|
||||
"-j CLASSIFY --set-class 1:%(class_id)s" % locals())
|
||||
iptables("-t mangle -A SUBNET-%(subnet)s -o ens -s %(ip)s "
|
||||
"-j CLASSIFY --set-class 1:%(class_id)s" % locals())
|
||||
|
||||
# try:
|
||||
# tc("qdisc del dev %s root" % interface)
|
||||
# except TcError, c:
|
||||
# warn += str(c) + '\n'
|
||||
# # On construit les classes et qdisc de base
|
||||
# # La partie principale qui définit le comportement par défaut
|
||||
# tc("qdisc add dev %(interface)s root handle 1: htb r2q 1" % locals())
|
||||
# tc("class add dev %(interface)s parent 1: classid 1:1 "
|
||||
# "htb rate %(debit_max)s ceil %(debit_max)s" % locals())
|
||||
# tc("class add dev %(interface)s parent 1:1 classid 1:9999 "
|
||||
# "htb rate %(debit_adh)s ceil %(debit_adh)s" % locals())
|
||||
# tc("qdisc add dev %(interface)s parent 1:9999 "
|
||||
# "handle 9999: sfq perturb 10" % locals())
|
||||
# debit_ftp = 1000
|
||||
# tc("class add dev %(interface)s parent 1:1 classid 1:9997 "
|
||||
# "htb rate %(debit_ftp)s ceil %(debit_ftp)s" % locals())
|
||||
# tc("qdisc add dev %(interface)s parent 1:9997 "
|
||||
# "handle 9997: sfq perturb 10" % locals())
|
||||
#
|
||||
# # On construit ensuite les classes et qdisc pour chaque adhérent
|
||||
# for adherent in adherents:
|
||||
# self.anim.cycle()
|
||||
# # On ne peut pas reprendre le numéro 1
|
||||
# class_id = int(adherent.id()) + 1
|
||||
# # Il nous faut un n° inférieur à 9999 unique
|
||||
# qdisc_id = class_id
|
||||
# for interface in [self.eth_ext, self.eth_int]:
|
||||
# tc("class add dev %(interface)s parent 1:1 classid 1:%(class_id)d "
|
||||
# "htb rate %(debit_adh)s ceil %(debit_max)s" % locals())
|
||||
# tc("qdisc add dev %(interface)s parent 1:%(class_id)d "
|
||||
# "handle %(qdisc_id)d: sfq perturb 10" % locals())
|
||||
#
|
||||
# # Classification des adhérents dans leur classe respective
|
||||
# for machine in adherent.machines():
|
||||
# ip = machine.ip()
|
||||
# if not AddrInNet(ip, NETs['all']):
|
||||
# # Cas particulier d'une machine ayant une IP non CRANS
|
||||
# continue
|
||||
# subnet = IpSubnet(machine.ip(), conf_fw.mask[-1])
|
||||
# iptables("-t mangle -A SUBNET-%(subnet)s -o crans -d %(ip)s "
|
||||
# "-j CLASSIFY --set-class 1:%(class_id)s" % locals())
|
||||
# iptables("-t mangle -A SUBNET-%(subnet)s -o ens -s %(ip)s "
|
||||
# "-j CLASSIFY --set-class 1:%(class_id)s" % locals())
|
||||
#
|
||||
# +-----------------+
|
||||
# | QOS pour le ftp |
|
||||
# +-----------------+
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue