Você está na página 1de 11

Controle de Banda WebHTB Linux e ferramentas

Rafael C. Marques
Curso Superior de Tecnologia em Redes de Computadores
1

FACULDADE DE TECNOLOGIA SENAC PELOTAS (FATEC PELOTAS)


Rua Gonçalves Chaves, 602 96.015-000 Pelotas RS Brasil
Abstract. The purpose of this paper is to describe the operation of WebHTB,
a tool to control bandwidth on one or more directly connected networks. This
tool is widely used to control the band with an easy web interface to manage
the User. The WebHTB runs on Linux operating system, its bandwidth control is
done by QoS interface is built in PHP, Java Script, simple, Ajax, and works with
MySQL In this paper consists of the installation tool operation, testing real-
time hosts castrated on the server and not registered with the tool was made
cacti monitoring hosts.

Resumo. O presente artigo tem com objetivo descrever o funcionamento do


WebHTB, uma ferramenta para fazer o controle de banda em uma ou mais re-
des diretamente conectadas. Essa ferramenta e¬ muito utilizada para fazer o
controle de banda com uma interface web facilitando para o usuario gerenciar.
O WebHTB roda no sistema operacional Linux, seu controle de banda e¬ feito
por QoS, interface e¬ constru¬ıda em PHP, Java Script simples, Ajax, e trabalha
com MySQL. Neste artigo consta a instalaçƒao da ferramenta seu funcionamento,
testes em tempo real com hosts castrados no servidor e nƒao cadastrados, com a
ferramenta cacti foi feito o monitoramento dos hosts.

1. Introduçƒao
As redes de computadores estƒao cada vez mais presentes na vida das pessoas, seja no
trabalho, na faculdade, em casa at¬e mesmo na rua. Com a propagaçƒao da internet houve
um grande crescimento das rede e necessidade de nos conectar com o mundo. Devido
ao crescimento e¬ necess¬ario por mais qualidade nos serviços de internet como na banda
larga, em medias e grandes empressas e¬ conviniente que tenha um controle de banda para
que o serviço de banda larga nƒao Æque comprometido com baixo desempenho. Entƒao
foi desenvolvido o QoS (Qualidade de Serviço) para manter que todos os usuario tenham
banda larga com a velocidade contatada e nƒao prejudicar os demais usuarios da mesma
rede. O presente estudo tem como foco descrever sobre controle de banda e monitora-
mento dos respectivos hosts, tendo em vista a melhor performace do compartilhamento
da internet.
2. Objetivos
O projeto parte do principio fazer o controle de banda de usu¬arios por IP e Mac, e utilizar
uma ferramenta para o monitoramento de tr¬afego.
O projeto tem como objetivo especiÆco fazer com que um servidor Linux faça o
controle de banda via Web para usu¬ario Ænal.
3. Escopo do Projeto
 CentOS Linux 5.5
 Servidor DHCP
 Ferramenta de gerenciamento para servidores, Webmin
 Controle de banda via Web WebHTB
 Ferramenta para monitoramento, Cacti
 Clientes Windows XP

4. Principais Ferramentas Utilizadas no Projeto


Ferramentas utilizadas no projeto sƒao:
 WebHTB para fazer o gerenciamento de clientes e controle de banda via Web.
 Cacti para fazer o monitoramento de banda.
 Serviço de DHCP server para que os usu¬arios recebem IP de forma dinâmica.
 Webmin para fazer o gerenciamento do DHCP server e demais serviços.

4.1. WebHTB
WebHTB excelente ferramenta para fazer o controle de banda em pequenas, medias
e grandes empresas,funciona tanto para ip’s publicos como privados. Teoricamente o
WebHTB trabalha em qualquer sistema Linux moderno, com os requisitos padrƒao, o
que mais for preciso encontra-se nos reposit¬orios da distribuiçƒao do Linux. Requisitos
para instalaçƒao da ferramenta, iprouter2, apache HTTP Server com suporte SSL, PHP5,
MySQL Server, SELinux conÆgurado para permitir trabalhar com apache-php-mysql-
webhtb e alguns m¬odulos compilados de Kernel como (sch sfq, cls u32, sch htb, act police
sch ingress e opcionalmente, sch esfq). Tamb¬em exige unzip, neces¬ario para atualizaçƒoes
autom¬aticas, e um servidor SSH, que aceita o usu¬ario root para entrar por padrƒao em
localhost porta 22.
4.2. Monitoramento Cacti
Cacti e¬ uma ferramenta administrativa de rede, que recolhe e exibe informaçƒoes sobre o
estado de uma rede de computadores atrav¬es de gr¬aÆcos. Permitindo o monitoramento e
gerenciamento de redes simples at¬e redes complexas, com centenas de dispositivos. Foi
desenvolvido para ser Øex¬ıvel de modo a se adaptar facilmente a diversas necessidades,
bem como ser robusto e adicionando a isto uma interface Web intuitiva e f¬acil de usar.
Monitora o estado de elementos de rede e programas bem como largura de banda utilizada
e uso de CPU. Trata-se de uma interface e uma infra-estrutura para o RRDTool, que e¬
respons¬avel por armazenar os dados recolhidos e por gerar gr¬aÆcos em um banco de dados
MySQL. A interface e¬ completamente orientada à PHP. As informaçƒoes sƒao repassadas
para a ferramenta atrav¬es de scripts ou outros programas escolhidos pelo usu¬ario os quais
devem se encarregar de obter os dados. Pode-se utilizar tamb¬em o protocolo SNMP para
consultar informaçƒoes em elementos de redes e/ou programas que suportam tal protocolo.
Sua arquitetura prevê a possibilidade de expansƒao atrav¬es de plugins que adicionam novas
funcionalidades. Um destes plugins e¬ o PHP Network Weathermap que mostra um mapa
da rede e o estado de cada elemento. De acordo com a Ægura 3 contem um exemplo de
cliente que est¬a sendo monitorado a memoria e a interface de rede.
Figura 1. Monitoramento do Cliente XP Pro 001

4.3. Servidor DHCP


O DHCP, Dynamic Host ConÆguration Protocol (Protocolo de conÆguraçƒao de host
dinâmico), e¬ um protocolo de serviço TCP/IP que oferece conÆguraçƒao dinâmica de com-
putadores em rede.
O servidor obviamente que ir¬a atribuir o IP para os hosts conectados ao mesmo
para ajudar a manter organizados os clientes. Para isso foi implementado um gerenciador
de servidores chamado webmim, a partir dele e¬ feito o controle do serviço DHCP Server,
de acordo com a Ægura 1. A conÆguraçƒao do servidor DHCP est¬a na Ægura 2.
4.4. Webmin
Webmin e¬ um programa de gerenciamento de servidor, que roda em plataformas linux.
Este gerenciador pode usar tamb¬em o Usermin e o Virtualmin. O Webmin funciona como
um centralizador de conÆguraçƒoes do sistema, monitoraçƒao dos serviços e de servidores,
fornecendo uma interface amig¬avel, e que quando conÆgurado com um servidor web,
pode ser acessado de qualquer local, atrav¬es de um navegador: https:
(ip do servidor):(porta de utilizaçƒao). Exemplo: https:
172.168.5.12:10000. Facilitando a administraçƒao do servidor e de forma organizada, man-
tendo as tarefas de serviços atualizados.Pagina inicial Wemin Figura 4.
5. Tecnologia utilizada para controle de Banda
O controle de banda utiliza diretamente a tecnologia de QoS (Qualidade de Serviço), com
Qualidade de Serviço, e¬ poss¬ıvel oferecer maior garantia e segurança nas aplicaçƒoes para
Figura 2. Servidor DHCP

Figura 3. CoÆguraçƒao DHCP Server


Figura 4. Pagina Inicial Webmin

Internet, uma vez que o tr¬afego de aplicaçƒoes avançadas passam a ter maior prioridade,
enquanto usu¬arios de aplicaçƒoes tradicionais continuam utilizando o melhor esforço.

5.1. QoS - Quality Of Service


O webHTB trabalha diretamente com o sistema de QoS - (qualidade de serviço), ativando
o serviço no painel entra em vigor seu funcionamento no servidor. Normalmente a Inter-
net trabalha com a ÆlosoÆa do melhor esforço, cada usu¬ario compartilha largura de banda
com outros e, portanto, a transmissƒao de seus dados concorre com as transmissƒoes dos
demais usu¬arios. Os dados empacotados sƒao encaminhados da melhor forma poss¬ıvel,
conforme as rotas e banda dispon¬ıveis. Quando h¬a congestionamento, os pacotes sƒao
descartados sem distinçƒao. Nƒao h¬a garantia de que o serviço ser¬a realizado com sucesso.
Entretanto, aplicaçƒoes como voz sobre IP e videoconferência necessitam de tais garantias.
Com a implantaçƒao de qualidade de serviço (quality of service QoS), e¬ poss¬ıvel ofere-
cer maior garantia e segurança para aplicaçƒoes avançadas, uma vez que o tr¬afego destas
aplicaçƒoes passa a ter prioridade em relaçƒao a aplicaçƒoes tradicionais. Com uso de QoS os
pacotes sƒao marcados para distiguir os tipos de serviços e os roteadores sƒao conÆgurados
para criar Ælas distintas para cada aplicaçƒao, de acordo com as prioridades das mesmas.
Assim, uma faixa da largura de banda, dentro do canal de comunicaçƒao, e¬ reservada para
que, no caso de congestionamento, determinados tipos de Øuxos de dados ou aplicaçƒoes
tenham prioridade na entrega.
6. Instalaçƒao WebHTB
Neste trabalho foi utilizado a distribuiçƒao CentOS 5.5 Linux para ser instalado as ferra-
mentas para controle de banda e monitoramento, descrevendo alguns passos inportantes
para o funcionamento da ferramneta:
Instalando dependências e criando o certiÆcado
Ativar os m¬odulos nativos do kernel:
 HTB M¬odulo HTB do Kernel
 SFQ M¬odulo SFQ do Kernel
 U32 M¬odulo U32 do Kernel
Comando modprobe para carregar os m¬odulos:
 modprobe sch htb
 modprobe sch sfq
 modprobe cls u32
Instalaçƒao o PHP, MySQL e dependências:
 yum install apache2 php5 php5-cli php5-mysql php5-snmp php5-xmlrpc
Habilitando o m¬odulo SSL Apache2:
 a2enmod ssl
 a2ensite default-ssl
Os passo acima sƒao os mais importante para que a instalaçƒao tenha êxito, tendo em
vista que a instalaçƒao foi feita, pr¬oximo passo, interface web. Observaçƒao, e¬ importante
fazer update ao logar na interface para que a conecxƒao com o banco de dados seja bem
sucedida. O proximo passo e¬ escolher a interface (Figura 5) de entrada e sa¬ıda, eth0 no
caso e¬ a entrada de internet e a eth1 sa¬ıda, ou seja, onde vai ser feito o controle de banda,
se ouver mais interfeices e¬ s¬o adicionar de acordo com a nessecidade da rede.
7. Criaçƒao de classes
Na criaçƒao de classes (Figura 6)¬e importante que o gerenciamento dos clientes Æque or-
ganizado, podendo ser criado uma classe para quem Æca conectado a cabo ou por sem Æo,
depender¬a da rede a ser projetada. Dentro da classe ir¬a ser estipulado alguns parametros
como, nome da classe, banda a ser administrada, limite de banda e prioridade, dentro da
prioridade encontrase uma serie de disciplina de Æla associada. De acordo com os tipos
de diciplinas de enÆleiramneto que sƒao utilizados pelo webHTB:
First In First Out (FIFO)
Stochastic Fair Queuing (SFQ)
Enhanced Stochastic Fairness Queueing(ESFQ)
Primeiro a entrar primeiro a sair (FIFO)
Esta e¬ uma das disciplinas mais simples de Ælas dispon¬ıveis. Em Ælas FIFO, todos
os pacotes sƒao armazenados em uma u¬ nica Æla e sƒao transmitidos na ordem em que sƒao
recebidos. E¬ tanto uma Æla e um mecanismo de agendamento. E¬ a disciplina de Æla mais
popularmente usado entre os outros. Entƒao, por padrƒao, todas as interfaces têm FIFO
como sua disciplina de Æla.
Figura 5. Interfaces

Figura 6. Adicionar nova Classes


Stochastic Fair Queuing (SFQ)
Como o nome indica, consiste em n¬umero de alocaçƒao dinâmica dos primeiros nas
Ælas em primeiro lugar e durante a conversa toda e qualquer permite apenas uma Æla. Isso
faz com que cada pacote para viajar ao seu destino sem qualquer adiamento. A vantagem
principal desta disciplina de Æla e¬ que ele permite o compartilhamento justo a ligaçƒao
entre diversas aplicaçƒoes.
Enhanced Stochastic Fairness Queueing(ESFQ)
O ESFQ e¬ uma versƒao aprimorada do SFQ, os pacotes ESFQ sƒao nomeados de
acordo com a versƒao atual do Linux kernel. Eles podem ou nƒao funcionar com versƒoes
anteriores, eu apenas o teste usando o mais recente. Se você achar que o mais recente
pacote de ESFQ dispon¬ıvel nƒao funciona com o lançamento mais recente do kernel.
7.1. Gerencimento de clientes WebHTB
Adiçƒao de clientes (Figura 7) e¬ um passo importante. O menu de clientes pode ser adi-
cionado novos clientes, para editar ou apagar, Nome, ip, mac, banda contatada, limite de
banda, prioridade, e o ip de destino, entre outras opçƒoes de conÆguraçƒao.
Na imagem abaixo em contra se um exemplo de um cliente sendo adicionado a
classe wired network, primeiro passo e¬ colocar a identiÆcaçƒao do cliente no caso CLI-
NETE004, banda que ser¬a disponibilizada 5024, o limite a ser usado pelo upload 1024,
endereço f¬ısico da placa de rede, e por Ænal o IP de destino do cliente.

Figura 7. Adicionar novo Cliente


7.2. Tr¬afego em tempo real
O webHTB mostra todo o tr¬afego que est¬a utilizado pelos clientes em tempo real. (Fi-
gura 8)Quando o cliente j¬a e¬ cadastrado na classe e limitada a banda tanto de download
e upload, vai funcionar corretamente, se nƒao cadastrado vai diretamente para a classe de-
fault (padrƒao), o cliente conectado diretamente na rede receber¬a IP porem Æcar¬a na classe
default com o download limitado para 8Kbps e 8Kbps de upload sem afatetar os demais
clientes conectados na rede, quanto mais clientes no default pior Æcar para navegar nesta
classe.

Figura 8. Tr¬afego em tempo real

8. Testes de Controle de Banda


Depois de conÆgurado o servidor e adicionado os clientes foram feitos testes de veloci-
dade de conexƒao para veriÆcar se a conÆguraçƒao foi feita corretamente. A Ægura abaixo
mostra os clientes fazendo testes de velocidade de Download e Upload. Primeiro cliente
da esquerda para direta est¬a com 1MB de download e 512Kbps de upload, segundo cliente
512Kbps de download e 256Kbps de upload e o terceiro cliente 256Kbps de download e
128Kbps de upload. O que podemos observar e¬ que o controle de banda e¬ eÆcaz de acordo
com a conÆguraçƒao aplicada no servidor, o webHTB apresentou grande Øexibilidade para
alteraçƒao de banda at¬e mesmo quando o usu¬ario est¬a utilizando a internet, se necess¬ario
o administrador alterar a banda do cliente e¬ s¬o restartar o serviço de QoS, depois de ter
modiÆcado a banda contatada.Testes realizado Figura 9.
Figura 9. Teste de Banda WebHTB

9. Resultado Obtido
O projeto foi realizado no sistema operacional Linux, em um servidor dedicado para con-
trole de banda, DHCP Server e Cacti para monitoramento. Foi utilizado um ambiente de
m¬aquinas virtuais, com um servidor e quatro clientes Windows XP, com banda limitada,
onde todos os testes efetuados obtiveram êxito.
Foram feitos testes com as ferramentas descritas no artigo, todas obtiveram êxito,
e estas certamente sƒao utilizadas em servidores reais. A ferramenta WebHTB descrita no
artigo e¬ free, a versƒao completa e¬ paga e pode gerar gr¬aÆcos muito parecidos com o do
Cacti, por¬em gera tamb¬em contas, que sƒao enviadas por email ou impressas.
10. Conclusƒao
Conforme o presente artigo, o controle de banda e¬ utilizado em provedores de internet e
demais empresas para melhor Øuxo de dados na rede, sem interferir nos demais usu¬arios.
O foco principal e¬ ajudar o administrador da rede a obter o m¬aximo de desempenho do
link de internet contatado, com agilidade sem que os usu¬ario Æquem com a internet lenta.
Por Æm, concluo que o presente trabalho foi de grande utilidade de estudo em
Sistema Linux, acrescendo novos conhecimentos do sistema operacional, utilizado mun-
dialmente. Com o desenvolvimento do trabalho, foi poss¬ıvel obter mais conhecimento na
a¬ rea de administraçƒao de redes de computadores, melhorando o desempenho e facilitando
o trabalho em uma rede de grande porte.
Referências
Web HTB. Dispon¬ıvel em: < http : ==www:webhtb:ro > Acesso em: 12 agos.
2011.
Mestre asterisk. Dispon¬ıvel em: < http : ==mestreasterisk:com:br > Acesso
em: 20 agos. 2011.
Inside linux. Dispon¬ıvel em: < http : ==www:insidelinux:com:br > Acesso
em: 22 agos. 2011.
Viva o Linux. Dispon¬ıvel em: < http : ==www:vivaolinux:com:br > Acesso
em: 22 agos. 2011.