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

    Squid/SquidGuard NONE/409 and DNS issue

    Scheduled Pinned Locked Moved Cache/Proxy
    69 Posts 9 Posters 19.4k 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.
    • S
      shawn8888 @KOM
      last edited by

      @kom @aGeekhere

      1. I tried WPAD, and it worked!
        I haven't seen any NONE/409 errors since then and it looks promising!

        If this error is for non-WPAD, and transparent mode only, it's a bug, don't you think?

      2. Do you know how to manually set some of my devices in LAN bypass the proxy? I have a Synology NAS and some other devices to access Internet directly.

      Thanks!

      A KOMK 2 Replies Last reply Reply Quote 0
      • A
        aGeekhere @shawn8888
        last edited by

        @shawn8888
        1 Not sure if it is a bug or just a limitation

        2 In you wpad you can bypass devices like this

        if (isInNet(myIpAddress(), "192.168.1.99", "255.255.255.0"))
        return "DIRECT";
        

        Never Fear, A Geek is Here!

        S 1 Reply Last reply Reply Quote 0
        • KOMK
          KOM @shawn8888
          last edited by

          @shawn8888 I put a block rule for tcp 80/443 on LAN above my Allow All rule, then above that I have an allow rule with an alias that holds IPs that I allow to tcp 80/443.

          S 1 Reply Last reply Reply Quote 0
          • S
            shawn8888 @KOM
            last edited by

            @kom

            1. You mentioned that Transparent HTTP Proxy should be disabled. But in my case, I have to enable it to make proxy working.

            2. In order to bypass some of my LAN IPs, I did it as you suggested. But it seems not working? Is there anything wrong in the screenshot below?

            54774291-a879-4dbb-9bd1-669a02aaaef9-image.png

            1 Reply Last reply Reply Quote 0
            • S
              shawn8888 @aGeekhere
              last edited by

              @ageekhere

              I changed my wpad.dat to this:

              function FindProxyForURL(url, host) {
                  if (isInNet(myIpAddress(), "192.168.100.159", "255.255.255.0")) 
                  return "DIRECT";
              
                  return "PROXY 192.168.100.1:3128";
              }
              

              But somehow it doesn't bypass the the device I put in there. :(

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

                @shawn8888
                in squid under
                Bypass Proxy for These Source IPs
                add your device there

                Never Fear, A Geek is Here!

                S 1 Reply Last reply Reply Quote 0
                • S
                  shawn8888 @aGeekhere
                  last edited by

                  @ageekhere said in Squid/SquidGuard NONE/409 and DNS issue:

                  @shawn8888
                  in squid under
                  Bypass Proxy for These Source IPs
                  add your device there

                  I tried that, not working either. Which makes wonder if I am doing something wrong.

                  How should I test if a device goes to Internet directly or though a proxy?
                  Right now, because I set a block web site in SquidGuard, such as youtube.com. So, if I can access google.com but not youtube.com, I assume the proxy is working, because SquidGuard needs Squid to work. If I can access both, then it accesses directly. Is there a better way?

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

                    @shawn8888
                    You can look at squid real time to see if that device comes up

                    Never Fear, A Geek is Here!

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      shawn8888 @aGeekhere
                      last edited by

                      @ageekhere

                      Thanks!

                      So I did all the below, and the bypass finally works:

                      1. setup the rules in LAN like this:

                      3a9c56ce-974e-4491-a737-82d802257053-image.png

                      1. change the wpad.dat like this:
                      function FindProxyForURL(url, host) {
                          if (isInNet(myIpAddress(), "192.168.100.159", "255.255.255.0")) ||
                            (isInNet(myIpAddress(), "192.168.100.155", "255.255.255.0")) 
                          return "DIRECT";
                          return "PROXY 192.168.100.1:3128";
                      }
                      
                      1. add Bypass Proxy for These Source IPs

                      1070d290-bb7b-4eb5-ba99-b2129c3d0d20-image.png

                      KOMK 1 Reply Last reply Reply Quote 0
                      • KOMK
                        KOM @shawn8888
                        last edited by

                        @shawn8888 Something is wrong with your config. You don't need WPAD if you're still running transparent mode. It's one or the other.

                        A S 2 Replies Last reply Reply Quote 0
                        • A
                          aGeekhere @KOM
                          last edited by

                          @kom
                          I think if you go direct with the WPAD the transparent proxy will see traffic going directly through port 80/443 and will redirect the traffic through the proxy again. So by adding the bypass in squid it prevents it from being routed through the transparent proxy.

                          If you turn off the transparent proxy and just rely on the WPAD some software may have connection issues.

                          Never Fear, A Geek is Here!

                          1 Reply Last reply Reply Quote 0
                          • S
                            shawn8888 @KOM
                            last edited by

                            @kom
                            If I disable transparent mode, then all my devices lost Internet. So honestly, at this point, I don't know if WPAD or transparent mode is working.
                            However, twitter image/video now works both on my PC and my iPad, and it didn't work before.

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

                              @shawn8888
                              A way to test if the WPAD is working is temporary turn off the transparent proxy and make sure autoconfig in turn on. If you internet browser uses the proxy then it is working.

                              Never Fear, A Geek is Here!

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                shawn8888 @aGeekhere
                                last edited by

                                @ageekhere

                                What do you mean "autoconfig"?
                                I followed the help here:
                                81501746-f338-4be6-b651-7ec79dc8a54c-image.png

                                If I turn off transparent mode and change firefox network settings:

                                24f747f0-429e-4e42-ae0a-fbf316052aff-image.png

                                Still no Internet. So I guess WPAD never worked...

                                KOMK 1 Reply Last reply Reply Quote 0
                                • KOMK
                                  KOM @shawn8888
                                  last edited by

                                  @shawn8888 What happens when you try to resolve 'wpad' or 'wpad.yourdomain.lol' on your network? Does it come back with the IP address of the server holding the wpad.dat file? IIRC your wpad.dat file to live on an http server or a trusted https server. Any cert errors will stop the wpad file from being read.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    shawn8888 @KOM
                                    last edited by shawn8888

                                    @kom
                                    I think I have followed all the steps on doc page.
                                    Ping/dns is fine, and I can download the wpad.dat file from the browser.

                                    One question though:
                                    If the transparent mode works, why do you need wpad? Is that because transparent mode is bugy?

                                    c2a88bb4-beef-4f4a-94ab-a36babaa43d9-image.png

                                    2a46c099-6db4-44ad-a79b-03d0a6b17e5d-image.png

                                    e0f97b4b-8c96-4b35-b8d5-d35798a1b121-image.png

                                    fe22b9ea-2d79-4173-971c-b2ade0dc4c48-image.png

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

                                      @shawn8888
                                      To set auto config in windows go to
                                      Control Panel - Internet Properties - connections - LAN settings and select Automatically detect settings.

                                      Make sure programs are set to Use system proxy settings.
                                      Test with chrome for now as firefox in the past had an outstanding bug with auto configuring a proxy which i am not sure if it was fixed.

                                      "If the transparent mode works, why do you need wpad? Is that because transparent mode is bugy?"

                                      From memory transparent proxy can break certificates resulting in a failed connection, though someone with more knowledge would have to confirm the technical details.

                                      Also in your WPAD add to the top

                                      if (shExpMatch(host, "ENTER YOUR PFSENSE DOMAIN HERE")) return "DIRECT";
                                      

                                      use https://app.thorsen.pm/proxyforurl for testing the WPAD for errors

                                      Never Fear, A Geek is Here!

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        shawn8888 @aGeekhere
                                        last edited by

                                        @ageekhere

                                        Thank you guys for the endless help. I haven't given up because of you!

                                        My Internet properties look good.
                                        Chrome also points to Auto detect.
                                        My wpad.dat now looks like below and the proxy tester didn't complain
                                        I also tested on my iPhone, iPad, same as my PC. As soon as I disable transparent mode, Internet drops.
                                        I checked my iOS -> wifi -> HTTP PROXY -> Configure Proxy -> Automatic
                                        All my devices can download the wpad.dat file from the browser:
                                        http://192.168.100.1/wpad.dat

                                        function FindProxyForURL(url,host)
                                        {
                                        if (shExpMatch(host, "pfsense.mydomain.com")) 
                                          return "DIRECT";
                                        
                                        if (isInNet(myIpAddress(), "192.168.100.155", "255.255.255.0")) 
                                          return "DIRECT";
                                        
                                          return "PROXY 192.168.100.1:3128";
                                        }
                                        

                                        bee1a4e7-cc0c-4b47-bef4-10c3c1c65cb7-image.png

                                        fe0e698c-9ef3-4fc3-83e6-2f154da8bc27-image.png

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

                                          @shawn8888
                                          I think i see the issue

                                          Under Additional BOOTP/DHCP Options change to

                                          252 String "http://192.168.1.1/wpad.dat"
                                          252 String "http://192.168.1.1/wpad.da"
                                          252 String "http://192.168.1.1/proxy.pac"
                                          

                                          Under DNS ResolverGeneral Settings Host Overrides add

                                          wpad	YourPfsenseDomain	192.168.1.1	wpad
                                          

                                          https://docs.netgate.com/pfsense/en/latest/recipes/http-client-proxy-wpad.html?highlight=wpad

                                          "A WPAD host may be supplied via DHCP numbered option 252 (string value containing the entire URL to the WPAD file) or DNS, which is easy to do with the built-in DNS forwarder."

                                          Make sure you get the correct YourPfsenseDomaid, something like pfsensedomain.local
                                          You can check in windows by using cmd and look for Connection - specific DNS suffix

                                          Never Fear, A Geek is Here!

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            shawn8888 @aGeekhere
                                            last edited by

                                            @ageekhere
                                            no luck.
                                            From what I read, you only need DHCP or dns resolver. I tried both, and still the same.
                                            Even though I am complete newbie about wireshark, I gave it a shot. And I cannot even find string "wpad" in the logs.

                                            07192600-66a1-41c5-8a2f-2a8ea55c9368-image.png

                                            fbd7ff90-cec7-4895-a029-45a729abfe04-image.png

                                            0a89b671-fee8-48bb-b598-64b07fc09702-image.png

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