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_routeAgora, depois de ter carregado os módulos necessários, vamos colocá-los para iniciar durante o boot.
Como
root, execute:
nano /etc/modulesE deixe-o assim:
# /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.debAgora, como
root execute.
dpkg -i Shaper.debObs. 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/shaperCopie e cole dentro de
/etc/init.dComo
root, dê permissão de execução ao arquivo com o comando:
chmod +x /etc/init.d/shaperAgora, vamos entrar no diretório de configuração.
cd /etc/shaperNo 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-upObservaçã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.
## 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.
## 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 defaultsEspero ter ajudado à todos.
Abraços, Arthur Bernardes