Pesquisa

Google

quinta-feira, janeiro 10, 2008

Controle de banda sem mistérios para servidores.

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 muita dor de cabeça. Há também uma versão para se controlar p2p mas ainda não usei então bevemente coloco uma “emenda” (vamos lembrar dos nossos parlamentares) neste texto.

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:

http://under-linux.org/wiki/index.php/BandLimit .

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 http://underlinux.com.br/downloads/bandlimit/rc.bandlimit-v0.4 .

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
ethx – Ex: 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 modifica-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 ipchais 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:

[root@sn1 fenix]#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:

[root@sn1 fenix]# /etc/init.d/rc.bandlimit-v0.4 install

Ele deverá retornar a mensagem, “SISTEMA JÁ INSTALADO”. Como último passo entre com o comando:

[root@sn1 fenix]#/etc/init.d/rc.bandlimit-v0.4 start

Pronto agora verifique a banda nos outros computadores da rede em que vc 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.

Edson Doria – Fenix
e-mail: fenix.se@gmail.com

2 comentários:

rafael disse...

Muito bom!
Adicionei em meu site!
Abraço

http://rmb.mus.br

Fabio Aragao disse...

Muito bom seu texto, bem didático e de simples entendimento inclusive para quem está começando.
Muito obrigado pela sua ajuda