Em 22/02/2012 23:01, Márcio Elias escreveu: > Buenas colegas da lista, estava muito distante do mundo do FreeBSD > ultimamente, e agora me deparei com um trabalho no qual preciso implementar > uma espécie de Captive Portal (customizado) usando FreeBSD, de ante mão > informo que não tenho interesse em PF, pois nao conheco nada, e tempo eh > complicado, IPFW que estou enferrujado já eh problema... > > O que preciso eh o seguinte, tenho uma regra no meu firewall que direciona > todas as conexoes com a internet para o servidor web local, onde uma página > para login do usuario eh apresentada, ateh ai blz, uma fez efetuado o login > com sucesso, preciso inserir uma regra antes dessa regra de > redirecionamento que pule para uma regra de redirecionamento que aparece > depois dela, usado o skipto, funciona, porem somente usando somente o IP, > se colocar o MAC na regra tambem, apesar de as regras terem seus contadores > incrementados, alguns pacotes passam direto e caem na regra de > redirecionamento, o que faz com que a página de login seja novamente > exibida para o usuário. Segue abaixo as regras que estou usando: > > regras usando MAC nao estao 100% > > ${fwcmd} add skipto 20000 log logamount 100 ip from any to ${myself} MAC > 00:25:56:94:62:5F any > ${fwcmd} add skipto 20000 log logamount 100 ip from ${myself} to any MAC > any 00:25:56:94:62:5F > > *obs: neste caso myself representa o meu IP, estou testando o servidor na > minha rede domestica... > > a mesma sintaxe de regras sem o MAC (essa funciona 100%) > > ${fwcmd} add skipto 20000 log logamount 100 ip from any to ${myself} > ${fwcmd} add skipto 20000 log logamount 100 ip from ${myself} to any > Alguem sabe me dizer a diferenca entre essas regras com e sem MAC, e como > fazer para contornar esse problema...? > Um jeito simples seria o seguinte:
1) Defina uma table onde vão ter os IPs liberados 2) Cria uma regra que vai liberar os IPs que tiverem nessa table. 3) Cria a regra de redirecionamento para a web depois da regra acima. 4) Quem se logar na web adiciona o IP naquela table. Assim quem não tiver na table vai cair na página Web. Esse exemplo acima seria sem usar o mac address. Coisas mais completas podem ser feitas usando inclusive php + mysql. :) ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd