No IPv6 DNS address

We do not have yet established that different versions of dnsmasq are causing your issue.
And indeed my findings do not suggest that this is the case.

As promised, I have reconstructed your situation in my network by disabling IPv6 support as well as stopping DHCPv6 and distribution of a ULA prefix.

I can confirm that this will prompt the behaviour you are seeing on your network.
As expected, Pi-hole won't be able to hand out a DHCPv6 address range in absence of any IPv6 prefix, resulting in the same log message you are seeing as well:

dnsmasq-dhcp[1749]: no address range available for DHCPv6 request via wlan0

I can also confirm that Pi-hole v4 and Beta 5.0 exhibit the same, identical behaviour in this regard, as demonstrated by the corresponding logs:

router provides no ULA prefix, IPv6 disabled

Pi-hole is prepared to advertise its features via eth0, but unaware of an IPv6 prefix and fails to construct a DHCPv6 address range, both for v4 and Beta 5.0. Note that Pi-hole also tries to mitigate this by actively probing for a router (RTR-SOLICIT), yet still receives no prefix.

Pi-hole v4

dnsmasq[27212]: started, version pi-hole-2.80 cachesize 10000
dnsmasq[27212]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dumpfile
dnsmasq-dhcp[27212]: DHCP, IP range 192.168.0.201 -- 192.168.0.240, lease time 1d
dnsmasq-dhcp[27212]: DHCPv6, IP range ::100 -- ::1ff, lease time 1d, template for eth0
dnsmasq-dhcp[27212]: DHCPv4-derived IPv6 names on eth0
dnsmasq-dhcp[27212]: router advertisement on eth0
dnsmasq[27212]: using local addresses only for domain use-application-dns.net
dnsmasq-dhcp[27212]: no address range available for DHCPv6 request via eth0
dnsmasq-dhcp[27212]: RTR-SOLICIT(eth0) b8:27:ef:ba:de:da
dnsmasq-dhcp[27212]: no address range available for DHCPv6 request via eth0

Pi-hole Beta 5.0

dnsmasq[1749]: started, version pi-hole-2.81 cachesize 10000
dnsmasq[1749]: compile time options: IPv6 GNU-getopt no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dumpfile
dnsmasq-dhcp[1749]: DHCP, IP range 192.168.0.241 -- 192.168.0.251, lease time 1d
dnsmasq-dhcp[1749]: DHCPv6, IP range ::200 -- ::2ff, lease time 1d, template for wlan0
dnsmasq-dhcp[1749]: DHCPv4-derived IPv6 names on wlan0
dnsmasq-dhcp[1749]: router advertisement on wlan0
dnsmasq-dhcp[1749]: IPv6 router advertisement enabled
dnsmasq[1749]: using only locally-known addresses for domain use-application-dns.net
dnsmasq-dhcp[1749]: no address range available for DHCPv6 request via wlan0
dnsmasq-dhcp[1749]: RTR-SOLICIT(wlan0) b8:27:ef:ba:de:da
dnsmasq-dhcp[1749]: no address range available for DHCPv6 request via wlan0
router provides ULA prefix

Pi-hole is aware of fd00:: prefix and constructs its DHCPv6 range accordingly, both for v4 and Beta 5.0.

Pi-hole v4

dnsmasq[26288]: started, version pi-hole-2.80 cachesize 10000
dnsmasq[26288]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dumpfile
dnsmasq-dhcp[26288]: DHCP, IP range 192.168.0.201 -- 192.168.0.240, lease time 1d
dnsmasq-dhcp[26288]: DHCPv6, IP range ::100 -- ::1ff, lease time 1d, template for eth0
dnsmasq-dhcp[26288]: DHCPv4-derived IPv6 names on eth0
dnsmasq-dhcp[26288]: router advertisement on eth0
dnsmasq-dhcp[26288]: DHCPv6, IP range fd00::100 -- fd00::1ff, lease time 1d, constructed for eth0
dnsmasq-dhcp[26288]: DHCPv4-derived IPv6 names on fd00::, constructed for eth0
dnsmasq-dhcp[26288]: router advertisement on fd00::, constructed for eth0
dnsmasq-dhcp[26288]: RTR-ADVERT(eth0) fd00::
dnsmasq[26288]: using local addresses only for domain use-application-dns.net

Pi-hole Beta 5.0

dnsmasq[1958]: started, version pi-hole-2.81 cachesize 10000
dnsmasq[1958]: compile time options: IPv6 GNU-getopt no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dumpfile
dnsmasq-dhcp[1958]: DHCP, IP range 192.168.0.241 -- 192.168.0.251, lease time 1d
dnsmasq-dhcp[1958]: DHCPv6, IP range ::200 -- ::2ff, lease time 1d, template for wlan0
dnsmasq-dhcp[1958]: DHCPv4-derived IPv6 names on wlan0
dnsmasq-dhcp[1958]: router advertisement on wlan0
dnsmasq-dhcp[1958]: DHCPv6, IP range fd00::200 -- fd00::2ff, lease time 1d, constructed for wlan0
dnsmasq-dhcp[1958]: DHCPv4-derived IPv6 names on fd00::, constructed for wlan0
dnsmasq-dhcp[1958]: router advertisement on fd00::, constructed for wlan0
dnsmasq-dhcp[1958]: RTR-ADVERT(wlan0) fd00::
dnsmasq[1958]: using only locally-known addresses for domain use-application-dns.net

As stated before, let me also emphasize that this behaviour is to be expected:

So your observation indicates that your Pi-hole is unable to solicit an IPv6 prefix from your network.
That observation is fully supported by my test results, with consistent behaviour for Pi-hole v4 as well as Beta 5.0.

This leaves us with two potential root causes for your problem:
a) your router has stopped distributing an IPv6 prefix
b) something prevents Pi-hole from receiving an IPv6 prefix

As you have excluded your router's recent firmware update from being a cause, I would recommend to take a closer look at you router's IPv6 settings for addressing a).

As for b):
RAs are only visible to machines in the same network segment.
Did you perhaps recently change something in your network infrastructure, like introducing a new modem or an additional router, access point or switch? Or did you perhaps relocate your Pi-hole machine so it now uses a different connection than before?

1 Like