8 de nov de 2010

cbq no endian

Endian
O Endian Firewall vem com um controle de banda simples que pode ser feito via interface web. Mas ao precisar de maior controle, o sysadmin pode usar o cbq que vem instalado, bastando somente ajustes nos arquivos e subir o serviço, sem necessidades de compilar kernel ou mexer em outras tralhas. O controle de banda pode ser muito útil quando sua internet for por demanda por exemplo, ou para evitar que seu link seja todo ocupado por um usuário liberando ftp ou compartilhamento p2p.

Sobre o CBQ:
O cbq permite controle de banda de entrada (downstream) e de saída (upstream), permite o controle por ip ou rede, por porta específica ou geral e por tempo determinado. No caso do Endian, deve ser acessado via ssh uma vez que o CBQ não está presente na interface gráfica.

Arquivos de configuração do cbq no endian fica em /etc/sysconfig/cbq e deve seguir a notação pré-definida cbq-(clsid).nome, onde clsid deve ser um número exadecimal de dois bytes na escala (0002-FFFF) e nome o nome do shaper, ou seja, qualquer texto para identificar.
O endian possui o script auto explicativo que fica em /sbin/cbq para consultas de exemplos de regras, mas observe as seguintes regras:

cbq-0006.br0_4096_in

#down load rede local
DEVICE=br0,100Mbit,10Mbit
RATE=4096Kbit
WEIGHT=409Kbit
PRIO=6
RULE=192.168.1/24
BOUNDED=no
ISOLATED=no
A regra acima permite download de 4096 Kbits para a faixa de rede 192.168.1.0/24. Observe que esta sendo considerado br0 como a interface por onde recebe os dados. O RATE é a velocidade nominal e o WEIGHT é calculado na razão de 10% do RATE. PRIO é a prioridade que se deseja dar para a regra, caso sejam necessárias mais regras. Quanto maior o número, menor sua prioridade, vai de 1 a 8 e o padrão é 5. Perceba que é possível fazer comentário sempre precedido de #.
cbq-0007.eth3_4096_out

#up-load rede local
DEVICE=eth3,100Mbit,10Mbit
RATE=4096Kbit
WEIGHT=409Kbit
PRIO=6
RULE=200.220.220.1,
BOUNDED=yes
ISOLATED=yes

Esta regra diferencia-se pela interface de saída que é a do gateway. Note a , (virgula) em RULE=200.220.220.1, que indica que a regra se refere ao up-load ou seja, a saída para a internet.

Neste exemplo, br0 é a interface conhecida como green  e eth3 é a interface que liga ao roteador ou red.

Quando alterar alguma regra ou adionar novas, deve-se usar o comando compile:
cbq compile
Para iniciar o CBQ, use o start:
cbq start
Para que suas regras iniciem quando a máquina for reinicida coloque a seguinte linha no arquivo /etc/init.d/rc.local:
cbq start 
Não deixe de ver os exemplos de configuração que fica em /sbin/cbq e bom uso. Se tiver dúvida, comente.