Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: screenshot do Ubuntu
Por wavemmx
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Limitando a banda no Linux usando o shaper e CBQ
Linux user
Publicado por Julio Cardoso em 10/03/2008

Login: xjc, 99080 pontos
[ Hits: 16970 ]

Limitando a banda no Linux usando o shaper e CBQ

Neste tutorial eu irei falar sobre o CBQ e, em especial um pacote que existe por padrão no Debian e no Ubuntu, que se chama shaper, no qual é possível fazer o controle de banda de uma rede de forma eficiente.

A necessidade de limitar a banda surgiu quando um cliente me pediu um servidor Gateway com controle de banda, e por fazer algumas pesquisas encontrei esse programa que se chama shaper, que talvez seja uma versão alternativa do uso do CBQ no Debian.

Então vamos começar.

Primeiro, para haver o controle de banda, o tráfego deve passar por dentro da máquina que tem o shaper configurado, pode ser através de NAT.

Vamos instalar o shaper:

$ sudo apt-get install shaper

Depois disto, as configurações do programa para controle de banda devem ser criados dentro do diretório /etc/shaper.

Vamos entrar no diretório do shaper:

$ cd /etc/shaper

Agora, vamos criar o arquivo chamado para controle de Download cbq-0001.-in:

$ sudo nano cbq-0001.-in

Vamos colocar o seguinte conteúdo:

##Aqui você deve colocar a interface de rede
###Interface,Banda,banda dividida por 10

DEVICE=eth0,100Mbit,10Mbit
###A banda que passa
RATE=64Kbit
##A banda 64/10 dividida por 10, Limite de download
WEIGHT=6Kbit
###prioridade
PRIO=5
###Regras, você pode colocar mais de uma regra, RULE
###Essa regra controla a faixa de ip

RULE=192.168.254.0/24
###Essa regra não permite compartilhar banda entre os clientes
### se quiser compartilhar coloque " no " nas duas abaixo

BOUNDED=yes
ISOLATED=yes

Agora vamos criar o arquivo chamado para controle de upload cbq-0001.-out:

$ sudo nano cbq-0001.-out

Vamos colocar o seguinte conteúdo:

##Aqui você deve colocar a interface de rede
###Interface,Banda,banda dividida por 10

DEVICE=eth0,100Mbit,10Mbit
###A banda que passa
RATE=64Kbit
##A banda 64/10 dividida por 10, Limite de upload
WEIGHT=6Kbit
###prioridade
PRIO=5
###Regras , você pode colocar mais de uma regra , RULE
###Essa regra controla a faixa de ip

RULE=192.168.254.0/24,
###Essa Regra não permite compartilhar banda entre os clientes
### se quiser compartilhar coloque " no " nas duas abaixo

BOUNDED=yes
ISOLATED=yes

A única diferença das duas é só a vírgula no final do ip "RULE=192.168.254.0/24,". Esta vírgula sinaliza a saída do tráfego "upload".

Lembrando que você pode criar quantas regras quiser, e quantos arquivos de configuração quiser só deixando igual o "DEVICE=eth0,100Mbit,10Mbit " se deixar diferente em cada arquivo vai dar erro.

Para iniciar o shaper dê esse domando:

$ sudo /etc/init.d/shaper start ou sudo /etc/init.d/shaper restart

Outros exemplos de regras:

#Essa regra usa a porta 80 na faixa de ip 10.1.1.0
RULE=10.1.1.0/24:80
#Essa regra seleciona apenas um IP
RULE=10.2.2.5

#Essa regra Seleciona apenas a porta 20 e 21
RULE=10.2.2.5:20/0xfffe
#Essa regra Seleciona a porta 50 até 5000
RULE=:25,10.2.2.128/26:5000

#Essa regra seleciona a porta 80
RULE=10.5.5.5:80,

Outros exemplos e explicações você pode ler o documento do shaper, que fica no diretório: /usr/share/doc/shaper

Referência:

Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada FAQ não oficial do Fedora Core 3
   Dica Linux recomendada Instalando o Webmin no Kurumin
   Dica Linux recomendada Configurando som "ATI Technologies Inc SB450 HDA Audio"
   Dica Linux recomendada PPPoE over wireless no Ubuntu
   Dica Linux recomendada Aumentando a resolução de vídeo no Lubuntu rodando no VirtualBox

Comentários
[1] Comentário enviado por knoppix_debian em 10/03/2008 - 21:22h:

Eu ja testei o cbq = shaper no debian mais ele controla o down mais o up não, ele tem uma bug, nisso ai trabalho com iproute e iptables puro neste motivo juntei com um controle de mac que fica jóia para empresas.
Pois tem pessoas que pega o ip na rede muda para ter acesso Internet a se não bate o mac + ip ele não navega de quebra juntei unas regras do squid ai sim ficou tudo jóia.
Diminui 60% de vírus na minha rede e de 80% de tráfego desnecessário.
E aumente 98% de reclamações com user que queria ver o site da playboy entre outras coisa.

[2] Comentário enviado por afdominguez em 12/01/2009 - 16:48h:

Colega oppix_debian,
Poderia me dar maiores informações sobre como fazer este controle de banda da maneira que vc citou??

[3] Comentário enviado por zeed01 em 20/01/2009 - 00:52h:

Ola knoppix_debian pode me fornecer mais detalhes de como implementar essa solução que você utilizou ?
Obrigado.

Um abraço.

[4] Comentário enviado por zeed01 em 20/01/2009 - 01:07h:

Ola... eu tentei implentar a solução utilizando shaper no debian e esta dando essa mensagem quando eu executo sudo /etc/init.d/shaper start


skywalker:/etc/shaper# sudo /etc/init.d/shaper start
Starting CBQ traffic shaping: find: warning: you have specified the -maxdepth option after a non-option argument (, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.

find: warning: you have specified the -maxdepth option after a non-option argument (, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.

Illegal "match"
Illegal "match"
shaper.
skywalker:/etc/shaper# sudo /etc/init.d/shaper stop
Stopping CBQ traffic shaping: shaper.
skywalker:/etc/shaper# sudo /etc/init.d/shaper start
Starting CBQ traffic shaping: RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory
Illegal "match"
Illegal "match"
shaper.

Alguem sabe o que esta errado ?

Estes são meus arquivos cbq-0002.-in e bq-0002.-out, respectivamente:

##Aqui você deve colocar a interface de rede
###Interface,Banda,banda dividida por 10
DEVICE=eth0,100Mbit,10Mbit
###A banda que passa
RATE=12Mbit
##A banda 64/10 dividida por 10, Limite de download
WEIGHT=120Kbit
###prioridade
PRIO=5
###Regras , você pode colocar mais de uma regra , RULE
###Essa regra controla a faixa de ip
RULE=192.168.0.0/200
###Essa Regra não permite compartilhar banda entre os clientes
### se quiser compartilhar coloque . no . nas duas abaixo
BOUNDED=yes
ISOLATED=yes



cbq-0002.out
##Aqui você deve colocar a interface de rede
###Interface,Banda,banda dividida por 10
DEVICE=eth1,100Mbit,10Mbit
###A banda que passa
RATE=12Mbit
##A banda 64/10 dividida por 10, Limite de upload
WEIGHT=120Kbit
###prioridade
PRIO=5
###Regras , você pode colocar mais de uma regra , RULE
###Essa regra controla a faixa de ip
RULE=192.168.0.0/200,
###Essa Regra não permite compartilhar banda entre os clientes
### se quiser compartilhar coloque . no . nas duas abaixo
BOUNDED=yes
ISOLATED=yes


Obrigado.

Um abraço.

[5] Comentário enviado por adrianok9999 em 18/02/2009 - 11:59h:

ola amigos estou começando a mecher com linux agora e tenho umas duvidas eu tenho uma lan com 12 maqnas e quero montar um servido para controle de banda upload e download e k tambem qual a versao melho para mim fazer isso eu nao intendo muito bem o linux pois sao tantas versoes eu gostei do ubunto parece ser facil de mecher nele mais se tiver uma ersao mais facio me fale


eu tenho outra duvida tambem qro compartilhar internet com dois vizinhos com rede sem fio e qro saber como faço para para ontrolar a banda deles da uma serta qntidade para cada um soente por mc por q o roteador faz as maqnas conectarem com ip automatico e nao sei como fazer me ajudem agradeço

[6] Comentário enviado por rafael.mendes em 26/03/2009 - 09:35h:

Ola Júlio...

Muito interesante esta sua dica, estarei implementando ela em uma de nossas unidades onde tenho firewall linux.

Pergunta, não é necessário nenhuma regra no iptables para este limite de tráfego?



[7] Comentário enviado por angelognr em 08/04/2009 - 18:47h:

gente gostaria de uma ajuda eu coloquei 15 pessoas na minha rede com o meu velox mais eu queria monta um servirvidor
pra colocar 100 kbps pra casa como eu fasso isso mande um email pra mim esportes-radicais@hotmail.com


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.