Vous êtes sur la page 1sur 4

Gerenciamento de trfego com o WebHTB

REDES

Controle de trfego
Veja como o WebHTB gerencia a banda com uma interface prtica e bonita.
por Razvan-Teodor Coloja

Paulus Rusyanto Fotolia.com

s computadores clientes, em
sua maioria, esto configurados para obter a largura
de banda de que necessitam, at os
limites do hardware, mas as tcnicas
padro para o compartilhamento de
banda entre os vrios sistemas em
uma rede local so muitas vezes
inadequadas quando os volumes
de trfego crescem vertiginosamente. Muitos administradores acham
que conseguem melhor desempenho de rede (e menos reclamaes
de usurios) impondo um sistema
que limita a utilizao individual
da banda. Por exemplo, imagine o
que aconteceria se alguns sistemas
em uma rede local comeassem simultaneamente a baixar filmes de
sites de torrent, usando at 98% da

capacidade coletiva de download e


upload. Os outros usurios da rede
se queixariam, e voc como o administrador de rede teria que dedicar
um tempo precioso para solucionar
os problemas e responder aos emails.
Por que no permitir que um sistema automatizado imponha a gesto
da banda para esse tipo de situao?
Infelizmente, as ferramentas que
permitem utilizar os recursos de
QoS (Quality of Service, qualidade de servio) no kernel Linux geralmente so difceis de instalar e
configurar, e as melhores exigem
uma recompilao do kernel. O
pacote HTB-tools [1] foi durante
muito tempo uma ferramenta padro do Linux para limitar o uso
da largura de banda. Embora exija

Quadro 1: QoS
As verses anteriores do WebHTB se baseavam no pacote HTB-tools para
algumas funes de QoS. Desde a verso 2.0, o WebHTB vem com ferramentas para lidar com QoS diretamente. Para ver os recursos includos, confira uma demonstrao do WebHTB em ao [2].

62

diversos clculos e tempo com arquivos de configurao, possvel


efetuar uma melhor sintonia das
HTB-tools para satisfazer as necessidades da sua rede.
Uma alternativa fcil para gerir
o trfego em sua rede local uma
ferramenta chamada WebHTB. O
WebHTB (figura 1) um conjunto
de arquivos PHP que podem ajudar
a alocar a largura de banda por meio
de uma interface web baseada em
AJAX. O WebHTB permite limitar
a largura de banda em endereos IP
externos e internos e gerenciar a largura de banda em endereos SNAT
(Source Network Address Translation).

Primeiros Passos

Antes de utilizar o WebHTB, voc


precisa ativar alguns mdulos do kernel e recompilar o kernel. Primeiro,
adicione os seguintes mdulos para
a configurao do kernel: Hierarchical Token Bucket (HTB), Stochastic
Fairness Queuing (SFQ), Netfilter
mask (FW) e as Universal 32-bit comparisons with hashing (U32). Alm

http://www.linuxmagazine.com.br

WebHTB | REDES

disso, necessrio ativar o suporte


s marcaes com netfilter e chave
U32. Em seguida, instale o iproute2
juntamente com um servidor web
que suporte SSL 2.8 (o Apache a
melhor opo), bem como suporte
para MySQL, PHP e SSH2. Um
servidor web com SSL ativado
essencial por razes de segurana,
pois a senha de root fornecida no
login e armazenada com criptografia. O WebHTB utiliza apenas essa
senha ao mesmo tempo em que
efetua alteraes na configurao.
Em seguida, baixe a ltima verso
do pacote WebHTB [3] e extraia o
arquivo na raiz do servidor Web na
mesma mquina que faz o papel de
roteador na rede.
Em seguida, preciso criar um
banco de dados para o WebHTB.
Para isso, primeiro acesse o prompt
do MySQL com:
mysql -u root -p

Em seguida, crie um novo banco


de dados chamado webhtbdb e conceda acesso ao seu usurio:
CREATE DATABASE webhtbdb;
GRANT ALL PRIVILEGES ON webhtbdb
.* a usurio @ localhost
IDENTIFIED BY password com GRANT
OPTION;
quit;

Adicione ao final do arquivo

/etc/sudoers o usurio sob o qual o

servidor ser executado. Alm disso,


importante que este usurio tenha
permisses de leitura e escrita no
arquivo webhtb/config/config.php na
raiz do servidor Web. Este arquivo
armazena as configuraes do Web
HTB e deve ser verificado aps a
concluso da instalao.
Agora que acabou a parte mais difcil, inicie o navegador Web, entre
em http://127.0.0.1/webhtb/setup e
siga os passos do instalador do Web
HTB mostrados na tela. Na pgina

Linux Magazine #56 | Julho de 2009

Figura 1 A janela principal do WebHTB mostra os PCs clientes e seus limites


de banda. Os administradores podem facilmente visualizar e editar
os valores de cada PC na rede.

de configurao, digite o nome do


usurio administrador do MySQL e
sua respectiva senha , assim como o
nome e a senha do usurio que ter
acesso nova base de dados criada.
Digite webhtbdb como o nome do banco de dados. Escolha a sua interface
de rede principal (geralmente eth0)
e efetue as alteraes.
Se a instalao for bem-sucedida,
voc poder apagar a pasta setup/.

Burst (Rajada) quantidade de


dados que pode ser enviada
velocidade mxima do hardware
antes que oferea mais dados.
Se o valor for definido como 0,
o WebHTB ir calcular e aplicar
um valor automaticamente;

Cotas

O WebHTB monitora a interface de


rede entre uma rede local e a Internet, alm de impor cotas de trfego
para os computadores da rede local.
Em particular, o WebHTB gerencia os seguintes parmetros:
Bandwidth (Largura de banda)
largura de banda mnima garantida;
Limit (Limite) largura de banda
mxima disponvel para um nico
computador;

Figura 2 As configuraes do
WebHTB so aplicadas a uma
interface de rede especfica.

63

REDES | WebHTB

Figura 3 Adicionando uma classe no WebHTB.

Figura 4 Modificando um cliente existente a partir da lista.

Priority (Prioridade) localizao na hierarquia de alocao de


banda (quanto menor o nmero,
maior a hierarquia).

Queue (Fila) define o tipo de


escalonamento (atualmente, as
opes disponveis so: PFIFO,
SFQ ou ESFQ).

O objetivo definir as classes de


computadores com um propsito em
comum. Por exemplo, uma classe
Contabilidade poderia consistir em
computadores pertencentes ao setor de contabilidade, que tm uma
funo similar. Cada classe pode ter
uma mesma configurao.
Porm, antes de comear a criar
classes, necessrio definir a interface de rede. Selecione Interfaces+
no menu principal para acessar um
dilogo que permite adicionar uma
interface para a configurao do
WebHTB (figura 2).
Selecione Classes+ no menu principal para acessar o dilogo que permite definir uma classe de computadores para a rede (figura 3).
Note que possvel atribuir limites
de banda com a classe. Esses limites
sero aplicados a cada um dos computadores na classe. No entanto, voc
tambm pode associar os limites de
largura de banda para um computador especfico, que sobrescrever
as definies de classe.
Com a classe j criada, possvel
adicionar computadores a ela. Clique na entrada de menu Clients+
na janela principal, escolha a opo
Add client e digite um nome para
o PC. Em seguida, defina a banda
disponvel e o limite de utilizao
nas configuraes do PC e escolha
um nvel de prioridade no menu
drop-down. Os nomes dos clientes
no devem conter espaos ou caracteres especiais, e os valores de banda
total e limite devem ser mltiplos
de oito. Agora, clique em Save para
salvar as configuraes. Para adicio-

Quadro 2: Centro de controle


O WebHTB Control Center ainda est em desenvolvimento. Os programadores planejam finalizar seu desenvolvimento
com o lanamento da verso 2.8. O Centro de Controle gerencia as configuraes, como a senha do MySQL, o intervalo de endereos IP que podem acessar a interface do WebHTB ou o idioma do WebHTB que exibido. Atualmente,
o WebHTB suporta romeno, ingls, espanhol e portugus, mas de acordo com o desenvolvedor principal do projeto,
Daniel Delicostea, mais tradues esto a caminho. O Centro de Controle (figura 6) tambm permite aos usurios fazer becape e restaurar as configuraes atuais, de modo que o administrador possa utilizar diferentes configuraes
em momentos diferentes.

64

http://www.linuxmagazine.com.br

WebHTB | REDES

nar mais clientes, pressione Reset,


o qual limpa os campos.
Os novos clientes devem aparecerna lista imediatamente. Graas
interface AJAX (figura 4), com um
clique do mouse possvel editar
e apagar as entradas. O WebHTB
trabalha com endereos IP, MARK
e MAC.
A opo Show (Mostrar) na barra
de menu leva a outro submenu chamado Show Traffic (Mostrar trfego).
A opo Show Traffic abre uma pequena janela, constantemente atualizada para permitir ao administrador
conferir quem est usando a banda
da empresa (figura 5). possvel estudar a velocidade de download de
clientes individuais em tempo real,
assim como a velocidade de classes
inteiras e seus respectivos limites.
Agora vamos considerar um cenrio tpico. Digamos que voc o
administrador de uma rede com 50
computadores. Um dos computadores pertence ao seu chefe, outro
a sua estao e os outros 48 esto
divididos entre os seus colegas de
trabalho. Seu trabalho consiste em
dividir com seus colegas uma linha
de 5 Mbps entre esses sistemas para
que nem vocs nem seu chefe tenham problemas de velocidade, e
que cada um dos seus colegas tenha
uma conexo estvel de Internet.
Depois de adicionar a eth0 como
interface padro, crie duas novas
classes: uma chamada Privilegiados
e outra chamada Colegas. Na classe privilegiada, adicione um novo
cliente chamado Chefe, com banda
garantida de 512 Kbps e limite de
640 Kbps. Defina a prioridade da
classe para 0, garantindo assim que
esse usurio no tenha que aguardar
na linha quando estiver efetuando
um download. Crie outro cliente
chamado Administrador com essas
mesmas configuraes.
Esta configurao atribui um
quinto da largura de banda disponvel exclusivamente para voc e

Linux Magazine #56 | Julho de 2009

seu chefe. Se os
outros computadores na rede no
estiverem utilizando o mximo de
banda, voc e seu
chefe tero cada
um 128 Kbps extras
(porque a configurao define um
limite mximo de
640 Kbps).
Agora basta incluir o restante dos
usurios na classe Colegas e dar- Figura 5 Visualizao do uso da banda em tempo real.
lhes direito a uma
menor banda garantida (aproximadamente 80 Kbps
cada) e um limite
de 128 Kbps. Defina
os nveis de prioridade como bem Figura 6 O Centro de Controle na verso 2.8.
desejar (lembre-se:
quanto menor for o nmero atribu- ter um limite superior, de modo que,
do, maior a posio na hierarquia quando os outros terminarem o exde distribuio de banda).
pediente, tenham acesso banda
no utilizada. Associado a um bom
conjunto de regras no iptables (e
Antes de decidir quem recebe quanta talvez uma instalao do Squid), o
banda, faa um mapa mental da sua WebHTB simplificar sua vida como
empresa. Calcule quem precisa de administrador de rede. Crie diferenmais banda e quem normalmente tes configuraes e experimente at
trabalha horas extras. Os trabalha- encontrar uma abordagem que fundores que fazem horas extras devem cione bem para todos. n

Concluso

Mais informaes
[1] HTB-tools: http://htb-tools.skydevel.ro/
[2] Demonstrao do WebHTB:
http://webhtb.sourceforge.net/video_demo.html
[3] WebHTB: http://webhtb.sourceforge.net/

Sobre o autor
O romeno Razvan-Teodor Coloja freelancer e um entusiasta do Linux. J trabalhou em algumas revistas impressas e sites de Linux como autor e foi editor-chefe da revista MyLINUX Magazine na Romnia.

65

Vous aimerez peut-être aussi