Vamos perceber o seguinte.
Esse how to serve para TODAS as distribuições que rodam como um gateway de internet, sendo somente um caso de particularidade a questão de paths de configurações, como por exemplo, para instalar o CBQ no ubuntu basta usar apt-get install shaper -y
.
Isto instalará ele e basta você localizar o path aonde o script shaper está (/etc/init.d/shaper) e seus respectivos confs (/etc/shaper).
No caso das outras distribuições (red hat based -> Centos, Fedora e Red Hat) podemos ver que seu path fica em /etc/sysconfig/cbq. No caso de red hat já existe um arquivo de exemplo que serve para mostrar como as coisas são configuradas no padrão, seu nome é cbq-0000.example e existe outro mas é um caso de utilização do próprio CBQ, o avpkt.
Neste caso iremos criar tudo na mão.
Antes de por a mão na massa temos de entender algumas regras PRIMÁRIAS do CBQ.
Abaixo seguem as mesmas:
O nome dos arquivos de download
cbq-0002-download.in
Todos os arquivos de download devem obedecer a algumas regras na hora de serem nomeados. A primeira delas é que todos os arquivos de download devem começar com cbq-
cbq-0002-download.in
A numeração sempre deve começar a partir do 0002;
cbq-0002-download.in
Todos os arquivos devem terminar com .in
cbq-0002-download.in
O conteúdo dos arquivos de download
DEVICE=eth1,10Mbit,1Mbit
RATE=64Kbit
WEIGHT=6Kbit
PRIO=5
RULE=10.0.0.2
BOUNDED=yes
ISOLATED=yes
DEVICE=eth1,10Mbit,1Mbit – Esta linha contém a interface que sai para os clientes da rede.
RATE=64Kbit – Quantidade de banda destinada ao cliente. Aqui coloca-se qualquer valor que se deseje separar para o IP do cliente.
WEIGHT=6Kbit – Taxa máxima de download que o cliente pode alcançar (com pequenas variações para mais ou para menos).
PRIO=5 – Prioridade com que o IP do cliente deve ser vigiado. O normal é deixar 5.
RULE=10.0.0.2 – IP do cliente a ser vigiado.
BOUNDED=yes – Se setado para yes o usuário estará limitado mesmo que o link esteja com folga.
ISOLATED=yes – Se setado para yes indica que o cliente não poderá emprestar banda pra ninguem.
Arquivos de upload
O nome dos arquivos de upload
cbq-0002-upload.out
Todos os arquivos de upload devem obedecer a algumas regras na hora de serem nomeados. A primeira delas é que todos os arquivos de upload devem começar com cbq-
cbq-0002-upload.out
A numeração sempre deve começar a partir do 0002;
cbq-0002-upload.out
Todos os arquivos devem terminar com .out
cbq-0002-upload.out
O conteúdo dos arquivos de upload
DEVICE=eth1,10Mbit,1Mbit
RATE=64Kbit
WEIGHT=6Kbit
PRIO=5
RULE=10.0.0.2,
BOUNDED=yes
ISOLATED=yes
DEVICE=eth1,10Mbit,1Mbit – Esta linha contém a interface que sai para os clientes da rede.
RATE=64Kbit – Quantidade de banda destinada ao cliente. Aqui coloca-se qualquer valor que se deseje separar para o IP do cliente.
WEIGHT=6Kbit – Taxa máxima de download que o cliente pode alcançar (com pequenas variações para mais ou para menos).
PRIO=5 – Prioridade com que o IP do cliente deve ser vigiado. O normal é deixar 5.
RULE=10.0.0.2, – IP do cliente a ser vigiado. Observe que no arquivo de upload, o IP termina com uma vírgula (,).
BOUNDED=yes – Se setado para yes o usuário estará limitado mesmo que o link esteja com folga.
ISOLATED=yes – Se setado para yes indica que o cliente não poderá emprestar banda pra ninguem.
Iniciando o CBQ
Depois de criadas todas as regras, é preciso compilá-las, com o comando (isto em fedora, redhat e centos):
root@appunixlabs~# cbq compile
No caso do Debian, Ubuntu, Mint e similares:
root@appunixlabs~# /etc/init.d/shaper compile
Basta, depois da compilação, iniciar o CBQ com o comando (isto em fedora, redhat e centos):
root@appunixlabs~# cbq start
No caso do Debian, Ubuntu, Mint e similares:
root@appunixlabs~# /etc/init.d/shaper start
Ou se desejar pará-lo (isto em fedora, redhat e centos):
root@appunixlabs~# cbq stop
No caso do Debian, Ubuntu, Mint e similares:
root@appunixlabs~# /etc/init.d/shaper stop
CBQ na inicialização
Adicione o comando cbq start ao rc.local para que carregue sozinho no ato do boot
(isto em fedora, redhat e centos):
root@appunixlabs~# echo "cbq start" >> /etc/rc.local
No caso do Debian, Ubuntu, Mint e similares:
root@appunixlabs~# echo "/etc/init.d/shaper start" >> /etc/rc.local
Fontes:
http://www.ubuntu.com/ubuntu (ubuntu)
http://www.debian.org/ (debian)
http://centos.org/ (centos)
http://www.projetofedora.org/ (fedora)
http://sourceforge.net/projects/cbqinit/ (cbq)
http://migre.me/5gcMr (cbq sob fedora)