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 <jamaica...@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
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a