I recently got a new router (Linksys Velop MX5300 with 2 nodes) which has IPv6 support. I disabled DHCP on the router and am using the pi-hole. My pi-hole instance is running on a raspberry pi 3 running buster, latest updates on everything, Cloudflare DoH, pi-hole as the DHCP server, and have Enable IPv6 support (SLAAC + RA)
enabled. However, I'm getting very erratic/broken behavior regarding DNS resolution, basically pi-hole will not be used for DNS on some devices, like my MacBook Pro running Catalina. pi.hole does not resolve (but I can access the UI with the IPv4 address of the rpi) and websites I explicitly blacklisted will load. I'm pretty sure that this is due to IPv6, my router doesn't have very much in the way of clear settings but there's a checkbox labeled IPv6 - Automatic
that I can disable which looks like it disables IPv6 altogether (https://ipv6-test.com/ will go from 'supported' to 'unsuppported' but devices still have IPv6 addresses in 'ifconfig'). I recently stumbled upon something that said to put:
enable-ra
ra-param=eth0,high,10,1200
in /etc/dnsmasq.d/05-custom-settings.conf
so I did that and things seemed all right for a couple days, but then pi-hole DNS resolution started failing again and nothing would fix it with IPv6 enabled. If I disconnect wifi then reconnect, DNS resolution will work for a couple seconds then start failing again, I assume it starts with IPv4 (works) then switches to IPv6 and starts failing. I initially setup my pi-hole on a router without IPv6, so I added the raspberry pi IPv6 address to /etc/pihole/setupVars.conf
and restarted, but that doesn't appear to have helped anything. I would really prefer to be able to use IPv6, partially because I don't trust my router settings to fully disable it and want to avoid IPv6 DNS leakage to my ISP's DNS.