O projeto UnderLinux Bandlimit tem como objetivo prover uma fácil solução para o controle de banda baseado na ideia 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
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 Debian, mova este arquivo para o diretório /etc/init.d e entre com o comando:
# /etc/init.d/rc.bandlimit-v0.4 install
Ele deve te retornar 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.
Créditos fenix.se - Viva o Linux
http://www.vivaolinux.com.br/artigo/Controle-de-banda-sem-misterios-para-servidores/