Vulpes - Gerenciamento de acesso para gateways / proxies no Linux

Vulpes é um sistema de gerenciamento de acesso para gateways/proxies no Linux. Licenciado sob o GPL, Vulpes consiste em dois componentes: Vulpes vulpes - o backend, escrito em PHP e Vulpes corsac - o frontend, feito em Adobe Flex.

[ Hits: 10.422 ]

Por: Moisés de Oliveira Santos em 16/09/2008 | Blog: http://www.linuxfi.com.br


Vulpes no Linux



Pré-requisitos:
  • Linux (Testado no Ubuntu 6.06+/Debian 3.1+)
  • Apache 2.0 ou superior
  • PHP 5 ou superior
  • MySQL 5.0 ou superior
  • ISC DHCP Server versão 3
  • Sudo

Instalação

Primeiro é importante decidir onde colocar o Vulpes e o Corsac. Durante essa guia vamos usar 2 variáveis do ambiente:

# export VULPES_PATH="/var/www/vulpes"
# export CORSAC_PATH="/var/www/corsac"


Se você deseja instalar o Vulpes em outro caminho, modifique essas variáveis.

IMPORTANTE: Se você fechar o terminal antes de terminar esse guia, lembre-se de exportar essas duas variáveis de novo.

Instalar dependências:

# apt-get install apache2 mysql-server php5 php5-mysql php5-cli subversion dhcp3-server

Baixar o Vulpes:

# svn co svn://svn.linfox.com.br/vulpes/vulpes/branches/0.3 $VULPES_PATH
# svn co svn://svn.linfox.com.br/vulpes/corsac/releases/0.3 $CORSAC_PATH


Ativar mod_rewrite no Apache:

# a2enmod rewrite

Configurar Apache para escutar nas portas 80 e 82:

# vim /etc/apache2/ports.conf

Colocar captive portal na porta 82:

Primeiro modificar o configuração default para usar porta 80:

# vim /etc/apache2/sites-enabled/000-default
  • remover a primeira regra (NameVirtualHost *)
  • mudar '<VirtualHost *>' para '<VirtualHost *:80>'

Depois criar um link para o apache.conf do Vulpes:

# cp $VULPES_PATH/apache_dist.conf $VULPES_PATH/apache.conf
# vim $VULPES_PATH/apache.conf
# ln -s $VULPES_PATH/apache.conf /etc/apache2/sites-enabled/001-vulpes


Depois modificar ele e mudar os IPs para o IP do teu servidor.

Criar backup do dhcpd.conf:

# cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf-dist

Mudar permissões de dhcpd.conf:

# chown www-data:www-data /etc/dhcp3/dhcpd.conf
# chmod 664 /etc/dhcp3/dhcpd.conf


Criar /etc/firewall com permissões para www-data:

# touch /etc/firewall
# chown www-data:www-data /etc/firewall


Criar /etc/tcrc com permissões para www-data:

# touch /etc/tcrc
# chown www-data:www-data /etc/tcrc
# chmod +x /etc/tcrc


Mudar permissões do access.log do Squid:

# chown proxy:www-data /var/log/squid/access.log

Liberar iptables, iptables-restore, tc e dhcp3-server para Apache no sudo:

# visudo

Adicione as seguintes regras:

www-data        ALL=(ALL) NOPASSWD: /sbin/iptables
www-data        ALL=(ALL) NOPASSWD: /sbin/iptables-restore
www-data        ALL=(ALL) NOPASSWD: /sbin/tc
www-data        ALL=(ALL) NOPASSWD: /etc/init.d/dhcp3-server

Configurar o cron:

Primeiro modificar o cron.sh para configurar o caminho:

# cp $VULPES_PATH/cron_dist.sh $VULPES_PATH/cron.sh
# vim $VULPES_PATH/cron.sh


Depois adicionar cron.sh no crontab:

# crontab -e

Adicione a seguinte regra (modifica o caminho para o da instalação de vulpes):

*/5 *  *   *   *     /var/www/vulpes/cron.sh

Preparar banco de dados:

# mysql -u root -p < $VULPES_PATH/vulpes.sql

Configurar o backend para usar o banco de dados:

# cp $VULPES_PATH/config-dist.php $VULPES_PATH/config.php
# vim $VULPES_PATH/config.php


Configurar o frontend para usar o backend:

# cp $CORSAC_PATH/config-dist.xml $CORSAC_PATH/config.xml
# vim $CORSAC_PATH/config.xml


Acesse o Vulpes:

Agora pode acessar o Vulpes corsac no seu servidor no caminho:

http://11.0.0.1/corsac/

Onde 11.0.0.1 é o IP do seu servidor.

Pronto!

A LinFox disponibiliza para todos da comunidade que quiserem instalar o Vulpes e contribuir com o mesmo um projeto que está em desenvolvimento a mais de um ano, então fiquem a vontade para instalar e ajudar no desenvolvimento.

Até breve...

   

Páginas do artigo
   1. Vulpes no Linux
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Verificando integridade de servidores POP com PHP/sockets

Montando um velocímetro de internet com PHP e GD

Asterisk - Monitorando ligações gravadas através de página em PHP

Script PHP/MySQL - Controle de Máquinas via MAC Address no IPtables

Criando um painel de rede em PHP

  
Comentários
[1] Comentário enviado por diegofsouza em 17/09/2008 - 08:13h

ótimo artigo. Estava a procura de um pacote que monitore o meu roteador. Vou testar depois.
Abs!

[2] Comentário enviado por grandmaster em 17/09/2008 - 22:53h

Legal mesmo, vou testar na VM.

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

[3] Comentário enviado por comfaa em 19/09/2008 - 07:24h

Dica legal, mas qual é o grau de confiabilidade ??
Pois me interessei para colocar na empresa onde trabalho.

[4] Comentário enviado por moisesos em 19/09/2008 - 07:46h

Ola comfaa, esse programa foi desenvolvido por minha empresa, ja usamos ele em várias provedores e empresas. Nos o fizemos sob a licenca GPL, quem souber instalar fique a vontade para usar e ate ajudar no desenvolvimento, se você que usar Vulpes na sua empresa considere as soluções de suporte da LinFox: www.linfox.com.br.

[5] Comentário enviado por renatomartins em 19/09/2008 - 11:15h

Parabéns pela iniciativa, vou testar e se puder quero contribuir sim

[6] Comentário enviado por paulojrandrade em 29/10/2008 - 18:30h

Ola pessoal... alguem conseguiu fazer ele rodar? Pois consegui, mas fiquei perdido nas configuração, captive portal nao funfou nem proxy, nem navegação... se alguem puder ajudar, desde já agradeço.
Grande abraço a todos

[7] Comentário enviado por moisesos em 29/10/2008 - 18:33h

Ola Paulo,

me adiciona no MSN que te explico como eh: moises@linfox.com.br

vlw

[8] Comentário enviado por joaokorb em 30/11/2008 - 03:48h

ola,

segui todos os passos como instruido, implantando em um fedora9, mas sem sucesso na prática. ja analisei outras ferramentas de captive portal como wifidog, coovachilli, sagu-pro, no entanto nenhuma me cativou como esta apresentada.
gostaria de maiores informações para levantar os serviços descritos a título de demonstração em uma distro fedora9, para possivelmente no futuro estar implantando este sistema em condominios comerciais locais.

atenciosamente
joaokorb@gmail.com

[9] Comentário enviado por joaokorb em 30/11/2008 - 03:54h

mysql -u root -p < /var/www/vulpes/vulpes.sql
Enter password:
ERRO 1062 (23000) at line 99: Duplicate entry '1' for key 1

[10] Comentário enviado por joaokorb em 30/11/2008 - 03:56h

a demo deste utilitário é excelente, gostaria muito de avaliá-lo funcionando na prática aqui. como controla os limites de banda ? cbq? htb?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts