#  > Servidores >  > Servidores de Rede >  >  Tutorial - Controle de Banda no Debian - Shaper (CBQ)

## ttjedi

Olá pessoal... eu criei esse tuto ai para ensinar o pessoal a limitar a banda no Debian,,, quem usa outras distribuiçoes é so adaptar os caminhos.... é facinho.. espero que ajudem vocês;;;; qualquer duvida me falem....



Tutorial do Shaper (CBQ) limitador de banda

Thyago R. Rezier

---------------------------------------------

Primeiro intstale o pacote shaper (no debian)
CQB nas outras distribuiçoes.

no debian:

#apt-get install shaper


-> Agora é hora de criar os arquivos de configuração da banda


-> Crei um aquivo com a seguinte regra

___________________________
DEVICE=eth1,10Mbit,1Mbit
RATE=64Kbit
WEIGHT=6Kbit
PRIO=5
RULE=13.0.0.2
BOUNDED=yes
ISOLATED=yes
_____________________________

Device = o dispositivo que vai ser limitado
Rate = a velocidade da banda
Weight = a velocidade de tranferencia (normalmente divide a velocidade por 8 ou 10)
Prio = prioridade da banda (5 é um numero padrao)
Rule = ip ou rede a ser controlada (por ser assim tbm EX: 13.0.0.0/24)
Bounded e Isolated = se tiver em "no" o usuário pode usar a banda exedente
------------------------------------------------------------------------------------------

salve o aquivo na pastar /etc/shaper (no debian)

o nome a ser usado no arquivo deve seguir a seguinte regra:

cbq-0002.64-in

--------------------------------------------------------------------------------------------

Pronto ja está configurado a banda de entrada,,, agora vem a de saida


DEVICE=eth1,10Mbit,1Mbit
RATE=32Kbit
WEIGHT=3Kbit
PRIO=5
RULE=13.0.0.2,
BOUNDED=yes
ISOLATED=yes

________________________________________________________________________________________________

A unica diferenca para o de cima,, é que a velocidade de saida
foi diminuida e no FINAL DO IP SEMPRE TERÁ QUE TER UM ,(VIRGULA)

salve no mesmo diretorio com o seguinte padrão:

cbq-0002.64-out

________________________________________________________________________________________________

Depois é so rodar o shaper (cqb)

No debian:

/etc/init.d/shaper restart

-------------------------------------------------------------------------------------------------

Prontinho.;;;; sua limitação esta feita!!!!

----------


## spyderlinux

hehehe, e ai arts. 

Ow tem um link la em cima pra mandar artigos rs.

----------


## ttjedi

putz!!!! rodei tudo e nao achei esse link... hahaha... achei o link artigos... mas nada para incluir!!! hahaha... valew Rodrigo!!!

----------


## Celio-Ctba

Para um melhor entendimento, qual seria um uso prático para a limitação, por favor um exemplo de situação em que seria necessário o uso. (desculpe a ignorancia).

----------


## ttjedi

Bom imagine 2 situações...

Uma firma onde tem um servidor para receber internet,,, 
Ele recebe 2 mb de velocidade.
Na firma tem 10 computadores para usarem os 2 mb que chega no servidor.
Só que vc nao quer simplismente compartilhar a conexao com eles, pois imagine só... se apenas 1 computador tiver ligado ele vai usar os 2 mb que chega no servidor.
Digamos que estes 10 computadores estao divididos assim

Setor A - 3 computadores
Setor B - 4 Compuatadoes
SeTor C - 3 Compuatadores

Cada Setor vc quer que os computadores recebam velocidade diferente de acesso a internet priorizando os setores que mais precisam... entao com o shaper poderiam fazer que no setor A chegue apenas 512k de banda no setor B Chegue 64k e no Setor C 32k....

Ou Caso é para provedores de internet... onde vc recebe uma velocidade da prestadora e tem que dividir a velocidade para os clientes.... Entendeu??? Caso nao pode perguntar denovo que ireri te o prazer de resposnder!!

----------


## Celio-Ctba

Maravilha, entendi a necesidade do uso.
Mas ainda resta uma dúvida no arquivo: cbq-0002.64-out
as configurações são feitas para o servidor q recebe a banda certo.
Se fosse para dividir essa banda para esses 3 setores teriam q ser usadas 3 placas de rede e fazer configurações para cada uma?

DEVICE=eth1,10Mbit,1Mbit - 
RATE=32Kbit
WEIGHT=3Kbit
PRIO=5
RULE=13.0.0.2,
BOUNDED=yes
ISOLATED=yes

----------


## ttjedi

Não... com apenas um placa de rede vc pode dividir para os 3 setores,,, sendo que cada máquina o aquivo de configuração de banda teria uma configuração diferente.... como o exemplo:

Maquina 1

DEVICE=eth1,10Mbit,1Mbit
RATE=64Kbit
WEIGHT=6Kbit
PRIO=5
RULE=13.0.0.2
BOUNDED=yes
ISOLATED=yes

Maquina 2

DEVICE=eth1,10Mbit,1Mbit
RATE=64Kbit
WEIGHT=6Kbit
PRIO=5
RULE=13.0.0.3
BOUNDED=yes
ISOLATED=yes

Maquina 3

DEVICE=eth1,10Mbit,1Mbit
RATE=128Kbit
WEIGHT=12Kbit
PRIO=5
RULE=13.0.0.4
BOUNDED=yes
ISOLATED=yes

e assim por diante;;;; entendeu????/

----------


## Celio-Ctba

Então o arquivo: cbq-0002.64-out é o mesmo independente de quantas máquinas eu queira gerenciar na rede, certo? Este arquivo fica no servidor onde instalei o shaper e vou acrescendo as máquinas apenas modificando o IP e colocando a velocidade necessária para cada uma.

----------


## ttjedi

Mais ou menos.....

por exemplo para a máquina com o ip 192.168.0.2 crie um arquivo assim... Vamos dizer que ele tera 128k de banda

nome do arquivo: cbq-0002.128-in

DEVICE=eth1,10Mbit,1Mbit
RATE=128Kbit
WEIGHT=12Kbit
PRIO=5
RULE=192.168.0.2
BOUNDED=yes
ISOLATED=yes

para a máquina com o ip 192.168.0.3 crie um arquivo assim... Vamos dizer que ele tera 256k de banda

nome do arquivo: cbq-0003.256-in

DEVICE=eth1,10Mbit,1Mbit
RATE=256Kbit
WEIGHT=25Kbit
PRIO=5
RULE=192.168.0.3
BOUNDED=yes
ISOLATED=yes

por exemplo para a máquina com o ip 192.168.0.35 crie um arquivo assim... Vamos dizer que ele tera 768k de banda

nome do arquivo: cbq-0035.768-in

DEVICE=eth1,10Mbit,1Mbit
RATE=768Kbit
WEIGHT=76Kbit
PRIO=5
RULE=192.168.0.35
BOUNDED=yes
ISOLATED=yes

deu pra sacar?? qualquer coisa me fala!!! valew!!!!!!!!!

----------


## juniovitorino

Cara tipo como ficaria se fosse delimitar para uma faixa de ips, tipo 192.168.0.xx ate 192.1687.0.xxx? 
E como eu testo para ver se esta mesmo dividindo a banda?
Tem como eu ter duas placas de rede para receber dois links por exemplo e dividilos usando essa técnica? 

Exemplo, dois links de 8 mb = 16 mb dividir eles entre duas redes. dando 12mb para uma e 4mb para outra.

----------


## spyderlinux

Quando vc vai em artigos desce toda a barra de rolagem. La no rodape tem um negocio escrito 
NOTICIAS

clica ali e manda

----------


## ttjedi

> Cara tipo como ficaria se fosse delimitar para uma faixa de ips, tipo 192.168.0.xx ate 192.1687.0.xxx? 
> E como eu testo para ver se esta mesmo dividindo a banda?
> Tem como eu ter duas placas de rede para receber dois links por exemplo e dividilos usando essa técnica? 
> 
> Exemplo, dois links de 8 mb = 16 mb dividir eles entre duas redes. dando 12mb para uma e 4mb para outra.


Bom Primeiro acho que vc errou na hora de ecrever a faixa de ip... verifique qual a faixa que vc quer pois o ip 192.1687.0.XXX não existe... ve ai e me diz para eu te ajudar!!! valew!!!!

----------


## cvr

Muito bom. Mas isto funciona mesmo compartilhando a rede via nat ? E o seguinte tenho um server compartilhando a rede para todos( eth0 192.168.0.105). Agora quero montar um segundo server que recebe as conexoes deste. É neste segundo server que quero limitar a banda. Posso compatilhar minha eth0 via nat normal neste erver. E ai vou colocar todos passando pela eth1 com proxy e este controle. Funciona assim? E pq não quero mexer no server que ja esta funcionando. Monto um segundo com proxy e esse controle uma outra faixa de ip da eth1. Manda ai amigo.

----------


## ttjedi

> Muito bom. Mas isto funciona mesmo compartilhando a rede via nat ? E o seguinte tenho um server compartilhando a rede para todos( eth0 192.168.0.105). Agora quero montar um segundo server que recebe as conexoes deste. É neste segundo server que quero limitar a banda. Posso compatilhar minha eth0 via nat normal neste erver. E ai vou colocar todos passando pela eth1 com proxy e este controle. Funciona assim? E pq não quero mexer no server que ja esta funcionando. Monto um segundo com proxy e esse controle uma outra faixa de ip da eth1. Manda ai amigo.


Pode sim.... só fazer o processo dito acima normalmente, ativar o cbq e ja esta pronto.... ele nao tem nenhum problema com a Nat e nem com o proxy... ele trabalha independente disso.... valew!!!!!!!!!111

----------


## Furokawa

Olha só... se eu fizesse o controle de banda de dez máquinas, estes dez aquivos ficariam salvos no mesmo arquivo (cbq-0002.64-in, cbq-0002.64-out)?

----------


## ttjedi

> Olha só... se eu fizesse o controle de banda de dez máquinas, estes dez aquivos ficariam salvos no mesmo arquivo (cbq-0002.64-in, cbq-0002.64-out)?


bom... mais ou menos... vc teria que alternar os valores do arquivos para nao sobrescrever-los... seria assim: cbq-0002.64-in, cbq-0002.64-out - cbq-0003.64-in, cbq-0003.64-out - cbq-0004.64-in, cbq-0004.64-out - cbq-0005.64-in, cbq-0005.64-out e assim po diante!!!! entendeu??? valew!

----------


## djhulk

Voltando ao assunto do CBQ, Achei muito interessante, 
mas vamos verificar a seguinte situação:

Se no meu roteador onde estao as regras de CBQ para as maquinas da rede, tiver um Samba rodando onde o pessoal copia arquivos com frequencia, a copia e envio de arquivos sera limitada ?


Att Eduardo

----------


## ttjedi

> Voltando ao assunto do CBQ, Achei muito interessante, 
> mas vamos verificar a seguinte situação:
> 
> Se no meu roteador onde estao as regras de CBQ para as maquinas da rede, tiver um Samba rodando onde o pessoal copia arquivos com frequencia, a copia e envio de arquivos sera limitada ?
> 
> 
> Att Eduardo


Bom,,, não.... somente a velocidade de transferencia da sua internet..... valew

----------


## michellantunes

/etc/init.d/shaper restart
Stopping CBQ traffic shaping: RTNETLINK answers: No such file or directory
shaper.
Starting CBQ traffic shaping: RTNETLINK answers: No such file or directory
RTNETLINK answers: File exists
RTNETLINK answers: File exists
shaper.

Esta tudo certto? Pelo log parece que as regras estão carregando. Mas essa mensagem?

#cat /var/log/cbq-start

# Fri May 19 09:08:14 AMT 2006
# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:08:54:14:20:63 brd ff:ff:ff:ff:ff:ff
# tc qdisc del dev eth0 root
RTNETLINK answers: No such file or directory
# tc qdisc add dev eth0 root handle 1 cbq bandwidth 100Mbit avpkt 1000 cell 8
# tc class change dev eth0 root cbq weight 10Mbit allot 1514
# tc class add dev eth0 parent 1: classid 1:2 cbq bandwidth 100Mbit rate 1024Kbit weight 102Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded isolated
# tc qdisc add dev eth0 parent 1:2 handle 2 tbf rate 1024Kbit buffer 10Kb/8 limit 15Kb mtu 1500
# tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 201.66.22.131 classid 1:2
# tc class add dev eth0 parent 1: classid 1:2 cbq bandwidth 100Mbit rate 512Kbit weight 512Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded isolated
RTNETLINK answers: File exists
# tc qdisc add dev eth0 parent 1:2 handle 2 tbf rate 512Kbit buffer 10Kb/8 limit 15Kb mtu 1500
RTNETLINK answers: File exists
# tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip src 201.66.22.131 classid 1:2

Valeu!!

----------


## ttjedi

eu te aconselharia a fazer um arquivo por máquima,,,,

----------

