No Local Names in Dashboard - An Inconvience

Please follow the below template, it will help us to help you!

Seems that posting issues helps me resolving it faster than just searching alone. So let's try it again.
And, yes, I have searched for a solution, and will continue to do so - as well as post updates on my progress, or lack thereof as I go.

So:
I cannot seem to get Local Names to appear in the Dashboard of Pi-Hole in either of the 'Top Clients' lists.

My router is pfSense and Everything on my network is named through its DHCP and Local DNS services. And I can access everything via it's name and local domain of 'asgard', eg: Sonoff-3.asgard/

My Pi is on the .3.x network running OpenVPN client, CloudFlare DoH, DNSMasq, and Pi-Hole.
My router has two local Interfaces: 2.x and 3.x, so DNSMasq and OpenVPN both know that when either 2.x, 3.x or *.agard' is requested, it forwards those to the router at 3.1, otherwise it goes out through the VPN.

Expected Behaviour:

I'm hoping to see local names in the 'Top Clients' lists instead of their IP addresses so I can more easily identify the device - especially if there are issues like tons of requests, etc.

Actual Behaviour:

'Top Clients' lists just have IP addresses of all the local devices. Same with the Query Log.

Debug Token:

No Debug Tokens, not a failure, just not working as expected.

In Settings -> DNS: I have 'IP of your router' set to 172.27.3.1 and 'Local domain name' set to 'asgard'

In the /etc/dnsmasq.d folder, I have two conf files, one for Pi-Hole and one for CloudFlare:

Pi-Hole config has: server=/asgard/172.27.3.1
CloudFlare config has:

server=/local/172.27.3.1
server=/asgard/172.27.3.1

Pi-hole Version v4.3 Web Interface Version v4.3 FTL Version v4.3.1

Any ideas/suggestions?

Thanks!

Map the IP addresses to client names in the /etc/hosts file on the Pi.

Yipes.
So I have to duplicate all those entries from my router and keep them in sync manually all the time?
Na, I don't think so. Maybe there's another way.
I mean, what's the point of having a centralized Local DNS naming service if you have to replicate it?
Thanks for the suggestion anyway.

Should only need to be set in the hosts file of you pi as all devices using the pi-hole as DNS will then also use the hosts file

My pfSense is the local DNS, not the Pi-Hole. The Upstream DNS, CloudFlare, is for OpenVPN client.
Maybe this is not possible with my setup. Hmmm....
Thanks

Perhaps I don't understand your setup. If pfSense is your local DNS, what role does Pi-Hole play in your network?

Pi-Hole blocks Ads. That's its main purpose, right?
From the pi-hole.net website: A black hole for Internet advertisements

In addition, I don't see any configuration function in Pi-Hole to make it a Local DNS resolver. So filling the hosts file with a bunch of DNS entries seems not only redundant, but silly, as again, I thought Pi-Hole was supposed to be a Internet Ad Blocker, not a Local DNS Resolver, or even a DHCP server.

If it's an Internet Ad Blocker, why is it:
Counting "Local Only" traffic?
Why does it want to be a DHCP server?
Why do I need to set up a sudo Local DNS resolver using a Hosts file?
Why is it not using my Local DNS Resolver to find local host names for local IP addresses when I have It set to do that in the Setttings -> DNS page at the bottom?


Something is not right here, IMO. Maybe my setup is not compatible with this ideal. Maybe there are issues in Pi-Hole, or this functionality is just not available yet. I dunno. Or maybe I just don't understand why this straightforward appearing product wants to be the kitchen-sink to all things on a Local Network.

Let's work through your questions and comments.

This is because your network is providing only IP's to Pi-Hole and Pi-Hole has no way of knowing the client names to match these IP's. Pi-Hole is just receiving a steady stream of DNS requests from IP addresses. If the IP's of those clients are static, then mapping the client ID's to names in the /etc/hosts file of the Pi is one solution. Another is to have the Pi-Hole act as the DHCP server, and then it will directly obtain the names of the clients. Depending on your network configuration, neither of these may be suitable solutions.

Pi-Hole by definition is a DNS resolver running dnsmasq. It depends on upstream resolvers to provide the IP for any domain request that is not blocked by Pi-Hole or in cache. The path is as follows: Pi-Hole receives DNS request from client, checks to see if the domain is blocked. If yes, returns the NULL IP. If no, check the cache. If not there, then Pi-Hole sends the domain name to its configured upstream resolver to obtain the IP. Most commonly the upstream resolver is a third party DNS (Cloudflare, google, etc.), but this can be configured to send the DNS requests to a local DNS resolver already on your network, or to a local resolver running on the Pi itself. A popular option for a recursive resolver is unbound, installed on the Pi and configured for Pi-Hole use per this guide.

https://docs.pi-hole.net/guides/unbound/

It is an ad blocker, and acts as a DNS resolver via dnsmasq. It can be configured as a DHCP server, again using dnsmasq embedded in pihole-FTL.

This does not work with all network configurations and routers.

What upstream DNS resolver do you have configured in Pi-Hole? Have you considered routing all DNS traffic first to Pi-Hole, and have Pi-hole use your existing network DNS resolver as an upstream resolver? This may provide the results you want.

Perhaps if you can provide a sketch of your network configuration with resolvers, etc, we can help you find a setup that meets your needs.

3 Likes

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.