Eu tenho a TOPOLOGIA eth0 : REDE eth1 : Internet
Fiz exatamento como passou, apenas nos ultimos comando iptables que tive que tirar o -i INTERFACE , pois o POSTROUTING não funciona com o paramentro -i Ficou assim o comando: Mesmo assim não funcionou as regras de download. Meu link é 2 Mb. Apos o script coninuou consumindo a mesma banda que antes. 154 k Ao limpar as regras o download continua na mesma velocidade. # eth0 -> Rede # eth1 -> Internet # Limpa regras tc qdisc del dev eth0 root tc qdisc del dev eth1 root # Regra padrao tc qdisc add dev eth0 root handle 1: htb default 30 tc qdisc add dev eth1 root handle 1: htb default 30 # Controlar DOWNLOAD -> Sai de eth1 para eth0 # Classe 1 - 1024 kbps tc class add dev eth1 parent 1: classid 1:1 htb rate 1024kbit ceil 1024kbit # Classe 1 - Fila tc qdisc add dev eth1 parent 1:1 sfq perturb 10 # Classe 10 - de 512 kbps, pode chegar a 1024 kbps tc class add dev eth1 parent 1:1 classid 1:10 htb rate 512kbit ceil 1024kbit # Classe 10 - Fila tc qdisc add dev eth1 parent 1:10 sfq perturb 10 # Classe 20 - de 400 kbps, pode chegar a 1024 kbps tc class add dev eth1 parent 1:1 classid 1:20 htb rate 400kbit ceil 1024kbit # Classe 20 - Fila tc qdisc add dev eth1 parent 1:20 sfq perturb 10 # Classe 30 - de 112 kbps, pode chegar a 1024 kbps tc class add dev eth1 parent 1:1 classid 1:30 htb rate 112kbit ceil 1024kbit # Classe 30 - Fila tc qdisc add dev eth1 parent 1:30 sfq perturb 10 # Todos os pacotes marcados com 1 vai para a fila da classe 10 tc filter add dev eth1 parent 1: protocol ip handle 1 fw classid 1:10 # Todos os pacotes marcados com 2 vai para a fila da classe 20 tc filter add dev eth1 parent 1: protocol ip handle 2 fw classid 1:20 # Marcando os pacotes iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.1 -j MARK --set-mark 2 iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.1 -j RETURN # Controlar UPLOAD -> Sai de eth1 para eth0 # Classe 1 - 100 mbit tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit # Classe 1 - Fila tc qdisc add dev eth0 parent 1:1 sfq perturb 10 # Classe 2 - de 1024 kbps tc class add dev eth0 parent 1: classid 1:2 htb rate 1024kbit ceil 1024kbit # Classe 2 - Fila tc qdisc add dev eth0 parent 1:2 sfq perturb 10 # Classe 10 - de 512 kbps, pode chegar a 1024 kbps tc class add dev eth0 parent 1:2 classid 1:10 htb rate 512kbit ceil 1024kbit # Classe 10 - Fila tc qdisc add dev eth0 parent 1:10 sfq perturb 10 tc class add dev eth0 parent 1:2 classid 1:20 htb rate 400kbit ceil 1024kbit tc qdisc add dev eth0 parent 1:20 sfq perturb 10 tc class add dev eth0 parent 1:2 classid 1:30 htb rate 112kbit ceil 1024kbit tc qdisc add dev eth0 parent 1:30 sfq perturb 10 tc class add dev eth0 parent 1:1 classid 1:3 htb rate 98976kbit ceil 100mbit tc qdisc add dev eth0 parent 1:3 sfq perturb 10 tc filter add dev eth0 parent 1: protocol ip handle 3 fw classid 1:10 tc filter add dev eth0 parent 1: protocol ip handle 4 fw classid 1:20 tc filter add dev eth0 parent 1: protocol ip handle 5 fw classid 1:30 iptables -t mangle -A POSTROUTING -d 192.168.0.1 -j MARK --set-mark 3 iptables -t mangle -A POSTROUTING -d 192.168.0.1 -j RETURN iptables -t mangle -A POSTROUTING -j MARK --set-mark 5 iptables -t mangle -A POSTROUTING -j RETURN Tentei o HTB e o script do CBQ.init e com todos eles não bloqueou o trafego. Se tiver alguma sujestão aguardo Att Em 7 de outubro de 2010 15:18, Junior Polegato - Linux < [email protected]> escreveu: > Em 02-10-2010 09:53, gunix escreveu: > > no debian etch, nos tinhamos ainda o CBQ, que faziamos nossos controlinhos >> de banda, com boa eficiência. >> Porem no lenny ele foi descontnuado e com isso so tenho a opção do HTB. >> Alguem sabe me dizer se tenho outra alternativa? O Motivo é que com o HTB >> eu to tendo um problema que nao consegui solucionar, e mesmo com ajuda de >> universitarios as tentativas foram em vão. >> Quando uso o HTB, quem usa o SQUID, mesmo com a internet liberada o >> trafego fica em apenas 8K. >> Alguem pode me judar com o HTB ou me dizer se existe outro mais simples. >> > > Olá, > > Com HTB é de certa forma simples, mas primeiro precisa desenhar sua > topologia, basicamente: > > Rede Interna ------ eth1 === Firewall === eth0 ------- Internet > > > Bom, primeiro precisa-se deixar claro que você somente controla o > que sai de cada interface a partir do Firewall, e que você deve criar uma > fila de pacotes para cada interface, dividir essa fila em classes e em cada > classe criar uma fila, que pode ser dividida em classses, etc... > > Então vamos supor que tenha uma rede 10.10.10.0/24, sua internet > seja de 1 Mbps nos dois sentidos, quero reservar banda de download e upload > de 512 kbps para o computador 10.10.10.10 e usar os 512 kbps restantes para > dar garantia de banda de 400 kbps a todo tráfego de ssh e https, ficando o > restante livre: > > Upload em kbps: > > de 10.10.10.10 ---> classe 1:10 - 512 até 1.024 | > para ssh e https ---> classe 1:20 - 400 até 1.024 |---> eth0 até 1.024 > outros ---> classe 1:30 - 112 até 1.024 | > > > Download em kbps: > > classe 2 - 1.024 até 1.024 | > classe 3 - 98.976 até 100.000 | ---> eth1 até 100.000 > > para 10.10.10.10 ---> classe 1:10 - 512 até 1.024 | > de ssh e https ---> classe 1:20 - 400 até 1.024 |---> classe 2 até 1.024 > de eth0 - outros ---> classe 1:30 - 112 até 1.024 | > > > > # Pacotes que saem pela eth0, vão para a internet > > # Limpar configurações > tc qdisc del dev eth0 root > # Fila da interface de internet, tudo que não tiver regra vai para classe > 30 > tc qdisc add dev eth0 root handle 1: htb default 30 > # Classe única da fila principal de 1024 kbps - classe 1 > tc class add dev eth0 parent 1: classid 1:1 htb rate 1024kbit ceil > 1024kbit > # Fila da classe 1 > tc qdisc add dev eth0 parent 1:1 sfq perturb 10 > # Classe de 512 kbps, pode chegar a 1024 kbps - classe 10 > tc class add dev eth0 parent 1:1 classid 1:10 htb rate 512kbit ceil > 1024kbit > # Fila da classe 10 > tc qdisc add dev eth0 parent 1:10 sfq perturb 10 > # Classe de 400 kbps, pode chegar a 1024 kbps - classe 20 > tc class add dev eth0 parent 1:1 classid 1:20 htb rate 400kbit ceil > 1024kbit > # Fila da classe 20 > tc qdisc add dev eth0 parent 1:20 sfq perturb 10 > # Classe de 112 kbps, pode chegar a 1024 kbps - classe 30 > tc class add dev eth0 parent 1:1 classid 1:30 htb rate 112kbit ceil > 1024kbit > # Fila da classe 30 > tc qdisc add dev eth0 parent 1:30 sfq perturb 10 > # Todos os pacotes marcados com 1 vai para a fila da classe 10 > tc filter add dev eth0 parent 1: protocol ip handle 1 fw classid 1:10 > # Todos os pacotes marcados com 2 vai para a fila da classe 20 > tc filter add dev eth0 parent 1: protocol ip handle 2 fw classid 1:20 > # Os outros pacotes vão para a fila padrão definida na fila da interface > > # Marcando os pacotes > # Pacotes vindos de 10.10.10.10 via eth1 marca-se com 1 > iptables -t mangle -A PREROUTING -i eth1 -s 10.10.10.10 -j MARK --set-mark > 1 > iptables -t mangle -A PREROUTING -i eth1 -s 10.10.10.10 -j RETURN > # Pacotes para ssh e https via eth1 marca-se com 2 > iptables -t mangle -A PREROUTING -i eth1 -p tcp -m multiport --dports > ssh,https -j MARK --set-mark 2 > iptables -t mangle -A PREROUTING -i eth1 -p tcp -m multiport --dports > ssh,https -j RETURN > > # Pacotes que saem pela eth1, vieram da internet > > # Limpar configurações > tc qdisc del dev eth1 root > # Fila da interface de internet, tudo que não tiver regra vai para classe 3 > tc qdisc add dev eth1 root handle 1: htb default 3 > # Classe única da fila principal de 100 Mbps - classe 1 > tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit ceil > 100mbit > # Fila da classe 1 > tc qdisc add dev eth1 parent 1:1 sfq perturb 10 > # Classe 2 de 1024 kbps - classe 2 > tc class add dev eth1 parent 1: classid 1:2 htb rate 1024kbit ceil > 1024kbit > # Fila da classe 1 > tc qdisc add dev eth1 parent 1:2 sfq perturb 10 > # Classe de 512 kbps, pode chegar a 1024 kbps - classe 10 > tc class add dev eth1 parent 1:2 classid 1:10 htb rate 512kbit > ceil 1024kbit > # Fila da classe 10 > tc qdisc add dev eth1 parent 1:10 sfq perturb 10 > # Classe de 400 kbps, pode chegar a 1024 kbps - classe 20 > tc class add dev eth1 parent 1:2 classid 1:20 htb rate 400kbit > ceil 1024kbit > # Fila da classe 20 > tc qdisc add dev eth1 parent 1:20 sfq perturb 10 > # Classe de 112 kbps, pode chegar a 1024 kbps - classe 30 > tc class add dev eth1 parent 1:2 classid 1:30 htb rate 112kbit > ceil 1024kbit > # Fila da classe 30 > tc qdisc add dev eth1 parent 1:30 sfq perturb 10 > # Classe de quase 99 Mbps, pode chegar a 100mbps - classe 3 > tc class add dev eth1 parent 1:1 classid 1:3 htb rate 98976kbit ceil > 100mbit > # Fila da classe 3 > tc qdisc add dev eth1 parent 1:3 sfq perturb 10 > # Todos os pacotes marcados com 3 vão para a fila da classe 10 > tc filter add dev eth1 parent 1: protocol ip handle 3 fw classid 1:10 > # Todos os pacotes marcados com 4 vão para a fila da classe 20 > tc filter add dev eth1 parent 1: protocol ip handle 4 fw classid 1:20 > # Todos os pacotes marcados com 5 vão para a fila da classe 30 > tc filter add dev eth1 parent 1: protocol ip handle 5 fw classid 1:30 > # Os outros pacotes vão para a fila padrão definida na fila da interface, > no caso pacotes do firewall > > # Marcando os pacotes > # Pacotes com destino à 10.10.10.10, marca-se com 3 > iptables -t mangle -A POSTROUTING -i eth1 -d 10.10.10.10 -j MARK --set-mark > 3 > iptables -t mangle -A POSTROUTING -i eth1 -d 10.10.10.10 -j RETURN > # Pacotes vindos de requisições ssh e https via eth1 marca-se com 4 > iptables -t mangle -A POSTROUTING -i eth1 -p tcp -m multiport --sports > ssh,https -j MARK --set-mark 4 > iptables -t mangle -A POSTROUTING -i eth1 -p tcp -m multiport --sports > ssh,https -j RETURN > # Pacotes com destino diferente de 10.10.10.10, ssh e https, os outros, > marca-se com 5 > iptables -t mangle -A POSTROUTING -i eth1 -j MARK --set-mark 5 > iptables -t mangle -A POSTROUTING -i eth1 -j RETURN > > > []'s > Junior Polegato > > > > -- > To UNSUBSCRIBE, email to [email protected] > with a subject of "unsubscribe". Trouble? Contact > [email protected] > Archive: http://lists.debian.org/[email protected] > >

