Why do I only see my router's IP address instead of individual devices in the Top Clients section and Query Log?

A nice feature of Pi-hole is that you can see which network devices are sending out the most DNS queries. For every device that is using Pi-hole as their DNS server, you can also see which DNS queries each one has made.

But depending on a few things, you may only see a single host in your Top Clients section, which is not as useful.

This isn't detrimental to the performance of your Pi-hole; it just provides you with less insight into what's happening on your network.

So why does Pi-hole only show my router's IP address?

This behavior is usually the result of how your router handles DHCP and DNS.

1. Some routers force clients to use the router as their DNS server

Even if you set Pi-hole as the only DNS server in your router's settings, the router still forces clients to use it as their primary DNS resolver.

Once those queries arrive at the router, it forwards the requests to the Pi-hole. Since the queries are all coming from one place, Pi-hole only sees the router as the origin of all DNS requests. So the traffic flow looks something like this:

Multiple network clients > Router (acting as the primary DNS server) > Pi-hole (acting as an upstream DNS server)

How do I prevent this behavior?

Sometimes you cannot

Even if you set everything correctly, you may still not be able to change this behavior. There may be an option in your router to disable this behavior, but some routers are very limited in their settings. Try to look for a place to set the DNS server via DHCP options or under LAN settings.

Use Pi-hole as your network DHCP server

If you want the functionality of having the dashboard show each individual client, Pi-hole comes with a built-in DHCP server. Simply disable your router's DHCP server and turn Pi-hole's on.

3 Likes

When the router's DNS cannot be deactivated, even if you are using pi-hole's DHCP, you still get in effect two DNS servers (the router, which then directs DNS requests to pi-hole, and the pi-hole itself). To fix this: