Yup they are all on DHCP w/ the exception of a few well-known devices. That's what confuses me about all these DNS requests coming from my router's IP instead of the client. They should be hitting the pi.hole directly but they appear to be middleman'ing w/ the router for some reason.
That would indicate that you have configured your router to use Pi-hole as its upstream DNS server (commonly, a WAN/Internet kind of setting), as opposed to configuring it to distribute your Pi-hole's IPv4 to its clients vai DHCP (commonly, a LAN/DHCP kind of setting).
Thanks - this helps. the DNS server setting is on the Internet Setup
area of my router, not where I define DHCP ranges, etc. So, I think what you've said here is the culprit. Unfortunately, the router doesn't (directly) expose a value for the DNS given to DHCP clients; going to have to do some digging here. It's a Netgear Orbi 850. I know I can ssh into it for more advanced things, so that's probably what I'm going to have to do.
Will report back if/when I get it sorted, thank you!
quick search says Orbi's use DNS Proxy; giving all DHCP clients the router's IP address. Only solution is to not use router for DHCP.
This is fine since pi.hole can be my DHCP right? Just shut off router DHCP, turn on pi.hole's and voila?
A DHCP server can't assign an IP to itself, it needs a static IP address.
You'd have to configure that on the device that runs your Pi-hole, using whatever network management tool its OS prefers, before you switch DHCP server duties.
yup I've got that done, so should be good there.
All good now! Remove DHCP duties from my router, turned on DHCP on the pihole and getting exactly what I hoped for.
Thanks for working through this with me!
Bottom line
If your router does DNS Proxying then you have to let pihole be the DHCP server, not your router. If you can disable DNS Proxying on your router, then do so, and set pihole as your DNS server in the DHCP settings of the router (not the WAN/Internet settings). Otherwise, you have to disable DHCP on your router entirely, and enable it on pihole so it is the one assigning IPs at which point you'll get all your local names showing up in pihole as you expect.