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

    [GUIA] Proxy HTTP/HTTPS + SquidGuard + sgerror.php + WPAD via DHCP e DNS 100%

    Scheduled Pinned Locked Moved Portuguese
    182 Posts 40 Posters 56.7k 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.
    • marcellocM
      marcelloc
      last edited by

      Brunok, excelente trabalho. Fixei na parte de tutoriais.

      Penso também em transformar a parte do wpad em um pacote não oficial. Desta forma, facilitaria a configuração para quem não é tão acostumado com configurações via console/ssh.

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

      Help a community developer! ;D

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

        Primeira versão do pacote wpad já está no repositório.

        Isso reduz bastante a quantidade de alterações e configurações de arquivos.  8)

        Brunok, se achar interessante, podemos alterar o primeiro post incluindo a instalação do pacote e configuração via interface web desta parte.

        Pacote WPAD não oficial para pfSense software(r) 2.3.x

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

        Help a community developer! ;D

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

          brunok,

          Bom dia meu amigo!
          Primeiramente parabéns pala iniciativa, pelo ótimo tutorial!

          estou em um ambiente de teste fazendo o procedimento do seu tuto, e no momento de fazer o teste da segunda instancia ele não apresenta a pagina do nginx.

          ao tentar executar o script manual, ele me da este erro:

          nginx: [emerg] unknown directive "a" in /usr/local/etc/nginx/nginx2.conf:24

          Segui todo o procedimento a risca.

          abraço

          Diego

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

            Diego, instala o pacote WPAD que disponibilizei. Ele faz a configuração da segunda instância do nginx pra você.

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

            Help a community developer! ;D

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

              Marcelo,

              Bom dia!

              Tentei das duas formas com uma instalação limpa do pfsense, e apresentaram o mesmo erro.

              abraço

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

                Na versao:

                2.3.3-p1

                Funcionou legal com o pacote!

                bruno e Marcelo, paranebs novamente!

                [DESCULPE CONFUSAO, A PLACA ESTA DO VIRTUALBOX ESTAVA EM NAT]

                nesta versao tambem aparece o mesmo erro:

                nginx: [emerg] unknown directive "a" in /usr/local/etc/nginx/nginx2.conf:24

                1 Reply Last reply Reply Quote 0
                • B
                  brunok
                  last edited by

                  @leo_pfsense:

                  Prezado Brunok, parabéns pelo tutorial, ótima sistematização, 100% funcional no ambiente de testes, versão 2.3.4.

                  Gostaria de lhe pedir uma orientação se possível, o cenário configurado é de uma interface wan e uma lan, porém eu gostaria de configurar com mais de uma lan. Neste caso você sabe quais alterações preciso fazer?

                  Desde já agradeço.

                  Que bom que funcionou também na versão mais recente! Ainda não testei na 2.3.4.

                  Bom, quanto ao número de subredes, não tem problemas, basta na configuração do SQUID, você marcar as outras interfaces pertinentes a estas redes.

                  1 Reply Last reply Reply Quote 0
                  • B
                    brunok
                    last edited by

                    @marcelloc:

                    Primeira versão do pacote wpad já está no repositório.

                    Isso reduz bastante a quantidade de alterações e configurações de arquivos.  8)

                    Brunok, se achar interessante, podemos alterar o primeiro post incluindo a instalação do pacote e configuração via interface web desta parte.

                    Pacote WPAD não oficial para pfSense software(r) 2.3.x

                    Agora que vi o link do pacote… Vou validar aqui num ambiente CLEAN.

                    1 Reply Last reply Reply Quote 0
                    • B
                      brunok
                      last edited by

                      @diegovaz:

                      Na versao:

                      2.3.3-p1

                      Funcionou legal com o pacote!

                      bruno e Marcelo, paranebs novamente!

                      [DESCULPE CONFUSAO, A PLACA ESTA DO VIRTUALBOX ESTAVA EM NAT]

                      nesta versao tambem aparece o mesmo erro:

                      nginx: [emerg] unknown directive "a" in /usr/local/etc/nginx/nginx2.conf:24

                      Diego, poste aqui o seu nginx2.conf para análise.

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

                        
                        # nginx configuration file
                        	worker_processes  1;
                        	events {
                        	    worker_connections  1024;
                        	}
                        	http {
                        	        include       /usr/local/etc/nginx/mime.types;
                        	        default_type  application/octet-stream;
                        	        sendfile        on;
                        	        keepalive_timeout 65;
                        
                        	        server {
                        	                listen 192.168.1.1;
                        	                server_name wpad.localdomain
                        	                server name 127.0.0.1
                        	                client_max_body_size 200m;
                        
                        	                root "/usr/local/www/nginx-dist/";
                        
                        	                location ~ \.php$ {
                        	                        try_files $uri =404; #  This line closes 
                        a potential security hole
                        	                        fastcgi_pass   
                        unix:/var/run/php-fpm.socket;
                        	                        fastcgi_index  index.php;
                        	                        fastcgi_param  SCRIPT_FILENAME  
                        $document_root$fastcgi_script_name;
                        	                        fastcgi_read_timeout 180;
                        	                        include        
                        /usr/local/etc/nginx/fastcgi_params;
                        	                }
                        	        }
                        	}
                        
                        

                        So copiei e colei  ???

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

                          @diegovaz:

                          try_files $uri =404; #  This line closes
                          a potential security hole

                          fastcgi_pass 
                          unix:/var/run/php-fpm.socket;

                          include       
                          /usr/local/etc/nginx/fastcgi_params;

                          Essas linha estão quebradas no seu código.

                          deveriam estar assim:

                          
                          try_files $uri =404; #  This line closes  a potential security hole
                          
                          fastcgi_pass   unix:/var/run/php-fpm.socket;
                          
                          include        /usr/local/etc/nginx/fastcgi_params;
                          
                          

                          Todas essas questões, o pacote faz sozinho. Sugiro deixar a configuração do nginx por conta dele e acertar pelo tutorial as configurações de dhcp, dns, etc…

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

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • L
                            leo_pfsense
                            last edited by

                            Oi Brunok, obrigado pelo retorno. Porém acredito que marcar outras interfaces no squid não será suficiente. O cenário que penso é o seguinte:

                            Eth1 - LAN 192.168.28.0/22 - Gateway 192.168.28.1
                            Eth2 - LAN 192.168.50.0/24 - Gateway 192.168.50.1

                            O que vc acha?

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

                              @marcelloc:

                              @diegovaz:

                              try_files $uri =404; #  This line closes
                              a potential security hole

                              fastcgi_pass 
                              unix:/var/run/php-fpm.socket;

                              include       
                              /usr/local/etc/nginx/fastcgi_params;

                              Essas linha estão quebradas no seu código.

                              deveriam estar assim:

                              
                              try_files $uri =404; #  This line closes  a potential security hole
                              
                              fastcgi_pass   unix:/var/run/php-fpm.socket;
                              
                              include        /usr/local/etc/nginx/fastcgi_params;
                              
                              

                              Todas essas questões, o pacote faz sozinho. Sugiro deixar a configuração do nginx por conta dele e acertar pelo tutorial as configurações de dhcp, dns, etc…

                              Marcelo,

                              No exemplo que você deu, temos que incluir a interface loopback também?

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

                                @diegovaz:

                                No exemplo que você deu, temos que incluir a interface loopback também?

                                Não precisa. A configuração do loopback da imagem só está lá para demonstrar que você pode ter um pac para cada interface de rede (se quiser ou precisar).

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

                                Help a community developer! ;D

                                1 Reply Last reply Reply Quote 0
                                • B
                                  brunok
                                  last edited by

                                  @leo_pfsense:

                                  Oi Brunok, obrigado pelo retorno. Porém acredito que marcar outras interfaces no squid não será suficiente. O cenário que penso é o seguinte:

                                  Eth1 - LAN 192.168.28.0/22 - Gateway 192.168.28.1
                                  Eth2 - LAN 192.168.50.0/24 - Gateway 192.168.50.1

                                  O que vc acha?

                                  Irá funcionar com essas condições:

                                  Regras na LAN A e B, pois o ip de redirecionamento do squidguard é da rede A e a rede B precisa encontrar. Apenas a porta 80.

                                  No squid você marca as 2 interfaces e testa, pode também forçar as subnets lan liberadas no proxy na aba ACLS > "Allowed subnets".

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    leo_pfsense
                                    last edited by

                                    Certo Brunok, estou testando e está funcionando, obrigado!

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

                                      Bom dia galera!

                                      segui igual receita de bolo, mas nao deu certo  :-[

                                      abraço

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

                                        Efetuei a instalação aqui e estou com 2 problemas.

                                        1 - Ao ser redirecionado para a pagina de erro o navegador efetua o download do sgerror.php ao invez de interpreta-lo.

                                        2 - Mesmo configurando o certificado e habilitando a opção  SSL as paginas https não são redirecionadas.

                                        Duvidas:
                                        Nas configurações do Squid
                                        SSL/MITM Mode: qual deve ser informado?
                                        SSL Proxy Compatibility Mode: qual deve ser informado?

                                        Grato!

                                        Analista de Sistemas
                                        Bacharel em Sistemas de Informação

                                        https://cleiton.tech.blog/

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          brunok
                                          last edited by

                                          @diegovaz:

                                          Bom dia galera!

                                          segui igual receita de bolo, mas nao deu certo  :-[

                                          abraço
                                          [/quote]

                                          Poste aqui o que acontece, algum print.

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            brunok
                                            last edited by

                                            @guitarcleiton:

                                            Efetuei a instalação aqui e estou com 2 problemas.

                                            1 - Ao ser redirecionado para a pagina de erro o navegador efetua o download do sgerror.php ao invez de interpreta-lo.

                                            2 - Mesmo configurando o certificado e habilitando a opção  SSL as paginas https não são redirecionadas.

                                            Duvidas:
                                            Nas configurações do Squid
                                            SSL/MITM Mode: qual deve ser informado?
                                            SSL Proxy Compatibility Mode: qual deve ser informado?

                                            Grato!

                                            As configurações do squid, pode deixar as padrões, neste caso.

                                            1 - Isso pode ser configuração do próprio navegador. Qual está usando?

                                            2 - Páginas https não são redirecionadas para a página de erro. Eu ainda não consegui contornar isso. O bloqueio ocorre, só não aparece a página do sgerror.php.

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