Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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 gon...@bsdinfo.com.brescreveu: 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 jamaicabsdjamaica...@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 Gondimgon...@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 rafaelhfa...@cenadigital.com.brescreveu: 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
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
Não entendí muito bem o que vc quer fazer, mas acho que neste caso vc tem que usar natd e fazer regras para proxy transparente; Em 9 de abril de 2012 10:04, joao jamaicabsd jamaica...@gmail.comescreveu: 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 -- #Welinaldo L N Estudante de Desenvolvimento de Sistemas FreeBSD Community Member #BSD/OS .ılı..ılı. - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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 Em 9 de abril de 2012 10:49, Rafael Henrique Faria rafaelhfa...@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 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 -- E-mail: jamaica...@gmail.com Aux Suporte de Sistemas (UNISUL) E-mail: joao.may...@unisul.br MSN: joaomayk...@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
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
2012/4/9 joao jamaicabsd jamaica...@gmail.com 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? Então, a sua aplicação que tem que fazer isso. Você deve utilizar um banco de dados por exemplo... e ir monitorando o tráfego, é como o pfSense faz, ele monitora o tráfego daquele IP (não sei como ele faz isso), e você configura, por exemplo, quando ficar 15 minutos sem tráfego daquele IP, o mesmo deve ser deslogado. Isso é tudo a nível de aplicação. 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. Com o sudo você consegue fazer sim... o único problema que eu vejo, é que você abre uma brecha de segurança. Pois você tem que dar acesso do usuário WWW ao comando pfctl, não é possivel adicionar IPs a tabelas sem acessar esse comando, e é esse comando que faz tudo no Packet Filter, até mesmo desabilitar o firewall completamente. No caso do programa que roda como daemon que eu comentei, a única coisa que ele faz, é adicionar e remover IPs de uma tabela. Nada além disso. João Maykon Em 9 de abril de 2012 10:49, Rafael Henrique Faria rafaelhfa...@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 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 -- E-mail: jamaica...@gmail.com Aux Suporte de Sistemas (UNISUL) E-mail: joao.may...@unisul.br MSN: joaomayk...@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 -- 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
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
Muito obrigado pelas informações, elas são muito valiosas. Vou fazer os teste iniciais e derrepente disponibilizo pra galera, mas primeiro vamos ver se funciona. obrigado. Em 9 de abril de 2012 14:42, Rafael Henrique Faria rafaelhfa...@cenadigital.com.br escreveu: 2012/4/9 joao jamaicabsd jamaica...@gmail.com 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? Então, a sua aplicação que tem que fazer isso. Você deve utilizar um banco de dados por exemplo... e ir monitorando o tráfego, é como o pfSense faz, ele monitora o tráfego daquele IP (não sei como ele faz isso), e você configura, por exemplo, quando ficar 15 minutos sem tráfego daquele IP, o mesmo deve ser deslogado. Isso é tudo a nível de aplicação. 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. Com o sudo você consegue fazer sim... o único problema que eu vejo, é que você abre uma brecha de segurança. Pois você tem que dar acesso do usuário WWW ao comando pfctl, não é possivel adicionar IPs a tabelas sem acessar esse comando, e é esse comando que faz tudo no Packet Filter, até mesmo desabilitar o firewall completamente. No caso do programa que roda como daemon que eu comentei, a única coisa que ele faz, é adicionar e remover IPs de uma tabela. Nada além disso. João Maykon Em 9 de abril de 2012 10:49, Rafael Henrique Faria rafaelhfa...@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 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 -- E-mail: jamaica...@gmail.com Aux Suporte de Sistemas (UNISUL) E-mail: joao.may...@unisul.br MSN: joaomayk...@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 -- Rafael Henrique da Silva Faria - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista:
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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 rafaelhfa...@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: tableliberados constant rdr pass quick fromliberados 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 fromliberados to any keep state pass quick from any toliberados keep state Acho que é isso. 2012/4/9 joao jamaicabsdjamaica...@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
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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 gon...@bsdinfo.com.brescreveu: 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 rafaelhfa...@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: tableliberados constant rdr pass quick fromliberados 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 fromliberados to any keep state pass quick from any toliberados keep state Acho que é isso. 2012/4/9 joao jamaicabsdjamaica...@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: jamaica...@gmail.com Aux Suporte de Sistemas (UNISUL) E-mail: joao.may...@unisul.br MSN: joaomayk...@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
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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 ___ Em 9 de abril de 2012 16:35, joao jamaicabsd jamaica...@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 gon...@bsdinfo.com.brescreveu: 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 rafaelhfa...@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: tableliberados constant rdr pass quick fromliberados 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 fromliberados to any keep state pass quick from any toliberados keep state Acho que é isso. 2012/4/9 joao jamaicabsdjamaica...@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: jamaica...@gmail.com Aux
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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 Gondimgon...@bsdinfo.com.brescreveu: 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 rafaelhfa...@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: tableliberados constant rdr pass quick fromliberados 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 fromliberados to any keep state pass quick from any toliberados keep state Acho que é isso. 2012/4/9 joao jamaicabsdjamaica...@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:
Re: [FUG-BR] Redirecionar conexao após ter redirecionado para a 80
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 jamaicabsdjamaica...@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 Gondimgon...@bsdinfo.com.brescreveu: 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 rafaelhfa...@cenadigital.com.brescreveu: 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: tableliberadosconstant rdr pass quick fromliberadosto any port 80 -127.0.0.1 3128 rdr pass quick from any to any