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

    pihole on unraid not blocking ads with pfsense

    Scheduled Pinned Locked Moved DHCP and DNS
    62 Posts 7 Posters 9.1k 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.
    • M
      mlaustin @KOM
      last edited by

      @kom said in pihole on unraid not blocking ads with pfsense:

      @mlaustin Your pihole isn't working because your DNS Resolver isn't asking it. Resolver talks to the root hosts directly. It doesn't forward DNS requests by default. You either need to disable DNS Resolver and instead enable DNS Forwarder, or modify your DNS Resolver config to make it act as a forwarder via DNS Query Forwarding - Enable Forwarding Mode. Then make sure your pihole IP address is the only DNS server listed under System - General Setup - DNS Server Settings.

      I had enable forwarding mode checked, and pihole worked for a bit. Then I was not able to resolve any domains after some time period (less than couple of hours). In general setup under DNS, I had the pihole IP and the 127.x.x.x address (disable dns forwarding is unchecked in general setup). Could that have caused DNS queries to show web sites as not being able to be reached?

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

        I don't know why you would need 127.0.0.1 in General Settings - DNS Servers. I would also block DNS at the LAN level and redirect all DNS traffic to pfSense.

        https://doc.pfsense.org/index.php/Redirecting_all_DNS_Requests_to_pfSense

        I don't have a quick answer as to why your lookups fail after time. Check your logs when it starts acting up.

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

          I actually recently setup pi-hole as well and it's working great together with pfSense. I run pfSense on a baremetal 1U server, but pi-hole is running inside a Linux VM on Proxmox on my network. Here's how I have things setup:

          Clients (generate DNS request) --> pi-hole (blocks or forwards DNS request) --> pfSense (returns IP if cached or forwards DNS request) --> upstream DNS (resolves DNS request).

          Inside pi-hole I have the upstream DNS server set as pfSense and I have DNSSEC and DNS caching disabled (since pfSense caches DNS requests and latency between pi-hole and pfsense is negligible, i.e. < 1ms). Inside pfSense, under general setup, I have 127.0.0.1 and upstream DNS servers set. I also have some NAT redirection rules set up to make sure that no devices can bypass pi-hole (e.g. some IoT devices can have hard coded DNS settings).

          Overall, this setup is performing well and I'm now slowly rolling it out to my entire network of devices.

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

            So I seem to have this working now. In general setup, I checked the box for disable dns forwarder, which removed the dns server entry of 127.0.0.1. DNS Resolver is enabled with DNSSEC and DNS Query Forwarding. Pihole is set with Cloudflare as the DNS servers. And pfSense is set with Pihole as the DNS server and the only server. Thanks for everyone's help.

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

              I thought I'd give an update. For the most part, this setup has been working. However I am getting some domains blocked. When I go into pihole via command line to whitelist, pihole says the domain is not blocked. So pfsense must be blocking it. Also wanted to mention that pfsense is not giving pihole's IP address to my clients. The clients show the router and dns server as the same IP address vs pfsense as the router and pihole as the dns. What could be the problem?

              bmeeksB 1 Reply Last reply Reply Quote 0
              • bmeeksB
                bmeeks @mlaustin
                last edited by bmeeks

                @mlaustin said in pihole on unraid not blocking ads with pfsense:

                I thought I'd give an update. For the most part, this setup has been working. However I am getting some domains blocked. When I go into pihole via command line to whitelist, pihole says the domain is not blocked. So pfsense must be blocking it. Also wanted to mention that pfsense is not giving pihole's IP address to my clients. The clients show the router and dns server as the same IP address vs pfsense as the router and pihole as the dns. What could be the problem?

                I suspect the answer is very simple. Whatever device is providing DHCP on your network needs to also be providing clients your pihole server's IP as the DNS server to use. DHCP tells clients what IP address to take, where to ask for DNS services and what gateway to use. Sounds like your DHCP setup is missing the DNS part or else is giving out an IP that is not your pihole server.

                But may I ask another question? Why go to all the hassle of using pihole and having to fight with DNS? Just put an ad block plugin on your browsers. I use uBlock Origin on Chrome and I see zero adds of any type on web sites I visit, and I don't have to monkey around with DNS. There are also uBlock Origin clients for other browsers. Same with YouTube videos. I have a YouTube ad blocker and never see any ads on YouTube (nor Facebook). Maybe if your browsing is primarily from mobile devices instead of PCs, then pihole might be needed (as the ad block clients for mobile devices are sparse). I personally detest using a mobile device for general web browsing (the screen is too small and you have to scroll most web sites for 10 miles to see all the content).

                If you still want to use pihole, then you need to make sure that server's IP address is handed to all clients in your network for them to use as the DNS server. Typically that is handled by properly configuring whatever is providing DHCP on your network. Of course you can also manually assign the DNS server IP address.

                M 1 Reply Last reply Reply Quote 0
                • johnpozJ
                  johnpoz LAYER 8 Global Moderator
                  last edited by

                  I have been running pihole for quite some time... This is how I set it up... I have pihole running on on an actual pi In my dmz network 192.168.3/24

                  All clients point to pihole directly via setting dhcpd on pfsense to hand this out. pihole then forwards to pfsense.. Pfsense then "RESOLVES" using dnssec.

                  This allows me if I want to just ask pfsense IP directly for something if I don't want to be be blocked by piholes list. If I want a device to not use pihole, i just setup that device to use pfsense for dns.

                  On pihole I just set it to foward PTRs for rfc1918, ie uncheck
                  "Never forward reverse lookups for private IP ranges"

                  This requires min config on both unbound and pihole. No need to setup any conditional forwards, still get to "resolve" and use dnssec per setting on unbound. And also host overrides set on unbound work, etc.

                  An intelligent man is sometimes forced to be drunk to spend time with his fools
                  If you get confused: Listen to the Music Play
                  Please don't Chat/PM me for help, unless mod related
                  SG-4860 24.11 | Lab VMs 2.8, 24.11

                  x2rlX 1 Reply Last reply Reply Quote 0
                  • M
                    mlaustin @bmeeks
                    last edited by

                    @bmeeks said in pihole on unraid not blocking ads with pfsense:

                    @mlaustin said in pihole on unraid not blocking ads with pfsense:

                    I thought I'd give an update. For the most part, this setup has been working. However I am getting some domains blocked. When I go into pihole via command line to whitelist, pihole says the domain is not blocked. So pfsense must be blocking it. Also wanted to mention that pfsense is not giving pihole's IP address to my clients. The clients show the router and dns server as the same IP address vs pfsense as the router and pihole as the dns. What could be the problem?

                    I suspect the answer is very simple. Whatever device is providing DHCP on your network needs to also be providing clients your pihole server's IP as the DNS server to use. DHCP tells clients what IP address to take, where to ask for DNS services and what gateway to use. Sounds like your DHCP setup is missing the DNS part or else is giving out an IP that is not your pihole server.

                    But may I ask another question? Why go to all the hassle of using pihole and having to fight with DNS? Just put an ad block plugin on your browsers. I use uBlock Origin on Chrome and I see zero adds of any type on web sites I visit, and I don't have to monkey around with DNS. There are also uBlock Origin clients for other browsers. Same with YouTube videos. I have a YouTube ad blocker and never see any ads on YouTube (nor Facebook). Maybe if your browsing is primarily from mobile devices instead of PCs, then pihole might be needed (as the ad block clients for mobile devices are sparse). I personally detest using a mobile device for general web browsing (the screen is too small and you have to scroll most web sites for 10 miles to see all the content).

                    If you still want to use pihole, then you need to make sure that server's IP address is handed to all clients in your network for them to use as the DNS server. Typically that is handled by properly configuring whatever is providing DHCP on your network. Of course you can also manually assign the DNS server IP address.

                    pfSense is providing DHCP, so it should be handing out pihole's IP address.

                    bmeeksB 1 Reply Last reply Reply Quote 0
                    • bmeeksB
                      bmeeks @mlaustin
                      last edited by

                      @mlaustin said in pihole on unraid not blocking ads with pfsense:

                      pfSense is providing DHCP, so it should be handing out pihole's IP address.

                      OK, but make sure that within the DHCP settings in pfSense you have specifically specified your pihole server's IP address for DNS. The default for pfSense will be to send the firewall's address to clients for use as the DNS server. Configure your settings as @johnpoz suggested. You don't have to have pihole on bare metal or in a DMZ, though. Just make sure within the pfSense DHCP settings for all of your local firewall interfaces that pfSense is configured to tell your network clients to use pihole for DNS.

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

                        Thanks for the quick responses. Ok, I did uncheck the box the @johnpoz suggested within pihole. I did not have the pihole IP under DNS servers within DHCP as it states below it will use the default servers under general setup, which is where I have pihole specified. So I assumed it would issue that out as the DHCP. By adding the DNS in DHCP, the pihole address is now delivered on refresh. And instantly sites that were not working are working. So hopefully I have resolved this issue.

                        Let me ask a follow up question to some other settings. Do I still need to have pihole as the only listed DNS server under general setup? Or can I remove it now that it is in DHCP setting and just use backup DNS servers there (or can leave it as well as add backup servers)? Also within that same area, can I now check this box "Do not use the DNS Forwarder/DNS Resolver as a DNS server for the firewall" which will add the localhost 127.0.0.1 as a DNS server? One more thing, within DNS resolver do I still need to check "Enable Forwarding Mode"?

                        1 Reply Last reply Reply Quote 0
                        • johnpozJ
                          johnpoz LAYER 8 Global Moderator
                          last edited by johnpoz

                          You would not have pihole setup anywhere in pfsense other then in the dhcpd handing out to clients. Pfsense ONLY points to itself which resolves (out of the box config).

                          Pihole FORWARDS to pfsense IP, which then resolves.

                          clients ONLY ask pihole, pihole ONLY forwards to pfsense. Pfsense then resolves anything it gets asks.. Pihole will not forward to pfsense stuff that it blocks.

                          An intelligent man is sometimes forced to be drunk to spend time with his fools
                          If you get confused: Listen to the Music Play
                          Please don't Chat/PM me for help, unless mod related
                          SG-4860 24.11 | Lab VMs 2.8, 24.11

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            mlaustin @johnpoz
                            last edited by

                            @johnpoz said in pihole on unraid not blocking ads with pfsense:

                            You would not have pihole setup anywhere in pfsense other then in the dhcpd handing out to clients. Pfsense ONLY points to itself which resolves (out of the box config).

                            Pihole FORWARDS to pfsense IP, which then resolves.

                            clients ONLY ask pihole, pihole ONLY forwards to pfsense. Pfsense then resolves anything it gets asks.. Pihole will not forward to pfsense stuff that it blocks.

                            I want to make sure I understand this correctly. Because in phole, I have the DNS servers set for cloudflare. I don't have any DNS servers setup in pfsense other than pihole. So should I then remove the DNS servers from phole and put cloudflare as DNS in pfsense? Then I'm guessing I would put pfSense's IP address in pihole. So it goes something like this, DHCP DNS -> pihole -> pfsense -> pfSense DNS.

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              tman222 @mlaustin
                              last edited by

                              @mlaustin

                              You essentially have two options:

                              A. Use pfSense as a DNS Resolver:

                              1. No need to add any Additional DNS Servers under General Setup in pfSense
                              2. Under DNS Resolver settings in pfSense, make sure DNSSEC is enabled and forwarding mode is disabled (unchecked)
                              3. Pi-hole needs to be setup to forward its DNS traffic to pfSense.
                              4. If you have DNS mappings (Host Overrides) in pfSense you'll want to uncheck "Never forward reverse lookups for private IP ranges" under Pi-hole's DNS settings.
                              5. Make sure your clients DNS points to Pi-Hole

                              B. Use pfSense as the DNS Forwarder to Cloudflare (i.e. Cloudflare is the DNS Resolver):

                              1. Add the IP's of Cloudflare's DNS servers under General Setup in pfSense.
                              2. Under DNS Resolver settings in pfSense, you can disable DNSSEC if you want (because pfSense is now just forwarding requests and not resolving them) and make sure that forwarding mode is enabled (checked).
                              3. to 5) remain the same.

                              One other thing you can also think about doing is setting up NAT Redirection rules to make sure that DNS traffic that is not bound for Pi-hole is then redirected to go through Pi-hole (so nothing can circumvent it). This is useful in situations where devices may have their DNS server settings hard coded - I've seen some IoT devices behave like this.

                              Hope this helps.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                mlaustin @tman222
                                last edited by

                                @tman222

                                Thanks. Both scenarios worked out. I will use scenario A.

                                1 Reply Last reply Reply Quote 0
                                • x2rlX
                                  x2rl @johnpoz
                                  last edited by

                                  @johnpoz said in pihole on unraid not blocking ads with pfsense:

                                  I have been running pihole for quite some time... This is how I set it up... I have pihole running on on an actual pi In my dmz network 192.168.3/24

                                  All clients point to pihole directly via setting dhcpd on pfsense to hand this out. pihole then forwards to pfsense.. Pfsense then "RESOLVES" using dnssec.

                                  This allows me if I want to just ask pfsense IP directly for something if I don't want to be be blocked by piholes list. If I want a device to not use pihole, i just setup that device to use pfsense for dns.

                                  On pihole I just set it to foward PTRs for rfc1918, ie uncheck
                                  "Never forward reverse lookups for private IP ranges"

                                  This requires min config on both unbound and pihole. No need to setup any conditional forwards, still get to "resolve" and use dnssec per setting on unbound. And also host overrides set on unbound work, etc.

                                  John would you one day be able to do a step by step on how you got it working like that sounds perfect with what i am wanting to do. I sometimes find pfsense quite complicated 90% of the time.

                                  1 Reply Last reply Reply Quote 0
                                  • johnpozJ
                                    johnpoz LAYER 8 Global Moderator
                                    last edited by

                                    I kind of just did, when I told you how I have it setup.. Didn't I.. What step is missing there ;)

                                    An intelligent man is sometimes forced to be drunk to spend time with his fools
                                    If you get confused: Listen to the Music Play
                                    Please don't Chat/PM me for help, unless mod related
                                    SG-4860 24.11 | Lab VMs 2.8, 24.11

                                    x2rlX 1 Reply Last reply Reply Quote 0
                                    • x2rlX
                                      x2rl @johnpoz
                                      last edited by

                                      @johnpoz said in pihole on unraid not blocking ads with pfsense:

                                      I kind of just did, when I told you how I have it setup.. Didn't I.. What step is missing there ;)

                                      Nevermind thanks anyway.

                                      1 Reply Last reply Reply Quote 0
                                      • johnpozJ
                                        johnpoz LAYER 8 Global Moderator
                                        last edited by

                                        Do you need a picture on how to setup dhcp to point to the pihole IP? Do you need picture on how to setup pihole to point to pfsense IP? Just a bit confused to what other info you would need?

                                        An intelligent man is sometimes forced to be drunk to spend time with his fools
                                        If you get confused: Listen to the Music Play
                                        Please don't Chat/PM me for help, unless mod related
                                        SG-4860 24.11 | Lab VMs 2.8, 24.11

                                        x2rlX 1 Reply Last reply Reply Quote 0
                                        • x2rlX
                                          x2rl @johnpoz
                                          last edited by x2rl

                                          @johnpoz said in pihole on unraid not blocking ads with pfsense:

                                          Do you need a picture on how to setup dhcp to point to the pihole IP? Do you need picture on how to setup pihole to point to pfsense IP? Just a bit confused to what other info you would need?

                                          Not really a picture tho it might help. I know you told us what you have set up I just wouldn't know how to set it up this way. I was hoping you could give a run down and the setting you did to achieve this.

                                          1 Reply Last reply Reply Quote 0
                                          • johnpozJ
                                            johnpoz LAYER 8 Global Moderator
                                            last edited by johnpoz

                                            Again - already did..

                                            You set dhcp server in pfsense to point to pihole IP.
                                            You set pihole to forward to pfsense IP..

                                            What else is there to know?

                                            Clients now ask pihole, stuff that is not blocked gets forwarded to pfsense. It answers for local stuff, and resolves public stuff and answers back to pihole, which sends it back to client.

                                            One thing I would do is let pihole do PTR.. So uncheck
                                            "Never forward reverse lookups for private IP ranges"

                                            An intelligent man is sometimes forced to be drunk to spend time with his fools
                                            If you get confused: Listen to the Music Play
                                            Please don't Chat/PM me for help, unless mod related
                                            SG-4860 24.11 | Lab VMs 2.8, 24.11

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