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

    Wpad no pfsense

    Scheduled Pinned Locked Moved Portuguese
    32 Posts 4 Posters 9.5k 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

      @reinaldo.feitosa:

      // Regra deafult com proxy em ordem de fail-ver
        return "PROXY 1.2.3.4:3128; PROXY 5.6.7.8:3128";

      aqui você está chamando a função return e não definindo um valor pra ela, por isso seu script parava sempre no primeiro teste.

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

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • T
        tomaswaldow
        last edited by

        Marcello, este exemplo peguei do site: http://findproxyforurl.com/example-pac-file/

        La consta como abaixo:
        // DEFAULT RULE: All other traffic, use below proxies, in fail-over order.
        return "PROXY 4.5.6.7:8080; PROXY 7.8.9.10:8080";

        Pra mim está funcionando.

        Tomas @ 2W Consultoria

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

          No final, não no começo.

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

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • T
            tomaswaldow
            last edited by

            Certo, entendi.

            Tomas @ 2W Consultoria

            1 Reply Last reply Reply Quote 0
            • I
              isaiasbertin
              last edited by

              colocar esta condição sempre no final do script certo

              // DEFAULT RULE: All other traffic, use below proxies, in fail-over order.
              return "PROXY 4.5.6.7:8080; PROXY 7.8.9.10:8080";

              1 Reply Last reply Reply Quote 0
              • T
                tomaswaldow
                last edited by

                Sim, mas só se for usar mais de uma rede.
                Para uma rede só não precisa colocar os dois IPs.

                Para ma rede pode ser: return "PROXY 192.168.1.1:3128";

                Tomas @ 2W Consultoria

                1 Reply Last reply Reply Quote 0
                • R
                  reinaldo.feitosa
                  last edited by

                  @marcelloc:

                  @reinaldo.feitosa:

                  // Regra deafult com proxy em ordem de fail-ver
                    return "PROXY 1.2.3.4:3128; PROXY 5.6.7.8:3128";

                  aqui você está chamando a função return e não definindo um valor pra ela, por isso seu script parava sempre no primeiro teste.

                  Sim Marcelo, agora entendi, em outras linguagens o valor é definido e o return só acontece no final da function, por isso fiz confusão. Agora entendi que o return esta saindo da funciona então não precisa de tantos else if.

                  1 Reply Last reply Reply Quote 0
                  • I
                    isaiasbertin
                    last edited by

                    Tomas para colocar mais de um ip fora do proxy

                    if (myIpAddress(), "192.168.2.2", "255.255.255.0", "192.168.2.3", "255.255.255.0") return "DIRECT";

                    é desta forma?

                    1 Reply Last reply Reply Quote 0
                    • T
                      tomaswaldow
                      last edited by

                      @isaiasbertin:

                      Tomas para colocar mais de um ip fora do proxy

                      if (myIpAddress(), "192.168.2.2", "255.255.255.0", "192.168.2.3", "255.255.255.0") return "DIRECT";

                      é desta forma?

                      Teste dessa forma ou faça um ip por linha.

                      if (myIpAddress(), "192.168.2.2", "255.255.255.0") || (myIpAddress(), "192.168.2.3", "255.255.255.0")) return "DIRECT";

                      Tomas @ 2W Consultoria

                      1 Reply Last reply Reply Quote 0
                      • I
                        isaiasbertin
                        last edited by

                        OK posso adicionar máquinas por máquinas nesta opção, outra coisa será que tem como criar uma lista de máquinas um aquivo com todos os IPS e chamar este arquivo via este scripts

                        1 Reply Last reply Reply Quote 0
                        • T
                          tomaswaldow
                          last edited by

                          Não é mais facil somente desmarcar a opção no navegador dessas máquinas?

                          Tomas @ 2W Consultoria

                          1 Reply Last reply Reply Quote 0
                          • R
                            reinaldo.feitosa
                            last edited by

                            @isaiasbertin:

                            OK posso adicionar máquinas por máquinas nesta opção, outra coisa será que tem como criar uma lista de máquinas um aquivo com todos os IPS e chamar este arquivo via este scripts

                            Isaias, não seria mais fácil criar uma regra liberando tudo para as máquinas do que tirar eles do proxy?
                            Qual a necessidade de tirar algumas máquinas do proxy?

                            1 Reply Last reply Reply Quote 0
                            • I
                              isaiasbertin
                              last edited by

                              Na realidade estou testando pois tem momentos que tenho que colocação máquinas fora do proxy e tirar site do proxy exemplo conectividade social

                              Estou fazendo teste quero ter todas as possibilidades  o melhor é liberar no proxy mesmo

                              Vou fazer os tese e posto

                              1 Reply Last reply Reply Quote 0
                              • T
                                tomaswaldow
                                last edited by

                                @isaiasbertin:

                                Na realidade estou testando pois tem momentos que tenho que colocação máquinas fora do proxy e tirar site do proxy exemplo conectividade social
                                Estou fazendo teste quero ter todas as possibilidades  o melhor é liberar no proxy mesmo
                                Vou fazer os tese e posto

                                Pra que? Tenho escritório de contabilidade sem problema com Conectividade, não precisa "tirar" do proxy….
                                Só fazer uma regra liberando a porta se estiver usando o programa antigo e se for a ver~soa web funciona sem problema  via proxy.

                                Tomas @ 2W Consultoria

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

                                  @isaiasbertin:

                                  tirar site do proxy exemplo conectividade social

                                  Seria mais simples colocar o site da conectividade social na exception no lugar de ficar escrevendo um livro no wpad.

                                  Outro detalhe importante é que o navegador faz cache do wpad, o que dificulta o processo de atualização do script.

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

                                  Help a community developer! ;D

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    isaiasbertin
                                    last edited by

                                    Tomas
                                    quando eu tiro o comentário deta linha e coloco o ip da maquina que é para estar fora do proxy e libero ela no rules esta aquina funciona mas as demais maquinas não navegam mais e nao solicita o proxy eu acho que da um erro ai não funciona mais o script wpad.dat, muito estranho

                                    if (myIpAddress(), "192.168.2.2", "255.255.255.0") return "DIRECT";

                                    function FindProxyForURL(url,host){

                                    // If the requested website is hosted within the internal network, send direct.
                                      if (isPlainHostName(host) ||
                                        isInNet(dnsResolve(host), "192.168.2.0",  "255.255.0.0") ||
                                        isInNet(dnsResolve(host), "192.168.15.0",  "255.255.0.0") ||
                                        isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
                                      return "DIRECT";

                                    // Dominio sem proxy
                                      //if (shExpMatch(host, "site.a.b.c") || shExpMatch(host, "site.x.y.z")) return "DIRECT";

                                    // IP sem proxy

                                    if (myIpAddress(), "192.168.2.2", "255.255.255.0") return "DIRECT";

                                    // Regra deafult com proxy em ordem de fail-ver
                                      return "PROXY 192.168.2.1:3128; PROXY 192.168.15.1:3128";

                                    }

                                    Bem como sou novo em pfsense estou apreendendo todos os dias com a turma do forum, mas Marcelo vc poderia me mostrar como posso fazer o que vc mencionou com o site da caixa pois isso é uma das coisa que dão dor de cabeça, como posso faze no pfsense.

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      tomaswaldow
                                      last edited by

                                      Não tenho problema com site da caixa, funciona normal com proxy.
                                      Quer problema tem?

                                      Tomas @ 2W Consultoria

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        isaiasbertin
                                        last edited by

                                        conectividade social esta sempre gera uns stress

                                        Tomas sabes como fazer o que o Marcello mencionou **"Seria mais simples colocar o site da conectividade social na exception no lugar de ficar escrevendo um livro no wpad.

                                        Outro detalhe importante é que o navegador faz cache do wpad, o que dificulta o processo de atualização do script."**

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          reinaldo.feitosa
                                          last edited by

                                          @isaiasbertin:

                                          Tomas
                                          quando eu tiro o comentário deta linha e coloco o ip da maquina que é para estar fora do proxy e libero ela no rules esta aquina funciona mas as demais maquinas não navegam mais e nao solicita o proxy eu acho que da um erro ai não funciona mais o script wpad.dat, muito estranho

                                          if (myIpAddress(), "192.168.2.2", "255.255.255.0") return "DIRECT";

                                          function FindProxyForURL(url,host){

                                          // If the requested website is hosted within the internal network, send direct.
                                            if (isPlainHostName(host) ||
                                              isInNet(dnsResolve(host), "192.168.2.0",  "255.255.0.0") ||
                                              isInNet(dnsResolve(host), "192.168.15.0",  "255.255.0.0") ||
                                              isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
                                            return "DIRECT";

                                          // Dominio sem proxy
                                            //if (shExpMatch(host, "site.a.b.c") || shExpMatch(host, "site.x.y.z")) return "DIRECT";

                                          // IP sem proxy

                                          if (myIpAddress(), "192.168.2.2", "255.255.255.0") return "DIRECT";

                                          // Regra deafult com proxy em ordem de fail-ver
                                            return "PROXY 192.168.2.1:3128; PROXY 192.168.15.1:3128";

                                          }

                                          Bem como sou novo em pfsense estou apreendendo todos os dias com a turma do forum, mas Marcelo vc poderia me mostrar como posso fazer o que vc mencionou com o site da caixa pois isso é uma das coisa que dão dor de cabeça, como posso faze no pfsense.

                                          Esta linha esta errada
                                          if (myIpAddress(), "192.168.2.2", "255.255.255.0") return "DIRECT";

                                          o correto seria:

                                          
                                          if (isInNet(myIpAddress(), "192.168.2.2", "255.255.255.255")) return "DIRECT";
                                          
                                          

                                          ou pode ser:

                                          
                                          if (myIpAddress() == "192.168.2.2") return "DIRECT";
                                          
                                          

                                          Com relação ao conectividade antigo, esta configuração ja resolve, pois o CNS utiliza o ip 127.0.0.1 (localhost) e ai ja esta sem proxy para este ip. Você só precisa liberar o ip do servidor da caixa nas regras do firewall

                                          CIDR servidor CNS = 200.201.173.0/20

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            reinaldo.feitosa
                                            last edited by

                                            Como prometi, refiz o script para várias redes, retornando DIRECT só para localhost e endereços dentro da mesma rede do cliente.

                                            
                                            function FindProxyForURL(url, host){
                                               var host_ip;
                                            
                                               host_ip= dnsResolve(host);
                                            
                                               if (isInNet(host_ip, "127.0.0.1", "255.255.255.255"))
                                                  return "DIRECT";
                                            
                                               if (isInNet(myIpAddress(), "192.168.7.0", "255.255.255.0"))
                                                  if (isInNet(host_ip, "192.168.7.0", "255.255.255.0"))
                                                     return "DIRECT";
                                            
                                               if (isInNet(myIpAddress(), "192.168.12.0", "255.255.255.0"))
                                                  if (isInNet(host_ip, "192.168.12.0", "255.255.255.0"))
                                                     return "DIRECT";
                                            
                                               if (isInNet(myIpAddress(), "192.168.13.0", "255.255.255.0"))
                                                  if (isInNet(host_ip, "192.168.13.0", "255.255.255.0"))
                                                     return "DIRECT";
                                            
                                               if (isInNet(myIpAddress(), "192.168.14.0", "255.255.255.0"))
                                                  if (isInNet(host_ip, "192.168.14.0", "255.255.255.0"))
                                                     return "DIRECT";
                                            
                                               if (isInNet(myIpAddress(), "192.168.15.0", "255.255.255.0"))
                                                  if (isInNet(host_ip, "192.168.15.0", "255.255.255.0"))
                                                     return "DIRECT";
                                            
                                               if (isInNet(myIpAddress(), "192.168.16.0", "255.255.255.0"))
                                                  if (isInNet(host_ip, "192.168.16.0", "255.255.255.0"))
                                                     return "DIRECT";
                                            
                                               if (isInNet(myIpAddress(), "172.16.0.0", "255.255.0.0"))
                                                  if (isInNet(host_ip, "172.16.0.0", "255.255.0.0"))
                                                     return "DIRECT";
                                            
                                               return "PROXY 192.168.7.1:3128";
                                            }
                                            
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.