No IPv6 DNS address

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

Please ensure that you are running the latest version of the beta code.
Run pihole -up to update to the latest, then verify that the problem still exists before reporting it.

Problem with Beta 5.0:

I have noticed that since installing the Beta, my devices only get the PiHole's IPv4 DNS address but not its IPv6 DNS address. These values would be shown autofilled in my devices when using PiHole 4 (my service provider uses IPv6 and all my devices are correctly getting IPv6 addresses including the PiHole). The PiHole acts as my DHCP server. Everything still works, but I was curious as to why this was the case.

Can you please provide a debug token generated with

pihole -d

https://tricorder.pi-hole.net/1imwm5uroq

Thanks.

Welcome to the Pi-hole community, doncarajo. :slight_smile:

Your debug log shows your Pi-hole indeed has IPv6 connectivity and is able to receive and resolve DNS queries transported via IPv6:

*** [ DIAGNOSING ]: Name resolution (IPv6) using a random blocked domain and a known ad-serving domain
[✓] ads.youtube.com is :: via localhost (::1)
[✓] ads.youtube.com is :: via Pi-hole (2403::)
[✓] doubleclick.com is 2404:6800:4006:80b::200e via a remote, public DNS server (2001:4860:4860::8888)

So technically, your Pi-hole is fully functional for IPv4 as well as IPv6.

Note that with IPv6, your router and ISP may offer additional DNS servers, and your clients will decide autonmously which DNS servers they prefer to use.

Do you have reason to believe that some clients bypass Pi-hole via IPv6?

Hi everyone,
I encountered this issue with the IPv6 a long time ago
If you check with "ifconfig" you will probably have a different IPv6 on your eth0 compared to what you see in your WebUI-Settings-System.If that is the chase:
Here is the source for the fix on Github
but i personally removed the command where it asks to execute the "pihole -g" command.

After you insert a crontab for it to execute (i chose daily) it will update the IPv6 address from the Pi-Hole settings setupVars with the eth0 IPv6 if a change in your IPv6 occurs. Pi-Hole doesn't check and replace that by itself,it might be a good feature to add tho.

If you need guidance let me know i will help you.

Hi Bucking_Horn. I don't think clients are bypassing Pi-hole via IPv6. I was just curious as to why Pi-Hole was only providing its IPv4 address to clients to use for DNS instead of its IPv4 and IPv6 addresses (it used to do this on version 4).

Hi Spyelite. I agree that this feature should be added. However, my PiHole's IPv6 address is static (ifconfig always matches the address on the system settings).

Pi-hole's behaviour hasn't changed: It still offers its IPv6 address to its clients, but:

Ok, thanks for that!

Hi again. Just re-reading your answer and that is not the issue I am asking about. What I am asking is why Pihole 5 doesn't give out its IPv6 address to clients to choose from any more? My devices would populate their DNS fields with the PiHole's IPv4 and IPv6 addresses (as well as the router's IPv6 address as a third option - no way to easily stop this on my network despite turning off the DHCP server on the router). But since installing PiHole Beta 5, all my devices have stopped showing the PiHole's IPv6 in their list of DNS servers. Why is that?

What IPv6 methods are you using? Stateless or Stateful on the DHCP settings for Pi-hole as the DHCP server?

Stateless; the DHCP server is only used for IPv4 LAN addressing, same as in PiHole 4 (I haven't changed it).

Something has to be providing the router advertisement to tell SLAAC clients the DNS IP address.

To best solve this we need to see why IPv6. Are your clients purely IPv6 on the local network or are they dual stack. An IPv4 only DNS server is very capable of AAAA record resolution. If your clients are dual then they can query Pi-hole on IPv4, get the AAAA record for the server and then send their traffic over IPv6.

If you have IPv6 only clients, then enable RA's on the Pi-hole DHCP server and set the clients to SLAAC their IPs using the clients native OS configurations.

Hi. I have a dual stack local network and dual stack internet. All my devices autoconfigure their IPv6 addresses whether I tick the SLAAC option on the PiHole or not. The PiHole, in essence, only provides my LAN clients with their IPv4 address so that I can add them to the hosts file so I know which ones they are. The pihole also gives itself an IPv6 address. The question I've had all along was:

In PiHole 4, when the clients connected, their DNS servers were populated with:

PiHole IPv4 address
PiHole IPv6 address
Router IPv6 address (cannot turn this off but points back at Pihole anyway)

Now, since installing PiHole 5 Beta, my clients populate their DNS fields with:

PiHole IPv4 address
Router IPv6 address

I was just wondering why this is?

Because you need to enable router advertisements to have Pi-hole announce itself as a DNS server.

@DL6ER I know RA's got some attention in dnsmasq 2.81, possibly the "Do not send RA's on interfaces without Link-Locals"?

So...what do I do? I didn't change anything.

What does your interface IP look like?

sudo ip -6 address list (Redact the GUA if you want, I'm checking for the LL/ULA addresses.)

Is the RA checkbox ticked in Advanced DHCP Leases?

pi@raspberrypi4:~ $ sudo ip -6 address list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2403:5800:7101:f00:xxxx:xxxx:xxxx:xxxx/128 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::866b:644a:914d:ff0d/64 scope link
valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 100
inet6 fe80::ef54:cc21:a481:9065/64 scope link stable-privacy
valid_lft forever preferred_lft forever

RA box is ticked.

What does your /etc/dnsmasq.d/02-pihole-dhcp.conf look like?