[FUG-BR] Redirecionar conexao após ter redirecionado para a 80
Marcelo Gondim
gondim em bsdinfo.com.br
Segunda Abril 9 22:06:25 BRT 2012
Em 09/04/2012 16:44, Alessandro de Souza Rocha escreveu:
> rdr on $ext_if1 proto tcp from any to any port 1433 -> 192.168.0.199
> rdr on $ext_if1 proto tcp from any to any port 3389 -> 192.168.0.198
> rdr on $ext_if1 proto tcp from any to any port 80 -> 192.168.0.199
Opa Alessandro
Gosto de adicionar uma regra antes do redir tipo essa abaixo quando tem
NAT N:1 :
no rdr on $ext_if1 proto tcp from any port < 1024 to seu_IP_publico_NAT
rdr on $ext_if1 proto tcp from any to any port 1433 -> 192.168.0.199
rdr on $ext_if1 proto tcp from any to any port 3389 -> 192.168.0.198
rdr on $ext_if1 proto tcp from any to any port 80 -> 192.168.0.199
Isso porque se coincidir de sair um pacote pelo Firewall cuja porta
origem for por exemplo 1433 a resposta voltará para o IP público nessa
porta e cairá no redir jogando o pacote para o IP 192.168.0.199 e não
para a máquina que fez a solicitação. Se alguém souber outra forma
elegante de fazer isso é só mandar. ;)
> _______________________________________________________
>
>
> Em 9 de abril de 2012 16:35, joao jamaicabsd<jamaicabsd em gmail.com> 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.
>>
>>
>> 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.
>>>>>>
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>
>>
>>
>> --
>> E-mail: jamaicabsd em gmail.com
>> Aux Suporte de Sistemas (UNISUL)
>> E-mail: joao.maykon em unisul.br
>> MSN: joaomaykonm em hotmail.com
>> Cel: (48) 9144 2326
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
>
Mais detalhes sobre a lista de discussão freebsd