Instalando e configurando o script Bandlimit no Debian

Publicado por Ciro em 23/02/2010

[ Hits: 12.162 ]

 


Instalando e configurando o script Bandlimit no Debian



Após ter muitas dúvidas e dificuldades em relação a qual política devo adotar para melhor controlar e gerenciar a banda e tráfego da minha rede, decidi por usar o Bandlimit.

Testei o HTB, que também é de fácil implementação e até achei um pouco mais inteligente que o Bandlimit, pois ele faz uma faixa mínima e máxima de banda que você pode atingir (geralmente quando a banda está livre), além de você poder criar regras de hierarquias ou trabalhar com portas específicas, o que o torna bem interessante. No entanto esta dica não é para HTB, sugiro pesquisarem por htb-tools caso se interessem. :)

Já no Bandlimit você apenas diz a velocidade ao qual deve limitar o download, é um tanto simples, porém muito prático e de fácil configuração e funciona perfeito ao objetivo que se propõe.

Este script tem como objetivo fazer limitação de banda, foi baseado na ideia de Francisco Antonello (Skyzer) e Marcus Maciel de criar uma fácil solução para limitação de banda.

Para maiores informações, não deixem de conferir o site/wiki/link oficial do projeto:
Edite o cache de repositórios de pacotes do Debian:

# pico /etc/apt/sources.list

deb http://ftp2.de.debian.org/debian/ lenny main
deb-src http://ftp2.de.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main

Atualize todo o seu sistema para as versões mais atuais e estáveis dos pacotes de seu servidor/máquina:

# apt-get update; apt-get -y update

Instale os pacotes essenciais ao funcionamento do Bandlimit:

# apt-get -y install shapecfg iproute

Crie o diretório/pasta onde ficarão os arquivos de configurações do Bandlimit:

# cd /etc
# mkdir bandlimit/


Faça o download do script:

# wget http://underlinux.com.br/downloads/bandlimit/rc.bandlimit-v0.4

Darei os exemplos de minha rede:
  • eth0 192.168.254.1 -> internet
  • eth1 10.0.0.1 -> redelocal

Edite os arquivos de configuração "interfaces" e "ips":

# pico interfaces

eth1
eth0

# pico ips

10.0.0.201:300:80
10.0.0.202:300:80
10.0.0.203:300:80
10.0.0.204:300:80
10.0.0.205:300:80
10.0.0.206:300:80
10.0.0.207:300:80
10.0.0.208:300:80
10.0.0.209:300:80
10.0.0.210:300:80

Editando o arquivo rc.bandlimit-v0.4.

Obs.: O script é muito extenso, mostrarei apenas as partes como devem ficar após a alteração:

...

IPTABLES=`which iptables`
TC=`which tc`
#IPCHAINS=`which ipchains`
GREP=`which grep`
CUT=`which cut`
EXPR=`which expr`

...

#Arquivos de Configuracao
ips=/etc/bandlimit/ips
#ips2=/etc/bandlimit/ips2
interfaces=/etc/bandlimit/interfaces

...

#Firewall's Suportados ipchains e Iptables # Padrao IPTABLES
#firewall=ipchains
firewall=iptables
# Interfaces
redelocal=eth1
#redelocal2=eth0
redelocal2=inexistente
internet=eth0

...

Defina corretamente de acordo com a sua rede a interface que está ligada a internet e a(s) outra(s) interface(s) que está(ão) ligada(s) à(s) rede(s) local(is).

Exemplo:

internet=ppp0 (caso seja uma conexão pppoe discada/bridge)
...
redelocal=eth1
redelocal2=eth2
(caso possua mais de uma interface/placa de rede local :)

Após editar o script de acordo com sua rede/necessidade, bem como os arquivos de configurações ips e interfaces, vamos copiá-lo para rodar na inicialização:

cp /etc/bandlimit/rc.bandlimit-v0.4 /etc/init.d/rc.bandlimit-v0.4

Dar permissão para executar:

# chmod 777 /etc/init.d/rc.bandlimit-v0.4

Instalar o script:

# /etc/init.d/rc.bandlimit-v0.4 install

Sistema já instalado!

Iniciar o Script:

# /etc/init.d/rc.bandlimit-v0.4 start

Parar a execução:

# /etc/init.d/rc.bandlimit-v0.4 stop

Agora para testar, chegue a alguma máquina que possui as regras e trate de fazer downloads e uploads para verificar a limitação e controle da banda.

Visite www.speedtest.net, este site faz uma verificação da velocidade do link.

Outras dicas deste autor

Instalar o Adobe Flash Player no Debian 4 Etch Linux

Leitura recomendada

Pacotes para Slackware

Usando o RealPlayer em página HTML

Grupo de estudos para LPI 1, 2 e 3 no Facebook

Baixar páginas da web com imagens

Curso para certificação Linux Essentials

  

Comentários
[1] Comentário enviado por angelomr em 23/02/2010 - 14:31h

A única coisa que faltou é você explicar "aonde" é que você configurou o "limite" de download de cada usuário.

[2] Comentário enviado por cirinho em 23/02/2010 - 15:12h

Ai jovem

edite o arquivo /etc/bandlimit/ips

lá eu tenho ...

10.0.0.201:300:80
10.0.0.202:300:80
10.0.0.203:300:80
10.0.0.204:300:80
10.0.0.205:300:80
10.0.0.206:300:80
10.0.0.207:300:80
10.0.0.208:300:80
10.0.0.209:300:80
10.0.0.210:300:80

A sintaxe é:

ip:donwload:upload

Nesta configurações cada ip eu tou limitando a 300 k de donwload e 80 k de upload o que significa dizer que farão donwloads a +/- 30 kb/s e upload a 8 kb/s

Minha internet é de 2,3 mb (2300 k) de donwload e 570 k de upload, ou seja eu faço donwloads usando toda banda a 230 kb/s e envio a 57 kb/s.

[3] Comentário enviado por pardalz em 10/05/2010 - 15:03h

e se no caso eu quiser limitar de todo mundo?
10.0.0.0:300:80
ta certo?

[4] Comentário enviado por regismeneses em 16/04/2013 - 17:16h

O meu script está dando o seguinte erro.

root@servidor:~# /etc/init.d/rc.bandlimit-v0.4 start
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory

[5] Comentário enviado por regismeneses em 17/04/2013 - 08:33h

Bom dia.

Parabéns por este script faz bem o que promete mas com um problema.
Ele limita até as conexões da rede interna o que dificulta muito o trabalho.
Alguém já consegui resolver este único problema deste script?
Se tiver resolvido compartilha conosco!
Obrigado.

[6] Comentário enviado por cirinho em 17/04/2013 - 18:19h

Boa Noite.

Desculpe a demora em responder ...

É o seguinte, em relação a mensagem de erro abaixo, ingore, pois aparece também para min embora funcione perfeitamente.
RTNETLINK answers: No such file or directory
RTNETLINK answers: No such file or directory

Também tive o mesmo problema que você. Infelizmente o bandlimit é bem simples, para resumir ele se contenta apenas em limitar a velocidade quando atinge o parâmetro estabelecido. Porém ele não faz distinção entre o tráfego da rede interna (intranet) e externa (internet), exemplo: você fazer um donwload na internet ou você fazer um donwload de uma máquina dentro de sua rede interna, ambos os donwloads serão limitados, o que deve ser péssimo em seu caso pelo que você descreve, assim como foi também para min.

Eu resolvi instalando o htb tools, é um script muito bacana simples e poderoso, não sei se eu postei algum artigo sobre isso, vou verificar, caso não tenha postado, vou postar uma dica ou artigo, o problema é que não estou mais trabalhando com informática e também falta-me tempo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts