[FUG-BR] Captive Portal

Christopher Giese - iRapida chris em irapida.com.br
Quarta Julho 12 14:30:58 BRT 2006


Opa

eu trabalhei aki numa solucao diferente:)

authpf na ponta do servidor
java applet (ssh - BROWSER)  na ponta do cliente

ficou legal.... e o servidor nao precisa estar fisicamente direto na 
mesma rede fisica :)

ae se o cliente fecha o browser (java applet) perde a conexao ssh que 
foi feita e automaticamente o authpf fecha as regras)

tudo isto em cima de criptografia :)

ou seja..... seguro.... robusto... funcional.....  e se o cliente quiser 
ficar conectado 10 dias... sem trafegar pacotes...... nada impede (rs)

t+

Christopher Giese <SkyWarrior>
bsdux at bsdux.com.br


Patrick Tracanelli wrote:
> m3 BSD wrote:
>   
>> 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?
>>     
>
> Fala Mario :)
>
> Solucao um pouco melhor que essa: use ipfw -t ou -T
> Muito melhor: use um pre-processador e chame-o com ipfw -p
>
>   



Mais detalhes sobre a lista de discussão freebsd