logoJulio Cardoso Tutoriais e Dicas


Limitando a banda no linux usando o shaper e CBQ

Postado em Linux (OS) Network(Firewall) Por Julio em 10/02/08

Esse 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 surgio 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 .

Caros visitantes , fiz esse post mais atualizado, sobre o cbq-init

http://www.xjulio.info/blog/limitando-banda-com-cbq-init-no-debian-e-ubuntu

Então vamos começar.

Primeiro para haver o controle de banda , o trafego deve passar por dentro da maquina que tem o shaper configurado shaper, pode ser através de NAT.

Primeiro vamos instalar o shaper

sudo apt-get install shaper

Depois disso 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 virgula no final do ip ” RULE=192.168.254.0/24,” Essa virgula sinaliza a saida 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 de 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

Você pode baixar aqui um exemplo de configuração do shaper

Referências.

http://centosbr.org/site/artigos/item.php?itemid=187&com_id=387&com_rootid=371&

http://br-linux.org/artigos/dicas_cbq.htm

http://under-linux.org/forums/proxy-nat-firewall/83803-tutorial-controle-de-banda-no-debian-shaper-cbq.html

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=367

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1016


8 respostas para 'Limitando a banda no linux usando o shaper e CBQ'

  1. tol Diz:

    valeu cara eu tava precisando disso!!!

  2. Mauro Diz:

    blz agora quando dou um restart no shaper ele da essa msg:

    Stopping CBQ traffic shaping: shaper.
    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.

    RTNETLINK answers: No such file or directory
    RTNETLINK answers: File exists
    RTNETLINK answers: File exists
    shaper.

    poderia me ajudar nisso..?

  3. nelson Diz:

    Amigo,
    Primeiro qero dizer q gostei muito do artigo,pois é o que eu preciso fazer na minha rede.Comecei a implantar o shaper só que quando mando inicia ela apresenta a seguinte erro:(eu uso debian 4)

    topping CBQ traffic shaping: shaper.
    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.

    **CBQ: class ID of cbq-0001.-in must be in range !
    **CBQ: failed to compile CBQ configuration!

    Que pode ser?
    Se puderes me ajudar agradeço muuuuuuuuiiiiiiiiito.

    Essa menssagem de erro é normal

  4. Andre Diz:

    Estou com o mesmo Problema do Nelson mas no Ubuntu 7.10

  5. Jose Edmilson dos Santos Diz:

    Boa noite,

    Estou com o mesmo problema… e a taxa de transferencia continua liberada…
    Alguém conseguiu resolver ?

    Obrigado.

    Um abraço.

    Tenta ver esses tutoriais .
    http://www.zago.eti.br/cbq.txt
    http://www.emota.com.br/linux/cbq.html

  6. Tiago Barbosa Diz:

    ôpa!
    queria saber qual a mágica que vc fez pra instalar o shaper, visto que no ubuntu 9.04 ele não instala, pois foi substituido pelo shaperd e em nenhum pacote disponível ele se encontra…

    se me contar ganha um doce!
    estou baixando aqui o ubuntu 7.04 pra poder configurar minha rede… detalhe: são 2:30 da madruga rsrsrs

    um abraço!

    Por esses dias vou fazer sobre CBQ init , Abraços

  7. Eros vasconcelos Diz:

    Vlw amigo!… essa dica é punk!
    Muito simples a implementação deste controle de banda.
    Estou estudando o assunto e aqui encontrei um conteúdo muito bom e bem explicado abordado o tema.

    Abc.

  8. Anderson N.S Diz:

    Eu consegui instalar o shaper com esse metodo, primeiro você tem que baixar o shaper dos repositorios do “Debian”, aqui tem vairios mirrors.

    http://packages.debian.org/etch/all/shaper/download

    Escolha um mirror para efetuar o download, depois do download terminado execute o pacote *.DEB “shaper_2.2.12-0.7.3-2.2_all.deb”

    Na instalação vai ocorrer um erro, não se preucupe continue com a instalação, depois de terminada baixe o “cbq.init-v0.7.3″ nesse link.

    http://ufpr.dl.sourceforge.net/project/cbqinit/cbqinit/0.7.3/cbq.init-v0.7.3

    Supondo que você tenha baixado ele no Desktop, execute o terminal e corra os seguintes comandos:

    1º) Para criar o diretorio shaper em /etc/:

    cd /etc/ ; sudo mkdir shaper

    2º) Para renomear o “cbq.init-v0.7.3″ para shaper:

    sudo mv cbq.init-v0.7.3 shaper

    3º) Para mover o shaper para /etc/init.d/:

    sudo mv ~/Desktop/shaper /etc/init.d/shaper/

    4º) Para reiniciar o shaper:

    sudo /etc/init.d/shaper restart

    ou stop e depois start.

    Fim

    Realmente esse tópico está defasado , na verdade cbq-init é diferente do sharper , ja tou a tempos pendente de um tópico para cbq-init mas valeu a ajuda. abraços

Deixe seu Comentário