Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Captive Potal - pagina de logout manual

    Scheduled Pinned Locked Moved Portuguese
    6 Posts 5 Posters 1.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      cordeiroef
      last edited by

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

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

      1 Reply Last reply Reply Quote 0
      • G
        guitarcleiton
        last edited by

        Ótima contribuição, irei fazer os testes aqui.

        Analista de Sistemas
        Bacharel em Sistemas de Informação

        https://cleiton.tech.blog/

        1 Reply Last reply Reply Quote 0
        • marcellocM
          marcelloc
          last edited by

          as imagens estão quebradas. tente colocar no proprio post.

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • C
            cordeiroef
            last edited by

            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

            1 Reply Last reply Reply Quote 0
            • V
              vicentebatista
              last edited by

              Aqui não vejo as imagens....

              1 Reply Last reply Reply Quote 0
              • E
                erickwa
                last edited by

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • First post
                  Last post
                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.