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

    Duvida - Wpad (Resolvido)

    Scheduled Pinned Locked Moved Portuguese
    12 Posts 4 Posters 1.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.
    • D
      didonsom
      last edited by

      Olá Pessoal, Boa tarde!

      Gostaria de esclarecer uma duvida, sobre a configuração do arquivo wpad.dat

      o que está errado nesse código? qual seria a forma correta de fazer o ip "192.168.0.17", não passar pelo proxy  ?

      
      function FindProxyForURL(url, host)
      {
      
      // VARIAVEIS
      var proxy_yes = "PROXY 192.168.0.19:3128";
      var proxy_no = "DIRECT";
      
      // URLS que NAO PASSAM NO PROXY
      if (shExpMatch(url, "https://webmail.knowhowempregos.com.br.com.br*")) { return proxy_no; }
      if (shExpMatch(url, "http://192.168.0.19*")) { return proxy_no; }
      if (shExpMatch(url, "http://192.168.0.10:9090*")) { return proxy_no; }
      if (shExpMatch(url, "http://kaspersky-lab.com*")) { return proxy_no; }
      if (shExpMatch(url, "http://www.kaspersky.com*")) { return proxy_no; }
      if (shExpMatch(url, "http://kaspersky.com.br*")) { return proxy_no; }
      if (shExpMatch(url, "http://www.knowhowempregos.com.br*")) { return proxy_no; }
      
      // Ips que nao passam pelo proxy
      if (myIpAddress(), "192.168.0.17", "255.255.255.0") { return proxy_no;}
      
      // Proxy para as redes locais
      if (isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0")) { return proxy_yes; }
      
      else
      return "DIRECT";
      }
      
      

      Abraços,

      Diego

      1 Reply Last reply Reply Quote 0
      • A
        andr3.ribeiro
        last edited by

        o que eu faço é colocar, na interface LAN, uma regra antes das demais liberando as portas para ela.
        Depois sigo com os bloqueios normais

        No print abaixo fiz um exemplo assim:

        1 - Bloqueio de Bogon Networks
        2 - Liberação de um alias (IPs_Fora_Proxy) permitindo toda navegação e demais portas
        3 - Libero acesso a porta 80 com destino ao próprio pfSense para entrega do wpad.
        4 - Bloqueio a porta 80 aos demais
        5 - Bloqueio a porta 443 aos demais
        6 - Libero as demais portas aos IPs

        regras.png_thumb
        regras.png

        1 Reply Last reply Reply Quote 0
        • S
          santello
          last edited by

          Falta um parâmetro na função do IP local.

          // Ips que nao passam pelo proxy
          if (isInNet(myIpAddress(), "192.168.0.17", "255.255.255.0")) { return proxy_no;}

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

            @santeLLo:

            Falta um parâmetro na função do IP local.

            // Ips que nao passam pelo proxy
            if (isInNet(myIpAddress(), "192.168.0.17", "255.255.255.0")) { return proxy_no;}

            Olá Santello,

            As linhas abaixo não entram em conflito em virtude de estar no mesmo range de IP?

            questiono isso por que se eu deixar dessa forma ninguém consegue navegar, o proxy não carrega.

            Para funcionar eu teria que setar os ips que precisam de proxy manualmente? ou existe uma forma de facilitar isso?

            
            // Ips que nao passam pelo proxy
            if (isInNet(myIpAddress(), "192.168.0.17", "255.255.255.0") { return proxy_no;}
            
            // Proxy para as redes locais
            if (isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0")) { return proxy_yes; }
            
            

            Obrigado a todos.

            Diego

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

              @andr3.ribeiro:

              o que eu faço é colocar, na interface LAN, uma regra antes das demais liberando as portas para ela.
              Depois sigo com os bloqueios normais

              No print abaixo fiz um exemplo assim:

              1 - Bloqueio de Bogon Networks
              2 - Liberação de um alias (IPs_Fora_Proxy) permitindo toda navegação e demais portas
              3 - Libero acesso a porta 80 com destino ao próprio pfSense para entrega do wpad.
              4 - Bloqueio a porta 80 aos demais
              5 - Bloqueio a porta 443 aos demais
              6 - Libero as demais portas aos IPs

              Olá Andre,

              Já tenho a regra de liberação antes de rejeitar o trafego das portas(80 e 443).
              o meu problema está justamente no código do wpad, não estou conseguindo fazer o navegador ignorar aquela estação, item que eu fazia facilmente quando utilizava o proxy setado nas maquinas ( desmarcava o proxy do navegador) e funcionava :)

              obrigado

              abraços,

              Diego

              1 Reply Last reply Reply Quote 0
              • A
                andr3.ribeiro
                last edited by

                Entendi agora

                Pois é, aqui eu quando preciso usar esse recurso, cadastro o IP no alias e depois desmarco o "Detectar automaticamente" na janela do proxy.
                Faço assim porque muito raramente utilizo. Só faço pra testar se algum problema de internet tem a ver com o proxy/firewall.

                O script do wpad é javascipt né, quem manja consegue fazer um monte de coisas com ele!
                Pra mim, o wpad é sensacional!!

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

                  @andr3.ribeiro:

                  Entendi agora

                  Pois é, aqui eu quando preciso usar esse recurso, cadastro o IP no alias e depois desmarco o "Detectar automaticamente" na janela do proxy.
                  Faço assim porque muito raramente utilizo. Só faço pra testar se algum problema de internet tem a ver com o proxy/firewall.

                  O script do wpad é javascipt né, quem manja consegue fazer um monte de coisas com ele!
                  Pra mim, o wpad é sensacional!!

                  É uma solução paliativa!!
                  Não tinha pensando em desmarcar o "Detectar automaticamente" :) …
                  Geralmente faço isso para fins de teste também, ou quando ocorre um problema e tenho q liberar a maquina do usuário para passar direto. De vez em quando, tenho que fazer isso pois é necessário subir processos no site TRT2 e as vezes eles mudam alguma coisa e o squid bloqueia algum certificado, ai como é urgente, nem sempre posso resolver na hora, ai pego os logs e resolvo depois.

                  Vou testar dessa forma que você falou.

                  obrigado

                  Diego

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

                    Andre,

                    Dessa forma funciona e resolve meu problema. Um detalhe pequeno fez toda a diferença! kkkk :)

                    Vivendo e aprendendo.

                    Obrigado pela ajuda.

                    Abraços,

                    Diego

                    1 Reply Last reply Reply Quote 0
                    • A
                      andr3.ribeiro
                      last edited by

                      Opa, que bom que resolveu! Fico feliz em ter ajudado

                      nós.png
                      nós.png_thumb

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

                        Olá Pessoal,

                        Consegui resolver o problema alterando o código do WPAD. Para quem estiver com o mesmo problema onde os ips e o sites continuam saindo pelo proxy, abaixo o código do arquivo wpad, dessa forma funciona perfeitamente.

                        
                        function FindProxyForURL(url, host)
                        {
                        // VARIAVEIS
                        var host_ip;
                        
                        host_ip = dnsResolve(host);
                        // Proxy para as redes locais
                        // IPS que nao passam pelo proxy 
                        //if (isInNet(host_ip(), "192.168.0.17", "255.255.255.0")) return "DIRECT";
                        
                        // URLS que NAO PASSAM NO PROXY
                        if (shExpMatch(url, "http://192.168.0.19*")) return "DIRECT";
                        if (shExpMatch(url, "http://192.168.0.10:9090*")) return "DIRECT";
                        if (shExpMatch(url, "http://www.ssp.sp.gov.br*")) return "DIRECT";
                        else
                          return "PROXY 192.168.0.19:3128";
                        }
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • D
                          didonsom
                          last edited by

                          Boa tarde!

                          Fiz uma alteração, adicionando domínios para não passar no proxy..

                          Espero ter ajudado.

                          
                          function FindProxyForURL(url, host)
                          {
                          // VARIAVEIS
                          var host_ip;
                          
                          host_ip = dnsResolve(host);
                          // Proxy para as redes locais
                          // IPS que nao passam pelo proxy 
                          //if (isInNet(host_ip(), "192.168.0.17", "255.255.255.0")) return "DIRECT";
                          
                          // URLS que NAO PASSAM NO PROXY
                          if (shExpMatch(url, "http://192.168.0.19*")) return "DIRECT";
                          if (shExpMatch(url, "http://192.168.0.10:9090*")) return "DIRECT";
                          //if (shExpMatch(url, "http://www.ssp.sp.gov.br*")) return "DIRECT";
                          if (shExpMatch(url, "http://www.knowhowempregos.com.br*")) return "DIRECT";
                          if (shExpMatch(url, "http://webmail.knowhowempregos.com.br*")) return "DIRECT";
                          if (shExpMatch(url, "http://webmail.grupoknh.com.br*")) return "DIRECT";
                          if (shExpMatch(url, "http://www.grupoknh.com.br*")) return "DIRECT";
                          
                          // DOMINIOS 
                           if(isInNet(host_ip, "192.168.0.0", "255.255.255.0") || dnsDomainIs(host_ip, "ssp.sp.gov.br") 
                           return "DIRECT";
                           else
                            return "PROXY 192.168.0.19:3128";
                          }
                          
                          

                          Abraços

                          Diego

                          1 Reply Last reply Reply Quote 0
                          • H
                            hugoteleco
                            last edited by

                            Pessoal,

                            Se uso wpad e filtro ssl (squid3+squidguard), eu preciso criar e instalar o certificado localmente nos navegadores dos computadores?

                            Sds,

                            Hugo

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