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]
>
>

Responder a