Controle de Banda com CBQ

Iniciado por Arthur Bernardes, 29 de Julho de 2013, 10:52

tópico anterior - próximo tópico

Arthur Bernardes

Decidi compartilhar com vocês essa dica, achei difícil encontrar conteúdos e informações que facilitam o uso do controle de banda com CBQ no Linux.

Vale para Debian, Ubuntu e derivados.

O primeiro passo é carregar os módulos necessários para o funcionamento do CBQ. Como root, execute os seguintes comandos.

modprobe sch_cbq
modprobe sch_tbf
modprobe sch_sfq
modprobe sch_prio
modprobe cls_fw
modprobe cls_u32
modprobe cls_route


Agora, depois de ter carregado os módulos necessários, vamos colocá-los para iniciar durante o boot.

Como root, execute:

nano /etc/modules

E deixe-o assim:

Código (/etc/modules) Selecionar
# /etc/modules: kernel modules to load at boot time.
# # This file contains the names of kernel modules that should be loaded # at boot time, one per line.
Lines beginning with "#" are ignored.
# Módulos para controle de banda com CBQ #
sch_cbq
sch_tbf
sch_sfq
sch_prio
cls_fw
cls_u32
cls_route
# Fim #
lp


Agora, vamos baixar o pacote Shaper.

Execute os seguintes comandos.

cd /tmp
wget -c https://www.dropbox.com/s/75fkykwzzg6k1e0/Shaper.deb


Agora, como root execute.

dpkg -i Shaper.deb

Obs. Durante a instalação, deve aparecer uma mensagem informando da necessidade de alguns módulos específicos. Basta dar "OK", pois já carregamos todos os módulos necessários para seu funcionamento.

Agora, baixe o script de sistema do Shaper, com o comando:

wget -c https://www.dropbox.com/s/i4luv8wxslllz31/shaper

Copie e cole dentro de /etc/init.d

Como root, dê permissão de execução ao arquivo com o comando:

chmod +x /etc/init.d/shaper

Agora, vamos entrar no diretório de configuração.

cd /etc/shaper

No exemplo agora, vamos limitar a banda de alguns IP's para Download a 100K e Upload a 10K.

Crie os dois arquivos de configuração, como mostrarei abaixo.

touch cbq-0010-clientes-100k-down
touch cbq-0010-clientes-100k-up


Observação importante: O nome dos arquivos deve seguir o padrão cbq-0010-. Do tracinho pra lá é indiferente. A ordem começa do 0010 em diante. Isso significa que se formos criar outros arquivos para outras regras, terá que ser 0011, 0012, 0013 e etc... Sempre seguindo essa ordem.

É importante também saber que são sempre dois arquivos para cada regra. Um para download e um para upload.


O arquivo cbq-0010-clientes-100k-down, deve ficar assim.

Código (cbq-0010-clientes-100k-down) Selecionar
## Placa de Rede que será controlada com o QoS ##

DEVICE=eth0,100Mbit,10Mbit

##A velocidade que será disponível ##

RATE=1000Kbit

## Rate dividido por 10 ##

WEIGHT=100Kbit ## Prioridade ##

PRIO=5 ## IP que será controlado ##

RULE=192.168.1.2

## O controle será mantido mesmo se tiver banda excedente ##

BOUNDED=yes

## A banda excedente não será compartilhada ##

ISOLATED=yes


O arquivo cbq-0010-clientes-100k-up, deve ficar assim.

Código (cbq-0010-clientes-100k-up) Selecionar
## Placa de Rede que será controlada com o QoS ##
DEVICE=eth0,100Mbit,10Mbit

##A velocidade que será disponível ##
RATE=100Kbit

## Rate dividido por 10 ##
WEIGHT=10Kbit

## Prioridade ##
PRIO=5

## IP que será controlado ##
RULE=192.168.1.2,

## O controle será mantido mesmo se tiver banda excedente ##
BOUNDED=yes

## A banda excedente não será compartilhada ##
ISOLATED=yes


Perceba que as únicas diferenças entre os dois arquivos são as taxas de transferência e a virgula após o endereço de IP.

Agora, basta reiniciar o serviço como root service shaper restart.

Esse comando deve exibir uma saída grande e estranha, mas é absolutamente normal.

Para que o Shaper carregue durante o boot do sistema, execute o seguinte comando como root.

update-rc.d shaper defaults

Espero ter ajudado à todos.

Abraços, Arthur Bernardes

Renan Rischiotto

Não tenho a menor idéia do que é CBQ e controle de banda, mas belo tutorial =)

Arthur Bernardes

#2
Olá Renan.

Controle de Banda é uma forma de limitar a velocidade de IP's (computadores) na sua rede.

Vamos dizer que você tem uma rede 192.168.1.1/24, igual a minha doméstica aqui.

Quer que o IP 192.168.1.2 use apenas 300 k da banda total, ou seja, ele terá acesso apenas a 300 k/s de velocidade, o CBQ permite isso.

O CBQ também permite aplicar o limite de banda ao acesso à específicas portas, através de um socket, exemplo: RULE:192.168.1.2:80, que limita a velocidade no acesso à internet em geral, ou pode escolher uma porta de escuta de um servidor/cliente torrent/bit torrent, e assim por diante.

Muito usado em Provedores de Acesso à Internet.

Desculpe se não fui tão claro.


Renan Rischiotto

Entendi mais ou menos, essas coisas são muito avançadas para mim rsrs

pylm69

No momento não e é útil já que só eu uso a rede, mas um dia será, belo tutorial ;D
Rolling Release é o máximo \o/

Creto

Cara tu foi supimpa, parabéns pelo tutorial Arthur Bernardes!

T+