Olá! Se alguem puder me dar uma luz....
tenho a seguinte regra de iptables:
iptables -A PREROUTING -t mangle -s ! 10.0.0.0/16 -m layer7 --l7proto XXX -j MARK --set-mark 12
(no lugar do XXX coloquei varios protocolos P2P)
Com isso marquei tudo que é pacote P2P que vai para a minha rede interna.
Ai criei o HTB assim:
#Criando o ROOT
tc qdisc add dev eth1 root handle 1: htb default 15
tc class add dev eth1 parent 1: classid 1:1 htb rate 1024kbit ceil 1024kbit
#P2P
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 20kbit ceil 20kbit prio 5
#Ligando as marcas as regras
tc filter add dev eth1 parent 1:0 protocol ip prio 5 handle 12 fw classid 1:10
Até ai tudo beleza! Abro um kazaa e os downloads dele nao passam de 20k.
Ai eu insiro as regras
#250
tc class add dev eth1 parent 1:1 classid 1:250 htb rate 300kbit ceil 300kbit prio 5
tc class add dev eth1 parent 1:250 classid 1:2501 htb rate 300kbit ceil 300kbit prio 5
tc filter add dev eth1 parent 1:0 protocol ip prio 5 u32 match ip dst 10.0.0.250/32 classid 1:2501
Com elas eu queria controlar o download da maquina 10.0.0.250 a 30k.
É realmente isso que acontece, porém, ele usa o limite de 30k para o P2P tambem, ou seja, qdo coloco essa regra ele ignora a anterior de 20k.
Tem como eu fazer as duas regras funcionarem ao mesmo tempo? Ou seja, quero que a minha rede toda nao passe de 20k de P2P e, ao mesmo tempo, que cada maquina dela tenha 30k de download máximo.
Obrigado
Fabrício