Captive Potal - pagina de logout manual
-
Boa tarde galera,
Venho aqui compartilhar uma solução que foi muito útil pra mim, que é uma pagina de logout manual para captive portal.
Achei um link no youtube.com que foi da onde tirar a minha soloção. Neste link a versão do o pfsense era a 2.1.5 eu uso a 2.2.2, oque mudou foi o uso das funções php sqlite3 e o uso de varias zonas do captive portal.link créditos: https://www.youtube.com/watch?v=xk60lg-9o3A&list=WL&index=2
Com os problemas relacionados com o “pop up” de logout do captive portal, como: bloqueado pelo navegador e não pode ser fechado por que não dá para abrir posteriormente. A ideia foi criar uma página de “logout manual”, um link que pode ser aberto a qualquer momento no navegar para efetuar o logout da rede.
1 – Nome das zonas do captive portal
Para começar com a criação da página de logout iremos precisar saber as zonas de captive portal criadas no servidor.
No exemplo do gwadm acima, temos 2 zonas configuradas. Com isso podemos ter usuários conectados na zona “gweb” e “dmsa”. O captive portal gera um arquivo .db para cada zona, onde é populado com as informações de usuário e ip, esses arquivos ficam dentro da pasta /var/db/ com os nomes referenciando a zona, por isso a importância de saber qual o nome das zonas.
Obs: devemos descobrir em qual porta o captive roda em cada zona, exemplo:
gweb abre na porta 8003 e o dmsa abre na porta 8005
Esses arquivos deveram ser usados no arquivo de script de logout, onde deve ser consultado em qual zona o usuário está logado para o mesmo efetuar o logout.
2 – Script logout
Para que o usuário seja efetue o logout é preciso criar uma pasta onde esse script ou pagina estará hospedado para ser aberto no navegador. Foi criado a pasta “logout” em /usr/local/www como podemos ver na imagem abaixo.
Agora precisamos colocar o script dentro desta pasta, esse script será um arquivo chamado index.php com o seguinte conteúdo:
arquivo index.php https://drive.google.com/file/d/0B1iHmPqlFy0YUG4tSlU2ODZIWHc/view?usp=sharing
3 – Firewall
A regra abaixo deve ser criada no firewall de cada vlan do servidor para que o cliente tenha acesso a página de logout.
4 - Pagina de logout
5 - Problema em redirecionar logout para https
Pelo fato do gerenciador do pfsense estar configurado para redirecionar a porta 80 para 443, a página de logout também só abre em https, o problema é que a ideia é que está pagina abra assim que o usuário fizer e com isso ele terá que aceitar o certificado para abrir a página e é óbvio que o mesmo não irá fazer isso.
Para corrigir isso fiz umas alterações.5.1 - Desabilitar o WebGUI redirect
6 – Criando um serviço http
Agora podemos criar um virtualhost para /logout na porta 80, o arquivo será salvo em /root (não sei se é o melhor lugar, mas em /var/etc, após o reboot ele é apagado).
Criar por ssh: vi /root/lighty-logout.conf
Ou acesso via winscp e crie o arquivo.arquivo lighty-logout.conf https://drive.google.com/file/d/0B1iHmPqlFy0YRHBxSlNoWV9YUnc/view?usp=sharing
6.1 - Start do serviço http
Para subir o serviço na porta :80 basta executar o comando baixo, além disso criei um executável para iniciar durante o boot
/usr/local/sbin/lighttpd -f /root/lighty-logout.confvi /usr/local/etc/rc.d/logout.sh
#!/bin/sh
/usr/local/sbin/lighttpd -f /root/lighty-logout.conf
chmod +x /usr/local/etc/rc.d/logout.sh -
Ótima contribuição, irei fazer os testes aqui.
-
as imagens estão quebradas. tente colocar no proprio post.
-
Marcelloc,
Ontem as imagem realmente estavam com problemas, mas hj esta abrindo de boa.
Obs: acrescentei alguns passos para não ter problema com o certificado na hora de abrir a tela de lgout.
Att,
Everton de Freitas Cordeiro
-
Aqui não vejo as imagens....
-
This post is deleted!