[FUG-BR] Captive Portal

m3 BSD m3.bsd.mania em gmail.com
Quarta Julho 12 13:52:13 BRT 2006


Eae galera.. tudo blz? :)

Seguinte... procurando por solucoes de captive portal, resolvi
"tentar" desenvolver uma solucao propria baseada em FreeBSD.
Bom... primeiramente, jah estao funcionando algumas coisas:
1) O cliente conecta fisicamente na rede, e por dhcp recebe ip, gw, dns.
2) Por padrao, todo o trafego eh bloqueado para a rede do dhcp, porem,
as solicitacoes de tcp porta 80 sao redirecionadas para um webserver
(no caso apache) que exibe a pagina de autenticacao.
3) Ao se autenticar (php+postgresql), o script php gera as regras do
firewall (ipfw) para liberar o trafego, fazer nat, proxy transp e
controle de banda (dummynet)

Bem.. ateh ai esta tudo ok.. tudo certinho.. funcionando corretamente.

Agora, estou comecando a implementar o software que vai monitorar a
tempo de vida das conexoes. Bem, a minha ideia eh essa: um script no
cron de 5 em 5 minutos, le a saida de ipfw show, na terceira coluna, e
verifica no postgresql a ultima contagem de pacotes, se num periodo
predeterminado de tempo os pacotes continuam iguais, ou seja, nao
houve trafego, apaga as regras do firewall e faz o sql colocando o
cliente como desconectado.

La vai: O que vcs acham dessa solucao? Alguem tem uma ideia melhor,
mais limpa, mais elegante?

PS: Essa solucao eh para um cliente que tem um provedor wireless. O
legal eh q se o cara logar e tiver com pendencia financeira, o
sistemas libera  o acesso por 15 minutos.. no maximo 3 vezes ao dia...
ateh ele acertar as contas hehehe.

Atenciosmente

Mario Augusto Mania <m3BSD>
m3.bsd.mania em gmail.com
Cel.: (43) 9938-9629


Mais detalhes sobre a lista de discussão freebsd