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 55.8k 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.
    • B
      brunok
      last edited by

      Pela mensagem, aparentemente já está rodando algo na porta 80 (O próprio NGINX?  ???).

      Faça o seguinte, no terminal do seu servidor, digite o comando:

      curl http://192.168.1.1
      

      Onde 192.168.1.1 é o ip LAN do seu pf. Poste o resultado aqui.

      Outra coisa, poste também o seu nginx2.conf.

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

        Comando curl http://192.168.1.1

        % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
        Dload  Upload  Total  Spent    Left  Speed

        0    0    0    0    0    0      0      0 –:--:-- --:--:-- --:--:--    0
        100  612  100  612    0    0  1669k      0 --:--:-- --:--:-- --:--:--  597k

        <title>Welcome to nginx!</title>

        Welcome to nginx!

        If you see this page, the nginx web server is successfully installed and
        working. Further configuration is required.

        For online documentation and support please refer to
        nginx.org.

        Commercial support is available at
        nginx.com.

        Thank you for using nginx.


        CONF DO NGINX2.CONF

        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;
                        }
                }
        }

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

          Com o resultado do comando curl, nota-se que o NGINX já está rodando!

          A configuração está correta.

          Veja a configuração em Sistema > Avançado > Acesso de Administrador

          Deixe desmarcado a opção "Redirecionamento WebGUI" e teste novamente.

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

            Certo..

            Na realidade ja estava desmarcado e nao estava dando certo desta forma, Entao marquei esta opção para ver se daria certo. Depois do que voce postou fui la entao e desmarquei a opção do WebGUI. E abri o navegador IE e apareceu a tela do NGINX vou continuar o processo vlw. Qualquer coisa eu posto aqui. Obrigadi….

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

              Ola Bruno treminei todo configuração tanto do squid como do squid guard. Reiniciei o servidor reiniciei a conexao de rede da minha estação. Porem os bloqueios nao acontecem criei um target com site bloqueados por exemplo e coloquei alguns site para testar o bloqueio botei o ip da minha maquina na quele grupo. salvei e apliquei na aba geral do squid guard. mas mesmo assim os bloqueios nao estao acontecendo esta td liderado.
              Sabe onde posso ter errado?

              Na commom acl tambem coloquei deny tanto para o BRADESCO  quanto a minha target que criei e tambem para NEWS e testei sites relacionas mas mesmo assim o bloquei nao esta acontecendo.

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

                O BRADESCO tem que ficar como WHITELIST.

                Deixe a ACL Default como DENY e teste qualquer site, depois você vai ajustando as outras categorias.

                Não esqueça de aplicar na aba Geral.

                Obs.: A página de bloqueio só aparece para sites HTTP. Para sites HTTPS, aparece erro de túnel (quando foi bloqueada)… Essa parte ainda não consegui deixar 100%, mas o bloqueio em si é o que importa.  :P

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

                  Poxa bruno infelizmente segui td como voce me falo mas ainda assim nao esta dando certo os bloqueios nao estao acontecendo. Coloquei a target BRADESCO como whitelist e o restante la na commom como DENY apliquei na aba geral mas ainda assim os bloqueios nao estao acontecendo ele so bloqueiam quando eu configuro o proxy no navegador…

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

                    @Rene_Probst:

                    Poxa bruno infelizmente segui td como voce me falo mas ainda assim nao esta dando certo os bloqueios nao estao acontecendo. Coloquei a target BRADESCO como whitelist e o restante la na commom como DENY apliquei na aba geral mas ainda assim os bloqueios nao estao acontecendo ele so bloqueiam quando eu configuro o proxy no navegador…

                    Opa, então está funcionando o bloqueio! Não é problema do squidGuard.

                    A máquina cliente que está fazendo testes, está como DHCP? (Não funciona com ip setado).

                    Você consegue na máquina cliente, baixar o arquivo wpad?

                    Por exemplo, http://wpad.localdomain/wpad.dat

                    Se estiver tudo certo, vai baixar o arquivo. Caso não baixe, tem algo errado na configuração. Veja se os arquivos estão na pasta nginx-dist (proxy.pac, wpadt.dat, wpadt.da)

                    Outro detalhe também, no navegador deve estar marcado para detectar automaticamente as configurações de proxy.

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

                      Opa boa tarde Vamos la:

                      Estação de teste:

                      esta como DHCP ativado.
                      Consegui fazer o download do arquivo wpad.dat
                      Os arquivos  (proxy.pac, wpadt.dat, wpadt.da) estao dentro da pasta nginx-dist
                      O proxy esta para detectar automaticamente nos navegadores e opções da internet que é a mesma coisa  :P
                      Mas….

                      Nada feito os bloqueios nao estao acontecendo.

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

                        Post o print das suas conf do DHCP, DNS Forwarder.

                        Coloque o conteúdo do seu arquivo proxy.pac aqui também.

                        Informe também o ip LAN e domínio que está utilizando.

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

                          Certo Vamos la:

                          Conteudo proxy.pac:

                          FindProxyForURL(url, host) {

                          // se o site estiver na rede interna, retorna conexao direta.
                          if (isPlainHostName(host) ||
                          isInNet(dnsResolve(host), "192.168.1.0",  "255.255.255.0") ||
                          isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
                          return "DIRECT";

                          // o resto do trafego, passa no proxy
                          return "PROXY 192.168.1.1:3128";
                          }

                          –----------------------------------------------------------------------------------------------------

                          IP DA LAN  192.168.1.1/24. 
                          DOMINIO QUE CONFIGUREI: allianza.com.br

                          ![DHCP 1.jpg](/public/imported_attachments/1/DHCP 1.jpg)
                          ![DHCP 1.jpg_thumb](/public/imported_attachments/1/DHCP 1.jpg_thumb)
                          ![DHCP 2.jpg](/public/imported_attachments/1/DHCP 2.jpg)
                          ![DHCP 2.jpg_thumb](/public/imported_attachments/1/DHCP 2.jpg_thumb)
                          ![DHCP 3.jpg](/public/imported_attachments/1/DHCP 3.jpg)
                          ![DHCP 3.jpg_thumb](/public/imported_attachments/1/DHCP 3.jpg_thumb)
                          ![DNS 1.png](/public/imported_attachments/1/DNS 1.png)
                          ![DNS 1.png_thumb](/public/imported_attachments/1/DNS 1.png_thumb)
                          ![DNS 2.png](/public/imported_attachments/1/DNS 2.png)
                          ![DNS 2.png_thumb](/public/imported_attachments/1/DNS 2.png_thumb)
                          ![DNS 3.png](/public/imported_attachments/1/DNS 3.png)
                          ![DNS 3.png_thumb](/public/imported_attachments/1/DNS 3.png_thumb)

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

                            Está tudo certo na configuração.

                            Estou achando que pode ser algo referente ao domínio no seu arquivo nginx2.conf.

                            Coloque o conteúdo dele aqui.

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

                              Ok

                              Conteudo Nginx2.conf:

                              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;
                                              }
                                      }
                              }

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

                                Acho que é este o problema:

                                server_name wpad.localdomain
                                

                                Dentro do seu nginx2.conf, ajuste para o domínio configurado no seu PF.

                                O navegador pelo qual está tentando fazer testes, seria o Firefox?

                                O Firefox só pega WPAD por DNS, então o caso acima seria o problema.

                                Já no Chrome/IE, aceitam pelo DHCP.

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

                                  Certo;

                                  Fui ate a conf do nginx.conf e alterei conforme meu dominio reiniciei o server reiniciei minha conexao de rede. Apos isso tentei os acessos mas da mesma forma os bloqueios ainda nao estao acontecendo.

                                  Conf da nginx2.conf atual:

                                  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.allianza.com.br
                                                    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;
                                                    }
                                            }
                                    }

                                  Essa configuração era a minha ultima esperança kkk mas ta dificil heim bruno que luta.  ;D ;D

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

                                    Pode ser um detalhe bem básico que ta passando despercebido…  :P

                                    Se quiser me passar um acesso remoto no privado, eu dou uma olhada.

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

                                      Como mando uma mensagem pra voce no privado?

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

                                        Ola pessoal venho informa que apos muito trabalho consegui terminar a configuração do Bruno e esta funcionando perfeitamente.
                                        O erro foi em copiar uma configuração dentro do arquivo proxy.pac a palavra function nao foi copiado para ele entao nao chamava a função e com isso os bloqueios nao aconteciam. Apos isso funciono nomalmente em todos os navegadores. Gostaria de agradecer o bruno por me ajudar atentamente nessa trabalho Otimo post foi o unico que vai funcionar na minha rede aqui na empresa.  ;D ;D ;D

                                        function FindProxyForURL(url, host) {

                                        // se o site estiver na rede interna, retorna conexao direta.
                                        if (isPlainHostName(host) ||
                                        isInNet(dnsResolve(host), "192.168.1.0",  "255.255.255.0") ||
                                        isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
                                        return "DIRECT";

                                        // o resto do trafego, passa no proxy
                                        return "PROXY 192.168.1.1:3128";
                                        }

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

                                          Editei o tópico, apenas para informar que o ambiente está validado nestas versões:

                                          2.3.1
                                          2.3.1_5
                                          2.3.2
                                          2.3.2_1

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

                                            Bruno para essa aplicação que funcione tenho é necessario ativa o dhcp do pfsense? no meu caso quem gerar dhcp eo windows server 2008 rc2.

                                            me tire essa duvida.

                                            Um grande abraço

                                            @brunok:

                                            Editei o tópico, apenas para informar que o ambiente está validado nestas versões:

                                            2.3.1
                                            2.3.1_5
                                            2.3.2
                                            2.3.2_1

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