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

    Patch captive portal do squid3 no pfsense 2.2.5

    Portuguese
    18
    36
    9.5k
    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.
    • 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
                                • C
                                  catatau77
                                  last edited by

                                  Estou usando o pfsense 2.3.2, squid não transparente e captive portal, passando os dados de proxy por dhcp e proxy.pac

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

                                    @catatau77:

                                    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.

                                    Consegui fazer aqui da forma como você falou. Valeu! No caso posso acessar qualquer site http que funciona, com https o próprio browser bloqueia o redirecionamento.

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