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

    Squid com autenticação integrada ao Captive Portal

    Portuguese
    35
    88
    49.4k
    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.
    • M
      milton.fine.br
      last edited by

      Segui os procedimentos indicados mas os serviços do squid e squidguard permanecem com status stopped.
      Agradeço a ajuda.

      pfsense: 2.1-RELEASE (amd64)
      squid3: 3.1.20 pkg 2.0.6
      squidGuard: 1.4_4 pkg v.1.9.5

      Autenticação na interface LAN (squid e squidguard) integrada com Active Directory funciona corretamente
      Autenticação na interface OPT (captive portal) integrada com Radius Windows 2008 R2 funciona corretamente

      Captive Portal + Squid + Squidguard não consegui implementar.

      1. Proxy Server > Custom Options
      external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php
      acl dgfilter external check_filter
      http_access allow dgfilter

      2. Shell
      fetch -o /usr/pbi/squid-amd64/libexec/squid/check_ip.php https://raw.github.com/pfsense/pfsense-packages/master/config/squid3/33/check_ip.php

      3. Shell
      ls -l /usr/pbi/squid-amd64/libexec/squid/check_ip.php
      -rwxr-xr-x  1 root  wheel  2769 Sep 26 07:12 /usr/pbi/squid-amd64/libexec/squid/check_ip.php

      4. Shell
      /usr/pbi/squid-amd64/libexec/squid/check_ip.php
      Não retorna informação

      5. Status > System Logs > General
      Sep 26 07:33:03 squid: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php
      Sep 26 07:33:08 php[30152]: /status_services.php: The command '/usr/local/etc/rc.d/squid.sh stop' returned exit code '1', the output was 'FATAL: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php Squid Cache (Version 3.1.22): Terminated abnormally. CPU Usage: 0.006 seconds = 0.006 user + 0.000 sys Maximum Resident Size: 6072 KB Page faults with physical i/o: 0'
      Sep 26 07:33:10 squid: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php

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

        eu falo com vc com:

        só neste e-mail:forum@pfsense.org

        entra em contato comigo no e-mail calebepereira@hotmail.com para que possamos conversar se for possível um tel eu fico grato.

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

          sorry ı have to use english

          a small contribution to the external acl type scrirpt

          ttl=60 means the code will not check the ip for 60 seconds, and will use the first username for that period even if the user loged out and a new one logged in, a value shorter like ttl=0 or ttl=1 would be more accurate I think

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

            Thanks for your contribution on this topic  :)

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

            Help a community developer! ;D

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

              one last thing:

              when external_acl_type returns ERR, squid blocks the connection, so if you make some users bypass the captiveportal and connect directly to internet, squid external acl directive will not find a username and return an ERR message, this will block the client, so the last part of the check_ip.php should be like this

              if ($usuario !="")
                          $resposta="OK user={$usuario}";
                      else
                          $resposta="OK user=bypasseduser";
                      fwrite (STDOUT, "{$resposta}\n");
                      unset($cp_db);

              so in access log you will see "bypasseduser" in the field of username

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

                Autenticação do captive portal authentication incluída no squid3-dev.
                Não precisa mais configurar "custom options", basta selecionar captive portal na aba authentication

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

                Help a community developer! ;D

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

                  Consegui fazer um SSO sem usar ntlm ou kerberos no squid. Vou amadurecer mais a idéia por aqui e qualquer dia deste publico para comunidade.

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

                  Help a community developer! ;D

                  1 Reply Last reply Reply Quote 0
                  • A
                    amaica
                    last edited by

                    @marcelloc:

                    @marcelloc:

                    Em breve começo os testes com o captive portal da 2.1

                    Acabei de subir o helper que integra a autenticação do captive portal com o squid.

                    A alteração na interface para o squid2 já está pronta mas vou deixar para publicar depois

                    Por enquanto:
                    No squid3,  basta selecionar captive portal na aba authentication

                    No squid2, inclua estas configurações no campo custom options

                    
                    external_acl_type check_filter children=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php;acl dgfilter external check_filter;http_access allow dgfilter;
                    
                    

                    E baixe este arquivo

                    fetch -o /usr/pbi/squid-amd64/libexec/squid/check_ip.php https://raw.github.com/pfsense/pfsense-packages/master/config/squid3/33/check_ip.php
                    

                    Ola Marcelloc, eu tenho instalado o squid3 mas não aparece a opção captive na aba Authentication.

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

                      @amaica:

                      Ola Marcelloc, eu tenho instalado o squid3 mas não aparece a opção captive na aba Authentication.

                      Squid3-dev

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

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • N
                        naarea
                        last edited by

                        Estou tentando fazer essa autenticação funcionar e to tomando um coro rs.

                        o Squid insiste em dizer que "unexpect read from check_filter 4 bytes ERR"

                        Ja conferi o PHP e ele ta certinho. Acha a base normal.

                        Rodando ele na mao, quando jogo o IP ele retorna o user ou ERR.

                        Mas o squid insiste em não aceitar o STDOUT.

                        Alguem pode me dar um help?

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

                          Na última versão do pacote, não precisa criar as acls na mão.

                          Como está sua configuração?

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

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • N
                            naarea
                            last edited by

                            Fiz tudo automatico direto na ultima versão :)

                            Por isso ta tudo certinho, mas o problema esta apresentando no LOG.

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

                              Seu pfsense é 2.0 ou 2.1?

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

                              Help a community developer! ;D

                              1 Reply Last reply Reply Quote 0
                              • N
                                naarea
                                last edited by

                                2.1 recem instalado e fazendo testes.

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

                                  No log do squid não aparece nenhuma linha de log com usuário?

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

                                  Help a community developer! ;D

                                  1 Reply Last reply Reply Quote 0
                                  • N
                                    naarea
                                    last edited by

                                    Nada, apenas esses erros falando do helper.

                                    Já tentei baixar o check_ip.php de novo e trocar, tentei tirar o \n do ERR, colocar, fazer um TRIM e nada. Ele acha algum problema.

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

                                      este erro aparece no access.log ou no cache.log?

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

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        naarea
                                        last edited by

                                        no cache.log

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

                                          Você está usando o proxy configurado no browser ou no modo transparente?

                                          Vou tentar simular isso aqui aqui novamente.

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

                                          Help a community developer! ;D

                                          1 Reply Last reply Reply Quote 0
                                          • N
                                            naarea
                                            last edited by

                                            Tava configurado no browser.

                                            Coloquei em modo transparente e agora ta OK.

                                            Ainda não entendi.

                                            Marcelo, aquela questão das Libs de baixar pelo fetch esta acontecendo sempre viu!! Muita gente deve estar apanhando disso.

                                            Agora ta funcionando fino!! Parabens pelo trabalho, muito bom!!!

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