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

    Patch captive portal do squid3 no pfsense 2.2.5

    Scheduled Pinned Locked Moved Portuguese
    36 Posts 18 Posters 9.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.
    • T
      tomaswaldow
      last edited by

      @derikdk:

      Grande Tomas
      Contribuindo sempre.
      Nesse caso teria que alterar a porta de autenticação do Captive Portal para a porta 80 também?

      Não nada no Captive, mas na configuração de proxy do cliente ou pelo WPAD, não sei como faz hoje, e colocar um site na lista de exceções.

      Tomas @ 2W Consultoria

      1 Reply Last reply Reply Quote 0
      • D
        derikdk
        last edited by

        Esse site na lista de excecoes é o site que sempre vou ter que acessar primeiro pra surgir a tela de autenticacao do Captive Portal?

        1 Reply Last reply Reply Quote 0
        • T
          tomaswaldow
          last edited by

          Sim, pelo tenha um.

          Tomas @ 2W Consultoria

          1 Reply Last reply Reply Quote 0
          • R
            rodolfobuckjr
            last edited by

            Bom dia a todos.

            Estou implementando um pfSense 2.2.6 + Portal Captive + Squid com autenticação no Portal Captive, quando ativo a autenticação o Squid fica reiniciando. Buscando no forum encontrei o tutorialdo Marcelloc, estou aplicando o patch mas mesmo assim o Squid fica reiniciando, gostaria da orientação e ajuda de vocês para ver onde estou errando.

            Quando vou testar o Patch aparece uma mensagem "Patch can NOT be reverted cleanly (detail)". Quando clico em detalhes mostra o um erro:

             	Output of full patch revert test:
            
            /usr/bin/patch --directory=/etc/inc/ -f -p1 -i /var/patches/570cf2755b436.patch --check --reverse --ignore-whitespace
            
            Hmm...  Looks like a unified diff to me...
            The text leading up to this was:
            --------------------------
            |--- captiveportal.225.inc       2015-12-09 18:43:50.000000000 -0200
            |+++ captiveportal.inc  2015-12-09 19:28:27.000000000 -0200
            --------------------------
            Patching file captiveportal.inc using Plan A...
            Hunk #1 failed at 539.
            1 out of 1 hunks failed while patching captiveportal.inc
            done
            
            

            Devo me preocupar com esta mensagem?

            Seguem imagens do pacth e do erros.

            Obrigado pessoal.

            Abs

            PortalCaptive.jpg
            PortalCaptive.jpg_thumb
            PortalCaptive2.jpg
            PortalCaptive2.jpg_thumb
            PortalCaptive3.jpg
            PortalCaptive3.jpg_thumb

            1 Reply Last reply Reply Quote 0
            • R
              rodrigogriffo
              last edited by

              Fiz o procedimento…e não aparece nem a tapa....

              Grato.
              Rodrigo Griffo

              1 Reply Last reply Reply Quote 0
              • T
                tomaswaldow
                last edited by

                Marcello, o patch como está pode ser aplicado a versão 2.3?
                Caso não, pode nos orientar qual procedimento que pode ser feito?
                Obrigado.

                Tomas @ 2W Consultoria

                1 Reply Last reply Reply Quote 0
                • P
                  phmachado94
                  last edited by

                  Atualizei para a versão 2.3 também, pois não consegui fazer funcionar com esse patch… teria alguma outra forma de integrar?
                  Preciso urgente resolver isso para o meu TCC...

                  1 Reply Last reply Reply Quote 0
                  • T
                    tomaswaldow
                    last edited by

                    @Tomas:

                    Marcello, o patch como está pode ser aplicado a versão 2.3?
                    Caso não, pode nos orientar qual procedimento que pode ser feito?
                    Obrigado.

                    Testei agora com a versão 2.3 e pra mim está funcionando…

                    Tomas @ 2W Consultoria

                    1 Reply Last reply Reply Quote 0
                    • M
                      mfaridi
                      last edited by

                      @Tomas:

                      @Tomas:

                      Marcello, o patch como está pode ser aplicado a versão 2.3?
                      Caso não, pode nos orientar qual procedimento que pode ser feito?
                      Obrigado.

                      Testei agora com a versão 2.3 e pra mim está funcionando…

                      Dear Sir,
                      I am very sorry I write english here .
                      I use pfsense 2.3 . squid in transparent mode and light squid , I patch from github but lightsquid show me IP and I need username . I patch it and restart system but nothing happen . pleae guide me to solve this problem

                      1 Reply Last reply Reply Quote 0
                      • M
                        mfaridi
                        last edited by

                        @marcelloc:

                        Com as recentes mudanças e "mutações" dos pacotes, a função de patch do captive portal para impedir acesso direto ao proxy antes da autenticação do captive portal foi removida.

                        Para não deixar os sysadmins que estão no pfsense 2.2.5 sem essa importante correção, segue abaixo o patch a ser aplicado via pacote system patches.

                        OBS1: Se o seu squid usa portas diferente da 3128 e 3129(ssl), altere a linha $local_service_ports no patch antes de aplicar.

                        OBS2: Depois de corrigir o arquivo, é preciso entrar nas configurações do captive portal e salvar para gerar as regras de acesso com as devidas correções.

                        Description:  Captive_portal_patch

                        Patch Contents:

                        --- captiveportal.225.inc       2015-12-09 18:43:50.000000000 -0200
                        +++ captiveportal.inc  2015-12-09 19:28:27.000000000 -0200
                        @@ -539,6 +539,10 @@
                         EOD;
                        
                                $rulenum = 65310;
                        +        /* Deny direct access to local services before captive portal authentication */
                        +        $local_service_ports="3128,3129";
                        +        $cprules .= "add {$rulenum} skipto 65314 ip from any to table(100) {$local_service_ports} in\n";
                        +        $cprules .= "add {$rulenum} skipto 65314 ip from table(100) {$local_service_ports} to any out\n";
                                /* These tables contain host ips */
                                $cprules .= "add {$rulenum} pass ip from any to table(100) in\n";
                                $rulenum++;
                        
                        

                        Base Directory:

                        /etc/inc/

                        Thanks
                        after apply patch , what I must do ?
                        lightsquid show IP of user , I want light squid show me username
                        I use pfsense 2.3.1 and squid and transparent mode and captiveportal can lightsquid .

                        1 Reply Last reply Reply Quote 0
                        • R
                          rlrobs
                          last edited by

                          Pessoal,

                          pra quem quiser usar o captive portal(radius ou local) + squid transparente. O colega augusto_pereira(https://forum.pfsense.org/index.php?topic=111670.0) corrigiu o script  /usr/local/bin/check_ip.php.

                          Troque o conteúdo dele por:
                          Obs: nao cheguei a aplicar o patch do marcello.

                          
                          #!/usr/local/bin/php-cgi -q
                          if(!defined(STDIN)){
                             define("STDIN", fopen("php://stdin", "r"));
                          }
                          if(!defined(STDOUT)){
                             define("STDOUT", fopen("php://stdout", "r"));
                          }
                          
                          while (!feof(STDIN)) {
                          
                          $check_ip = trim(fgets(STDIN));
                          $dbs = glob("/var/db/captiveportal*.db");
                          
                          foreach($dbs as $db){
                             if(!strpos($db, "_radius")){
                                $status = check_ip($db, $check_ip);
                                break;   
                             }   
                          }
                          if(isset($status)){
                             fwrite(STDOUT, "OK user={$status}\n");
                          }
                          else{
                             fwrite(STDOUT, "ERR\n");
                          }
                          
                          } // end While
                          
                          function check_ip($db, $check_ip){
                             exec("sqlite3 {$db} \"SELECT ip FROM captiveportal WHERE ip='{$check_ip}'\"", $ip);
                             if($check_ip == $ip[0]){
                                exec("sqlite3 {$db} \"SELECT username FROM captiveportal WHERE ip='{$check_ip}'\"", $user);
                                return $user[0];
                             }
                          }
                          
                          ?>
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • C
                            claupers
                            last edited by

                            O post do agusto_pereira funcionou perfeitamente em meu ambiente cpm pfsense 2.3.1.1. (https://forum.pfsense.org/index.php?topic=111670.0) Estou usando autenticação pelo captive portal sendo que os usuário são obtidos do AD do Windows Server 2012, através de uma integração de Radius.

                            Cordialmente;

                            Claudir P. Santos

                            1 Reply Last reply Reply Quote 0
                            • maxwelberM
                              maxwelber
                              last edited by

                              Boa noite senhores.

                              Fiz exatamente o procedimento mas ainda não vejo os usuários no squid, script funcionando no prompt de comando conforme em anexo.

                              realtime.JPG
                              realtime.JPG_thumb
                              prompt.JPG
                              prompt.JPG_thumb

                              1 Reply Last reply Reply Quote 0
                              • R
                                rlrobs
                                last edited by

                                Faz uma revisão nas suas configs. Já testei em 3 pfs diferentes e todos funcionaram.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Mittho
                                  last edited by

                                  Ola pessoal.

                                  Sou novo nesse sistema do pfsense e através de pesquisas de como funciona esse sistema, acabei chegando nessa parte de bloqueio do squid + usuário do captive portal. Porém, estou com dúvida de como realizar esse procedimento de inserir o arquivo, já que estou usando a versão 2.3.1.1 do pfsense.

                                  através das imagens, eu vi que era na aba system, porém não encontrei nada a respeito.

                                  se alguém puder me dar uma luz, eu agradeço.  :)

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    iNCONIX
                                    last edited by

                                    Também estou com problemas para implantar o CP com o Squid3 na versao 2.2.6 do pfSense.

                                    O squid é derrubado apresentando :

                                    27.06.2016 21:24:29 WARNING: check_cp #Hlpr0 exited
                                    27.06.2016 21:24:29 ipcCreate: /usr/pbi/squid-amd64/bin/check_ip.php: (2) No such file or directory

                                    O comando check_ip.php na console, não apresenta nada, nem mesmo ERR.

                                    ? ? ?  Alguém já instalou ? ? ?

                                    1 Reply Last reply Reply Quote 0
                                    • I
                                      iNCONIX
                                      last edited by

                                      O CHECK_IP.PHP estava com o executor errado:

                                      #!/usr/local/bin/php-cgi -q

                                      Está errado , não executa na console.

                                      Corrigido e o CHECK_IP.PHP  passou a logar

                                      #!/usr/local/bin/php -q

                                      Mas o SQUID continua caindo ….

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

                                        Prezados, tenho o pfsense 2.3.2 com squid não transparente e o proxy setado no navegador, não consigo ter acesso à página do captive portal.
                                        Esse patch funciona no pfsense 2.3.2?

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

                                          @catatau77:

                                          Prezados, tenho o pfsense 2.3.2 com squid não transparente e o proxy setado no navegador, não consigo ter acesso à página do captive portal.
                                          Esse patch funciona no pfsense 2.3.2?

                                          Estou com mesmo problema que você, conseguiu resolver?

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

                                            Eu não consegui usar o path, a solução que encontrei até o momento foi passar o proxy e as exceções de sites através do wpad.dat e proxy.pac incluindo um site http que deve estar liberado no firewall, com isso o usuário deve acessar esse site para chegar na tela do captive portal.

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