Ads blocked but devices do not all show as using pihole

Expected Behaviour:

Am using a Netgear R8500, stock current firmware, and have the pihole IP set as the only DNS entry. R8500 is the DHCP server and I prefer NOT to use pihole. Mixture of wired and wireless devices - almost 30 in total (am only concerned currently with 5 wired Windows machines and 5 wireless Android -2 phones & 3 Tablets)

Using a physical pi 3b

Network is 192.168.1.0/24, router is .1 pihole is .50

Pi-hole should be blocking ads from ALL devices connected to my home network.

Each client should be listed, by name, on the Network Overview page and shown as using pihole.

Actual Behaviour:

Pi-hole blocks ads across all devices, wired and wireless perfectly.

On the Network Overview page, it reports the router as using pihole but lists only 2 wired devices, by ip, as not using pihole. Router itself reports almost 30

Tried setting up conditional forwarding on the DNS page but this creates massive traffic logging so is obviously creating a loop.

Using Local network 192.168.1.0/24 IP address of router 192.168.1.1

If I manually set the pihole ip as the dns server on the windows ethernet controller (Use the following DNS server addresses). Then flush and renew DNS the pihole will correctly report, on Network Overview, that the device is using the pihole.

Suspect the issue is related to the R8500 having no access to dnsmasq on stock firmware

Debug Token:

https://tricorder.pi-hole.net/gw9rbbf6x2

Sounds like you have configured your router to use Pi-hole as its upstream DNS server, rather than distributing Pi-hole as local DNS server via DHCP.

See Post-Install - Pi-hole documentation for more details.

Hi
Thanks for a quick reply

This is the only location that I can set any DNS reference on the Netgear R8500, the ip address there is the pihole. In my ignorance I thought that was pushed out when dhcp leases were issued. I guess it only pushes out the routers ip for DNS then? Looking at ipconfig the only dns reference is the server ip.

I checked the link you sent and I'm ding (in my head at least) option 1 "1. Define Pi-hole’s IP address as the only DNS entry in the router" am i not?

Using Pi-hole as your router's upstream is a valid configuration.
You just lose the ability to attribute DNS traffic to specific clients, as your router is the only client that Pi-hole sees (apart from itself, or rather its own host), and you won't be able to use client-based filtering.

One way to get around this would be to disable your router's DHCP server and switch on Pi-hole's.
But you already made it clear you don't want to go down that road:

As explained in the docs, your only remaining option would be to configure each device manually to use Pi-hole.

(There could be also the (rather exotic) option to configure EDNS(0) in your router, though you should consider yourself really lucky if your router would actually support that. I am not aware of any stock consumer grade router that does so.)

If you are willing to spend additional money, you could opt for replacing your router/modem with a device that allows to configure a local DNS server via DHCP, or introduce an additional router (without a modem, making it significantly cheaper) supporting that.

OK, I now get that pihole will only see the router, maybe itself, in the client list - will try editing the /etc/hosts file and see what that can do for me. Second part of the issue is whilst ads etc are blocked on devices pihole shows that they are not using pihole

BTW I do appreciate your help on this, just in case it doesn't come over clearly that I do :grinning: :+1:

1 Like

The information I provided is pretty much comprehensive for the options you may choose from.

Editing hosts won't change anything about your router being the only client sending DNS requests to Pi-hole (and neither would Conditional Forwarding, as you already found out).

Thanks, I worked that out myself just before hitting save - doh

Guess I can do a test with the pihole running DHCP - see what happens

Thanks again Bucking_Horn - stay safe!!

OK, I turned off DHCP on my router and set DNS back to 'Provided by ISP". Turned on DHCP on pihole and added all the DHCP leases I needed. Rebooted the pihole and all seemed to be OK.
However, when I try to flush the logs it goes through the motions but does not clear them until I reboot. Then I noticed that the FTL service is offline. So from ssh I ran pihole -r and selected repair, that only got so far - see image, and then dropped back to ssh.
Generated a debug log but that failed 'curl failed'
Not sure what I did and can recreate the pihole if needed - any thoughts on what I messed up?

Rebuilding pihole from scratch

Rebuilt pihole from scratch. Turned off DHCP on router, removed pihole DNS reference and reset to provided by ISP, then turned on DHCP on pihole. Added all my devices to the Static DHCP leases and so far seems to be working. Not sure what I messed up on the first test as I'm 99% sure I did exactly the same on the second go round - oh well.

One query, in my Static DHCP leases if I have a host called 'MyPC' it shows on active DHCP leases as 'MyPC' but everywhere else pihole references it as 'MyPC.lan'. Why is that?

lan is your local domain (aka search suffix), as configurable via Pi-hole's DHCP settings.

Pi-hole will register the flat hostname (MyPC) and its FQDN (MyPC.lan) for a DHCP client acquiring its IPv4 address through Pi-hole's DHCP server.

Note that if you define hostnames manually (e.g. via Local DNS | DNS records), you may have to add both records to the same effect.

Thanks - what a noob question :drooling_face: never noticed that field before

I added 1 record through the gui to see that format of /etc/dnsmasq.d/04-pihole-static-dhcp.conf then copy/paste my list of devices into it. Reboot and done, much quicker than using the gui

Thank you again Bucking_Horn