[FUG-BR] Redirecionar conexao após ter redirecionado para a 80

joao jamaicabsd jamaicabsd em gmail.com
Terça Abril 17 18:23:14 BRT 2012


Muito obrigado pelas dicas. Estou desenvolvendo a pagina em php e depois
coloco o resultado aí pra vc's.
Té mais.

Em 9 de abril de 2012 22:06, Marcelo Gondim <gondim em bsdinfo.com.br>escreveu:

> 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
> >
> >
>
> -------------------------
> 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


Mais detalhes sobre a lista de discussão freebsd