Top Client / Queries show IPv6 ULA instead of hostname

Did you tell Pi-hole to conditionally forward PTR queries for those ULAs to your router? If you only filled out the settings page on the dashboard, the ULAs won't be included since Pi-hole will really only conditionally forward queries for the specific (probably IPv4) network you entered there.

To set up conditional forwarding for the ULAs as well (or generally for other networks) you need to create a custom config file. Something specific to each of your subnets or prefixes like this:

$ cat /etc/dnsmasq.d/conditional_forwarding.conf
# Additional networks for Pi-hole's conditional forwarding
server=/0.8.e.f.ip6.arpa/10.0.0.1
server=/7.6.6.1.f.c.e.f.4.a.d.f.ip6.arpa/10.0.0.1

The first pattern is the domain you want to match, the second is pattern is the IP address of the server that should recieve the DNS query, i.e. your router.

Alternatively, server=/arpa/10.0.0.1 will universally match all PTR queries for any prefix or subnet (and more that's probably handled by your router anyways).

You might have the same problem that I have with my installation:

TLDR: There won't be any more attempts after the first one to associate a hostame with any given IPv6 address by default. When there is no immediate mapping of the IPv6 address to a known host in the network table, Pi-hole has no way to know what hostname to use as a replacement from the network table and there won't be any update after that. You have to change this behavior manually by adding REFRESH_HOSTNAMES=ALL to /etc/pihole/pihole-FTL.conf in order to have Pi-hole try more than once to update the hostname.


I guess you mean Pi-hole's DHCP server here, not DNS, otherwise this makes little sense :face_with_monocle: .

1 Like