LM_56_62_65_04_redes_webhtb

4
62 http://www.linuxmagazine.com.br REDES Gerenciamento de tráfego com o WebHTB Controle de tráfego Veja como o WebHTB gerencia a banda com uma interface prática e bonita. por Razvan-Teodor Coloja O s computadores clientes, em sua maioria, estão configu- rados para obter a largura de banda de que necessitam, até os limites do hardware, mas as técnicas padrão para o compartilhamento de banda entre os vários sistemas em uma rede local são muitas vezes inadequadas quando os volumes de tráfego crescem vertiginosamen- te. Muitos administradores acham que conseguem melhor desempe- nho de rede (e menos reclamações de usuários) impondo um sistema que limita a utilização individual da banda. Por exemplo, imagine o que aconteceria se alguns sistemas em uma rede local começassem si- multaneamente a baixar filmes de sites de torrent, usando até 98% da capacidade coletiva de download e upload. Os outros usuários da rede se queixariam, e você como o admi- nistrador de rede teria que dedicar um tempo precioso para solucionar os problemas e responder aos emails. Por que não permitir que um siste- ma automatizado imponha a gestão da banda para esse tipo de situação? Infelizmente, as ferramentas que permitem utilizar os recursos de QoS (Quality of Service, qualida- de de serviço) no kernel Linux ge- ralmente são difíceis de instalar e configurar, e as melhores exigem uma recompilação do kernel. O pacote HTB-tools [1] foi durante muito tempo uma ferramenta pa- drão do Linux para limitar o uso da largura de banda. Embora exija diversos cálculos e tempo com ar- quivos de configuração, é possível efetuar uma melhor sintonia das HTB-tools para satisfazer as neces- sidades da sua rede. Uma alternativa fácil para gerir o tráfego 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 endereços IP externos e internos e gerenciar a lar- gura de banda em endereços SNAT (Source Network Address Translation). Primeiros Passos Antes de utilizar o WebHTB, você precisa ativar alguns módulos do ker- nel e recompilar o kernel. Primeiro, adicione os seguintes módulos para a configuração do kernel: Hierarchi- cal Token Bucket (HTB), Stochastic Fairness Queuing (SFQ), Netfilter mask (FW) e as Universal 32-bit com- parisons with hashing (U32). Além Quadro 1: QoS As versões anteriores do WebHTB se baseavam no pacote HTB-tools para algumas funções de QoS. Desde a versão 2.0, o WebHTB vem com ferra- mentas para lidar com QoS diretamente. Para ver os recursos incluídos, con- fira uma demonstração do WebHTB em ação [2]. Paulus Rusyanto – Fotolia.com

Transcript of LM_56_62_65_04_redes_webhtb

  • 62 http://www.linuxmagazine.com.br

    RE

    DE

    S

    Gerenciamento de trfego com o WebHTB

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

    Os computadores clientes, em sua maioria, esto configu-rados 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 vertiginosamen-te. Muitos administradores acham que conseguem melhor desempe-nho 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 si-multaneamente 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 admi-nistrador de rede teria que dedicar um tempo precioso para solucionar os problemas e responder aos emails. Por que no permitir que um siste-ma automatizado imponha a gesto da banda para esse tipo de situao?

    Infelizmente, as ferramentas que permitem utilizar os recursos de QoS (Quality of Service, qualida-de de servio) no kernel Linux ge-ralmente 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 pa-dro do Linux para limitar o uso da largura de banda. Embora exija

    diversos clculos e tempo com ar-quivos de configurao, possvel efetuar uma melhor sintonia das HTB-tools para satisfazer as neces-sidades 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 lar-gura de banda em endereos SNAT (Source Network Address Translation).

    Primeiros PassosAntes de utilizar o WebHTB, voc precisa ativar alguns mdulos do ker-nel e recompilar o kernel. Primeiro, adicione os seguintes mdulos para a configurao do kernel: Hierarchi-cal Token Bucket (HTB), Stochastic Fairness Queuing (SFQ), Netfilter mask (FW) e as Universal 32-bit com-parisons with hashing (U32). Alm

    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 ferra-mentas para lidar com QoS diretamente. Para ver os recursos includos, con-fira uma demonstrao do WebHTB em ao [2].

    Paulus Rusyanto Fotolia.com

  • 63

    | REDESWebHTB

    Linux Magazine #56 | Julho de 2009

    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 criptogra-fia. 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 con-ceda 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 di-fcil, 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

    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 ban-co 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/.

    CotasO WebHTB monitora a interface de rede entre uma rede local e a Inter-net, alm de impor cotas de trfego para os computadores da rede local.

    Em particular, o WebHTB geren-cia os seguintes parmetros: Bandwidth (Largura de banda)

    largura de banda mnima garan-tida;

    Limit (Limite) largura de banda mxima disponvel para um nico computador;

    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;

    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.

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

  • 64 http://www.linuxmagazine.com.br

    REDES | WebHTB

    Priority (Prioridade) localiza-o 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 se-tor de contabilidade, que tm uma funo similar. Cada classe pode ter uma mesma configurao.

    Porm, antes de comear a criar classes, necessrio definir a inter-face 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 prin-cipal para acessar o dilogo que per-mite definir uma classe de computa-dores para a rede (figura 3).

    Note que possvel atribuir limites de banda com a classe. Esses limites sero aplicados a cada um dos com-putadores na classe. No entanto, voc tambm pode associar os limites de largura de banda para um compu-tador especfico, que sobrescrever as definies de classe.

    Com a classe j criada, possvel adicionar computadores a ela. Cli-que 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 carac-teres especiais, e os valores de banda total e limite devem ser mltiplos de oito. Agora, clique em Save para salvar as configuraes. Para adicio-

    Figura 4 Modificando um cliente existente a partir da lista.

    Figura 3 Adicionando uma classe no WebHTB.

    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 inter-valo 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 fa-zer becape e restaurar as configuraes atuais, de modo que o administrador possa utilizar diferentes configuraes em momentos diferentes.

  • 65

    | REDESWebHTB

    Linux Magazine #56 | Julho de 2009

    nar mais clientes, pressione Reset, o qual limpa os campos.

    Os novos clientes devem apare-cerna 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 cha-mado Show Traffic (Mostrar trfego). A opo Show Traffic abre uma pe-quena janela, constantemente atua-lizada para permitir ao administrador conferir quem est usando a banda da empresa (figura 5). possvel es-tudar 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 ce-nrio tpico. Digamos que voc o administrador de uma rede com 50 computadores. Um dos computa-dores 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 te-nham 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 clas-se 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 dispo-nvel exclusivamente para voc e

    seu chefe. Se os outros computa-dores na rede no estiverem utilizan-do o mximo de banda, voc e seu chefe tero cada um 128 Kbps extras (porque a configu-rao define um limite mximo de 640 Kbps).

    Agora basta in-cluir o restante dos usurios na clas-se Colegas e dar-lhes direito a uma menor banda ga-rantida (aproxima-damente 80 Kbps cada) e um limite de 128 Kbps. Defina os nveis de prio-ridade como bem desejar (lembre-se: quanto menor for o nmero atribu-do, maior a posio na hierarquia de distribuio de banda).

    ConclusoAntes de decidir quem recebe quanta banda, faa um mapa mental da sua empresa. Calcule quem precisa de mais banda e quem normalmente trabalha horas extras. Os trabalha-dores que fazem horas extras devem

    ter um limite superior, de modo que, quando os outros terminarem o ex-pediente, tenham acesso banda no utilizada. Associado a um bom conjunto de regras no iptables (e talvez uma instalao do Squid), o WebHTB simplificar sua vida como administrador de rede. Crie diferen-tes configuraes e experimente at encontrar uma abordagem que fun-cione bem para todos. n

    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/

    Figura 6 O Centro de Controle na verso 2.8.

    Figura 5 Visualizao do uso da banda em tempo real.

    Sobre o autorO romeno Razvan-Teodor Coloja freelancer e um entusiasta do Linux. J trabalhou em algu-mas revistas impressas e sites de Linux como autor e foi editor-chefe da revista MyLINUX Maga-zine na Romnia.