Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: tema de abertura
Por tatuiano
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Controle de banda com HTB-Tools
Linux user
rodrigomoschetto
07/07/2008
Primeiramente obrigado por acessar o meu artigo! Este tem como objetivo expor aos usuários como instalar e configurar o serviço de controle de banda HTB-Tools, afim de priorizar aplicações de Internet como Skype, sub-redes, um computador ou uma rede inteira, limitando ou liberando quantidade de banda.
Por: Rodrigo Paiva Moschetto | Blog: http://www.essencialinfo.eti.br
[ Hits: 53988 ]
Conceito: 10.0   4 voto(s)4 voto(s)4 voto(s)4 voto(s)4 voto(s) + quero dar nota ao artigo

Hardware, distro, link e iptables

Aqui vou falar sobre alguns itens e configurações básicas que foram utilizadas na experiência.

Hardware (Computador)

Para essa experiência foi utilizado um computador pessoal padrão IBM-PC (x86) com a seguinte configuração:
  • Processador Intel Pentium III 850Mhz
  • Memória RAM ITAUCOM PC133 256MB
  • HD 20GB
  • Mainboard Soyo 6vca-133
  • VGA PCI 2MB
  • 2 Placas de rede Realtek modelo rtl8139
  • DVD-ROM

Distribuição Linux

A distribuição do Linux utilizada nessa experiência foi o Slackware 12 em DVD instalado de forma completa.

Dica: Geralmente eu instalo sempre o sistema operacional completo, pois acho mais fácil desinstalar um pacote para substituir por outro atualizado do que ter que ficar procurando ou correndo atrás dos pacotes que faltam, ou ainda ficar adivinhando o nome do pacote que eu deveria ter instalado da distribuição para que determinado serviço ou programa funcione.

Link de internet e configuração de rede

O link de Internet é fornecido pela NetVirtua de 2Mbits e a rede local é distribuída por um HUB de 8 portas de velocidade 10/100Mbits.

As interfaces ethernet foram configuradas da seguinte forma:

eth0 (Internet) - com dhcpclient
IP: 0.0.0.0/0

eth1 (Rede Local - LAN) - com ip fixo e dhcpserver
IP: 192.168.0.1/24

Configuração iptables (firewall)

Com o sistema operacional instalado e funcionando adequadamente no computador, utilizamos o IPTables para configurar NAT da interface de rede local (eth1) para que todos os pacotes sejam traduzidos para a rede externa (Internet).

Para isso foi criado um script pequeno, já que nessa rede não há restrições de acesso:

1. Criação do script:

# vi /usr/local/sbin/firewall

#!/bin/bash
SBINDIR=/usr/sbin
$SBINDIR/iptables -F
$SBINDIR/modprobe iptable_nat

# Tradução de endereços (NAT)
$SBINDIR/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# INCLUA DEMAIS REGRAS.... CASO NECESSÁRIO....E SALVE O SCRIPT

2. Dê permissão de execução para o script:

# chmod +x /usr/local/sbin/firewall

3. Incluindo o script na inicialização:

# vi /etc/rc.d/rc.local

# Inicia o firewall
if [ -x /usr/local/sbin/firewall ]; then
  . /usr/local/sbin/firewall
fi

Pronto! Agora temos todas as estações compartilhando o acesso a Internet do servidor.

Logicamente, caso você deseje restringir acesso a determinadas estações, fique a vontade.

Próxima página >>




Páginas do artigo
   1. Hardware, distro, link e iptables
   2. Instalando e configurando o HTB-Tools
   3. Testando e monitorando o consumo de banda

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

Comentários
[1] Comentário enviado por removido em 07/07/2008 - 10:13h:

Ótimo artigo!!!

é bom ver artigos de verdade novamente no VoL!

Parabéns e obrigado!

[2] Comentário enviado por gjr_rj em 07/07/2008 - 14:05h:

Excelente artigo !!!

Parabéns!!!

[3] Comentário enviado por nps em 07/07/2008 - 15:01h:

Estava precisando demais de um artigo funcional do htb..


[4] Comentário enviado por grandmaster em 09/07/2008 - 13:04h:

Realmente muito bom o o artigo.

Também estava precisando de um artigo sobre o HTB porque acabo sempre achando artigos sobre CBQ.

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[5] Comentário enviado por rodrigomoschetto em 12/07/2008 - 22:57h:

Obrigado a todos pela visita!

[6] Comentário enviado por junior.rocha em 24/07/2008 - 21:00h:

Amigo, o HTB é melhor que CBQ pra fazer esse tipo de controle de banda?
dá pra fazer o controle baseado em um grupo de usuários autenticados no squid?

Um abraço.

[7] Comentário enviado por rodrigomoschetto em 25/07/2008 - 01:43h:

Rapaz, eu optei em aprender a usar o HTB pela facilidade e não por ser melhor ou pior do que o CBQ, pois, ambos os serviços têm a mesma função, o que muda é a maneira de que cada um é configurado. Eu achei o HTB mais rápido de ser configurado e mais explicativo.

No próprio Squid você já pode fazer um controle de banda sem precisar usar o HTB. E, aqui no VOL tem muitos artigos ou tutoriais que falam sobre isso.

Boa sorte!

[8] Comentário enviado por k4mus em 28/07/2008 - 14:07h:

Amigo, no caso o bandwidth seria a velocidad minima "garantida" ao client, e o limit é valor maximo que este usuario pode chegar ?

Eh que configirei aqui mas ele nao esta garantindo o valor minimo nao. Quando tenho dois clientes baixando ao mesmo tempo, normalment um "rouba" a banda quase toda do outro.

[9] Comentário enviado por rodrigomoschetto em 28/07/2008 - 15:48h:

Minima não, Bandwidth é a velocidade total do seu link de Internet, é Limit é o valor que pode ser consumido do Bandwidth, ou seja, do total.

Por ex, meu link é de 2M(2048k) mas eu quero que seja consumido no máximo 1.5M(1500k) do total.

Agora, qto ao compartilhamento veja se vc não colocou os dois clientes em uma mesma subclasse.

Lembre-se! Dois clientes em uma mesma sub-classe irão compartilhar a mesma banda!

[10] Comentário enviado por k4mus em 28/07/2008 - 17:37h:

Obrigado pela resposta fera ,


Amigo, vc falou que limit é o valor que pode ser consumido do bandwidth. Fiquei um pouco confuso quando se refere à subclasse.

Por exemplo, na subclase "client pdc-01": o bankwidth eh 100 e o limit 128. Isto quer dizer que em um horario de pico que todos estejam fazendo download. O cliente 192.168.0.2/32 tera garantido pelo htb velocidade variando de 100 a 128 ?


Desculpe ae se ta dificil pra eu entender ; ;)


grato






[11] Comentário enviado por rodrigomoschetto em 28/07/2008 - 20:26h:

Exatamente! 100 é a largura da banda mas o total é 128. E, isso varia mesmo na hora em que ambas interfaces estiverem trafegando dados.

Qto a sub-classe, utilize sempre um IP por sub-classe. Caso queira limitar banda para serviços, crie uma outra sub-classe, como eu fiz no exemplo para o skype.

[12] Comentário enviado por leandroros em 30/07/2008 - 10:52h:

Bom dia!

gostei muito do artigo, e gostaria da sua opinião para uma solução que quero definir aqui onde trabalho. É o seguinte eu tenho um link de 4M full e gostaria de limitar 1M para acesso de uma máquina que esta fora da empresa. Este acesso é pela internet e 70% dos usuários da empresa acessam esta máquina o dia inteiro. por isso quando a minha banda esta lotada eu perco a qualidade de acesso a esta máquina. Você acha que esta ferramenta pode me atender?


[13] Comentário enviado por rodrigomoschetto em 30/07/2008 - 13:12h:

Legal, aí está uma coisa que eu nunca havia pensado.

Eu acredito que você pode restringir a banda sim para os usuários "por serviço". Acho que essa é a saída.

Por ex: Limitar a banda para todo mundo que acessar esse computador externo via porta 445.. ou então outra porta... sei lá....

Mas eu aposto que funciona!

[14] Comentário enviado por royrocha em 12/08/2008 - 16:50h:

Gostei muito do artigo... já tá guardado no bookmarks..

gostaria de levantar uma dúvida: na minha rede, por exemplo, estou usando eth1 para a rede interna e eth2 para a rede pública. Sendo assim, como ficariam os arquivo de configuração eth0-qos.cfg e eth1-qos.cfg? Para associar eth1 para rede interna e eth2 para rede pública teria colocar algo do tipo eth1-qos.cfg e eth2-qos.cfg, por exemplo...


[15] Comentário enviado por rodrigomoschetto em 16/08/2008 - 17:48h:


leandroros
Com certeza funciona! Boa sorte!

royrocha
Se eu não me engano, o htb na hora da instalação já cria esses arquivos de acordo com as interfaces configuradas no seu sistema operacional.

roberto
Pelo que eu li no site do desenvolvedor, não tem limite para criação de classes ou sub-classes. Tudo depende da largura de banda e infraestrutura utilizada. Logicamente, para mais de 50 classes/subclasses recomendo uma rede gigaethernet com switches gerenciáveis que proporciona um melhor controle, desempenho e confiabilidade.

[16] Comentário enviado por birobiro em 17/09/2008 - 08:36h:

Galera alguem aqui sabe como fazer pra aplicar uma funca timeno HBT tipo o time do CBQ, preciso mto disso galera, aqui no trampo taum me pedindo isso e eu naum consegui nada a respeito ja visitei varios foruns e nada, peca a essa galera antenada do vol se poder me passa essa info. valew grandes...

[17] Comentário enviado por rodrigomoschetto em 17/09/2008 - 11:26h:

birobiro
O que a função time faz realmente?

[18] Comentário enviado por salfix em 07/10/2008 - 16:30h:

ah to com os mesmo dilema, o que queremos é apenas uma função que possa parar ou iniciar o controle de banda de modo agendado como é feito no cbq com a funcao time e a sintase no cbq é TIME=18:00-06:00;256Kbit/25Kbit aqui no htb ja testei e naum funcionou...

[19] Comentário enviado por cirinho em 08/12/2009 - 05:07h:

Estou com problema

Ele roda e aparentemente funciona normal

quando dou htb eth1 stats para monitorar o consumo ele mostra um erro

na verdade é sempre na linha do upload

class netgame {
bandwidth 2500;
limit 3500;
burst 2;
priority 1;

client server {
bandwidth 1024;
limit 2500;
burst 2;
priority 1;
# upload 150;
dst {
10.0.0.100/32;
};
};

client netgame01 {
bandwidth 600;
limit 1024;
burst 2;
priority 1;
# upload 150;
dst {
10.0.0.101/32;
};
};


};



class default { bandwidth 64; };



[20] Comentário enviado por cirinho em 08/12/2009 - 05:08h:

eu comentei a linha do upload e ai funcionou

[21] Comentário enviado por cirinho em 08/12/2009 - 05:13h:

porém eu preciso implementar o limite de upload como resolver?

[22] Comentário enviado por tosko em 08/07/2010 - 14:41h:

o que acontece com as maquinas que não estão listadas nos scripts do htb? navegaram sem restrição?


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.