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

    Crazy to setup pfsense 2.3.3+squid+squidguard+wpad

    Scheduled Pinned Locked Moved Cache/Proxy
    27 Posts 5 Posters 12.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.
    • A
      aGeekhere
      last edited by

      reread the DNS firewall rule section (make the rule on top)

      Interface = LAN
      Protocol = TCP/UDP
      Source ports = *
      Dest address = *
      Dest ports = 53
      NAT IP = 127.0.0.1
      NAT Ports = 53
      Description = Redirect DNS
      LAN TCP/UDP * * * 53 127.0.0.1 53 Redirect DNS

      no firewall rule is needed for 3128 ??? not sure on vlan

      Change wpad to

      PROXY.PAC

      function FindProxyForURL(url, host)
      {
          if (isPlainHostName(host) ||
              shExpMatch(host, "*.local") ||
              isInNet(dnsResolve(host), "10.0.0.0",  "255.0.0.0"))
              return "DIRECT";
          return "PROXY 10.0.0.1:3128";
      }

      Not sure on VLAN as i have never set one up.

      Never Fear, A Geek is Here!

      1 Reply Last reply Reply Quote 0
      • J
        jopeme
        last edited by

        Now I am testing from a vlan and I have detected that if I do not activate the third rule then from a client I can not download the http: //wpad.localdomain.local/proxy.pac, but if I activate the rule then if I can download the proxy.pac.

        Also works fine if I do nslookup wpad.localdomain.local and responds:
        C: \ Users \ Computers \ nslookup wpad.localdomain.local
        Server: fproxy.localdomain.local
        Address: 10.0.0.1

        Name: wpad.localdomain.local
        Address: 10.0.0.1

        Any idea?

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

          It looks like the 3rd rule blocks the vlan form connecting to the router which has the wpad.

          Never Fear, A Geek is Here!

          1 Reply Last reply Reply Quote 0
          • J
            jopeme
            last edited by

            Nobody knows how I can solve it?

            Thanks.

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

              Did you manage to get it working? I have vlans configured on my network. Like others have mentioned, if you are wanting to use wpad, then you should disable transparent proxy.

              Two of my vlans are for mobile wifi and I do not pass wpad to them. It is very difficult to set up as you have to input the proxy information manually. Also some apps do not work very well with it.  So these are the only two that I pass through transparent proxy.  The others grab wpad because I have specified in the browser to auto detect settings.

              1 Reply Last reply Reply Quote 0
              • J
                jopeme
                last edited by

                Finally for the wifi interface I will not use neither squid nor wpad. What instructions did you follow to configure wpad ?. Could you show me your configuration for the vlan? Thank you

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

                  This is a link to a tutorial I used to set up WPAD. It is fairly straight forward. Basically you setup a web server on pfsense to server the wpad to your different vlans. I do not have any firewall rules to port 3128, only to the webserver on the specified port.

                  https://nguvu.org/pfsense/pfSense-WPAD-PAC-proxy-configuration-guide/

                  Here is what my wpad.da/proxy.pac looks like:

                  
                  function FindProxyForURL(url,host)
                  {
                  
                           if(dnsDomainIs(host, ".mydomain.com")) {
                  
                              return "DIRECT";
                  
                          }  else if (isInNet(myIpAddress(),"10.0.0.0","255.255.255.0")) {     // Admin Net
                  
                              return "PROXY 10.0.0.1:3128; DIRECT";
                  
                          }  else if (isInNet(myIpAddress(),"10.0.2.0","255.255.255.0")) {     // User Net
                  
                              return "PROXY 10.0.2.1:3128; DIRECT";
                  
                          } else if (isInNet(myIpAddress(),"10.0.3.0","255.255.255.0")) {     //Guest Net
                  
                              return "PROXY 10.0.3.1:3128";
                  
                          } else {
                  
                            return "DIRECT";
                  
                         }
                  
                  }
                  

                  Under Services -> Squid Proxy Server, make sure Enable Squid Proxy is checked, also make sure that the vlans you want to use the proxy are selected. The proxy port should be 3128.

                  1 Reply Last reply Reply Quote 0
                  • J
                    jopeme
                    last edited by

                    What is your DNS host overrides settings. I have rules to force DNS server is pfsense for each interfaces. And what is this configuration un www server?

                    bind to proxy address and port

                    server.bind  = "0.0.0.0"
                    server.port  = 80

                    Thanks a lot for your help.

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

                      I've attached a screenshot of the host override for wapd. It is fairly straightforward.

                      This is what I have in my conf file. My web server is on 192.168.50.1. So you will need to change this for your settings.

                      bind to port (default: 80)

                      server.bind  = "192.168.50.1"
                      server.port  = 80

                      host_override.PNG
                      host_override.PNG_thumb

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

                        Did you tried wpad Unofficial package? I guess it's much easier to setup then manual file changes.

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

                        Help a community developer! ;D

                        1 Reply Last reply Reply Quote 0
                        • J
                          jopeme
                          last edited by

                          I tried several weeks ago. But i don't know what step is wrong or missing for me if you have in mind that i use vlans and i forcé pfsense is DNS  server and proxy.

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

                            @jopeme:

                            I tried several weeks ago. But i don't know what step is wrong or missing for me if you have in mind that i use vlans and i forcé pfsense is DNS  server and proxy.

                            The package will work fine for this setup. You can create different wpad script for each interface.

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

                            Help a community developer! ;D

                            1 Reply Last reply Reply Quote 0
                            • J
                              jopeme
                              last edited by

                              So I guess I'll have to change my settings right now as follows:
                              Customer 1 on vlan102
                              Ip 10.0.102.2/24
                              Gateway: 10.0.102.1
                              DNS: 10.0.102.1

                              Customer 2 in vlan103
                              Ip 10.0.103.2/24
                              Gateway: 10.0.103.1
                              DNS: 10.0.103.1

                              The DNS should be for example the ip of the LAN 10.0.0.1 if I am not mistaken.
                              And I set up in PFSENSE the rules for DNS requests to redirect them to the LAN and allow HTTP traffic to the LAN that is going to serve the WPAD.
                              I'm right?

                              Thanks.

                              1 Reply Last reply Reply Quote 0
                              • J
                                jopeme
                                last edited by

                                Hello again.

                                Finally I installed the Unofficial wpad and I configured the dns resolver, but I can not get the wpad file. Probably because of my rules. If I write the url in a client http: //wpad.mydomain.local/proxy.pac
                                Is not able to download it. nslookup command Works fine and i get ip address of the lan.
                                From a vlan these are my rules.What is wrong with them?

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