[FUG-BR] Redirecionar conexao após ter redirecionado para a 80
Rafael Henrique Faria
rafaelhfaria em cenadigital.com.br
Segunda Abril 9 10:49:58 BRT 2012
Bom dia João.
Se eu entendi corretamente, acho bom deixar claro para o pessoal que você
está querendo implementar um Capitive Portal.
Neste caso, você tem que se ater aos seguintes fatos:
- Nenhum usuário por definição tem acesso a rede externa
- Qualquer acesso a qualquer IP externo com destino na porta 80 é
redirecionado para um IP interno em uma porta interna para autenticação
- Passado na autenticação o IP autenticado tem que ter acesso a rede externa
- Com acesso a rede externa, qualquer acesso a um IP qualquer com destino
na porta 80 deve ser redirecionado para um IP interno na porta do proxy,
formando assim o proxy transparente.
- Após um logout, ou expiração do tempo, o IP liberado deve ser bloqueado
novamente.
Resumindo, você tem que construir um sistema que atenda esses passos.
Pelo que eu entendi, o 1o. e o 2o. você já cuidou.
O 3o, acredito que o ideal seria vê usar uma Tabela., no PF por exemplo.
E usando o comando de adicionar e remover IPs da lista, assim, quando um
usuário é liberado para passagem, você simplesmente adiciona o IP do mesmo
a lista de liberados, e esta lista que estará tanto liberando o acesso
quanto redirecionando para o proxy.
Vale lembrar que por definição, apenas o root pode adicionar e remover ips
de listas.
Eu já usei uma vez, um daemon que rodava como root, e conseguia enviar para
ele via uma porta especifica o comando de adicionar/remover IPs. Funcionava
muito bem... com isso você consegue fazer o seu PHP apenas conectar nesta
porta, e mandar o comando para o daemon executar o procedimento para você.
Usando o PF, seria possivel com regras como esta:
table <liberados> constant
rdr pass quick from <liberados> to any port 80 -> 127.0.0.1 3128
rdr pass quick from any to any port 80 -> 127.0.0.1 80
pass quick from <liberados> to any keep state
pass quick from any to <liberados> keep state
Acho que é isso.
2012/4/9 joao jamaicabsd <jamaicabsd em gmail.com>
> Bom dia pessoal.
> Estou fazendo uma ferramenta de autenticação e consigo redirecionar o
> trafego da rede local para a 80 no meu server, mas como posso fazer para
> que após o usuário validar seu usuário e senha ele ser enviado para o
> proprio server na 3128?
> Estou usando PHP.
> Alguém pode me ajudar?
> Obrigado.
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
--
Rafael Henrique da Silva Faria
Mais detalhes sobre a lista de discussão freebsd