[FUG-BR] Redirecionar conexao após ter redirecionado para a 80
Marcelo Gondim
gondim em bsdinfo.com.br
Segunda Abril 9 21:55:34 BRT 2012
Em 09/04/2012 16:35, joao jamaicabsd escreveu:
> Boa tarde.
> Estou impressionado com a nossa lista e com todos vocês. Estou recebendo
> idéias que serão muito úteis a toda a comunidade.
> Rafael, você utiliza o PF e IPFW por funcionalidade ou pq para vc trabalhar
> com essas duas tabelas vc tem que fazer desta maneira? É possível fazer
> tudo em PF? Não tenho muito conhecimento em IPFW para ter que montar outro
> FW.
>
> Obrigado.
Opa agora fiquei na dúvida se você perguntou pra mim ou pro Rafael mas
vou te responder mesmo assim. :)
Eu uso aqui um misto de PF e IPFW porque gosto bastante do IPFW como
Firewall e acho o natd com menos recursos que o NAT do PF.
Como o FreeBSD me permite usar PF, IPF e IPFW então não foi problema
usar o NAT de um com o Firewall do outro.
Quanto à sua resposta você pode sim usar somente o PF para isso, minha
solução foi apenas uma vontade pessoal.
Grande abraço
>
> Em 9 de abril de 2012 15:16, Marcelo Gondim<gondim em bsdinfo.com.br>escreveu:
>
>> Em 09/04/2012 14:02, joao jamaicabsd escreveu:
>>> HUmmm acho que entendi.
>>> Então, quando o usuário logar devo pegar este IP e jogar em uma tabela no
>>> PF, massa vou testar, mas agora como vou remover esse ip desta tabela ou
>>> ela sumir se ficar inativa?
>>>
>>> Uma vez consegui fazer essas auterações com a utilização do Sudo,
>> conhece?
>>> Muito obrigado e vou pesquisar e fazer testes referente a essa sua dica.
>>> Obrigado e qualquer outra dica aí dos parceiros eu agradeço.
>>>
>>> João Maykon
>> Oi João tenho algo parecido aqui mas é com outra finalidade do tipo
>> mandar uma mensagem para o assinante que está em atraso. Veja bem, nesse
>> caso muito cuidado com o texto porque dizer que o cliente está devendo
>> em tela pode gerar processo de danos morais e por isso não afirmamos mas
>> colocamos que pode ter havido algum problema com o pagamento.
>> Bem, o que quero colocar é que quando o cliente está devendo de hora em
>> hora no cron eu rodo um script php que checa quem está online no
>> Mikrotik e na base de dados se o cara está devendo. Eu tenho 2 tabelas
>> uma no PF e outra no IPFW quando o cara tá conectado e devendo eu jogo o
>> IP dele nessas 2 tabelas que fazem o seguinte:
>>
>> Na tabela do PF é feito um redir no NAT jogando o que vier dessa tabela
>> com destino qualquer IP porta 80 jogando para o IP local porta 81.
>> No IPFW eu aceito a conexão na porta 81 vindo dos IPs da tabela e também
>> bloqueio o acesso externo deixando apenas dns liberado 53/tcp/udp.
>>
>> Assim que o cliente vê a mensagem é removido o IP dele das 2 tabelas e a
>> conexão dele normaliza.
>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Em 9 de abril de 2012 10:49, Rafael Henrique Faria<
>>> rafaelhfaria em cenadigital.com.br> escreveu:
>>>
>>>> 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.
>>>>>
Mais detalhes sobre a lista de discussão freebsd