Vendo que muitos ainda brigam para implementar
banda no Linux usando CBQ e cia, resolvi postar este pequeno texto para mostrar a todos uma maneira bem fácil de se ter isto sem nenhuma dor de cabeça.
Há também uma versão para se controlar p2p, mas ainda não testei então brevemente coloco uma "emenda" (vamos lembrar dos nossos parlamentares) neste texto. Lembro que neste texto utilizo Linux
Fedora 6.
Vamos lá!
O projeto
UnderLinux Bandlimit tem como objetivo prover uma fácil solução para o controle de banda baseado na idéia de Francisco Antonello (Skyzer) e Marcus Maciel, como explica o wiki do projeto. Verifique em:
Dependências:
- Iptables ou Ipchains, iproute2 e módulos de kernel do CBQ, QoS.
- Iptables precisa de Iptable_mangle e ipt_MARK
- Ipchains nenhuma.
Como uso Fedora, nunca precisei me preocupar com os módulos de kernel e nem com o resto mas acredito que em nenhuma distribuição alguém vá precisar, todavia se alguém descobrir algo, por favor me avise para que eu corrija.
Vamos a instalação do danado.
Baixe o rc.bandlimit-V0.4 do link:
Agora crie um diretório chamado "bandlimit" dentro do seu /etc, dentro deste diretório, com seu editor favorito, crie uma arquivo chamado "ips" e salve seu primeiro ip e velocidade que serão controlados no formato:
ip:ratein:rateout.
Ex:
10.10.2.1:97:33
No mesmo diretório, crie agora um arquivo chamado "interfaces" e salve dentro dele as interfaces usadas no formato:
ethx
Ex:
eth0
eth1
Sempre um por linha tanto no arquivo ips quanto no interfaces.
Quando se erra uma letra no nome dos arquivos, ocorre uma falha na leitura do kernel portanto preste atenção.
Vamos editar agora o arquivo rc.bandlimit-V.04 e começar a modificá-lo.
Procure por esta parte do arquivo.
IPTABLES=`which iptables`
TC=`which tc`
IPCHAINS=`which ipchains`
GREP=`which grep`
CUT=`which cut`
EXPR=`which expr`
Acrescente um cerquilha na 3 linha como abaixo:
IPTABLES=`which iptables`
TC=`which tc`
#IPCHAINS=`which ipchains`
GREP=`which grep`
CUT=`which cut`
EXPR=`which expr`
Agora se você usa Iptables (eu acho que todos devem usar hoje em dia), a parte do arquivo que está abaixo já deverá estar correta:
#Firewall's Suportados ipchains e Iptables # Padrão IPTABLES
#firewall=ipchains
firewall=iptables
Se não, descomente o ipchains e comente o iptables. E vamos mudar somente agora a parte das interfaces de rede.
#############
# Interfaces
redelocal=eth0
#redelocal2=eth0
redelocal2=inexistente
internet=eth1
#############
Repare que neste exemplo, a redelocal está na eth0 e internet na eth1, modifique de acordo com sua rede.
Feito isso, vamos dar permissão de execução no rc.bandlimit-v0.4 com o comando:
# chmod +X rc.bandlimit-v0.4
No fedora, mova este arquivo para o diretório /etc/rc.d/init.d e entre com o comando:
# /etc/init.d/rc.bandlimit-v0.4 install
Ele deve te retorna a mensagem, "SISTEMA JÁ INSTALADO". Como último passo entre com o comando:
# /etc/init.d/rc.bandlimit-v0.4 start
Pronto agora verifique a banda nos outros computadores da rede em que você já cadastrou no arquivo "ips" do diretório /etc/bandlimit.
Este texto tem como intenção ajudar aos amigos, qualquer crítica é bem vinda desde que seja para melhoria do mesmo. Qualquer pessoa está autorizada a distribuir, publicar ou enviar por e-mail desde que mantenha os créditos do autor.