How do I mitigate my ISP changing my IPv6 address?

So as we all know ISPs will change your IPv6 address whenever they feel like it.

This makes my PiHole stop working over IPv6.

I cannot disable IPv6 on my router. My router has no option to enable ULA. My router does not allow me to use the Piholes link local IPv6 address as DNS (I get an error when I try to do this in my router).

I came across this post that seems to be some kind of script to automatically change the value in setupVars.conf if the IP changes:

But my question is that even if I did this wouldn't my router still have the wrong IPv6 address set for DNS? Given my hardware is there any way to make this all work automatically? Or am I just stuck with this problem?

Technically, your ISP just assigns an IPv6 prefix to your router, for it to use within your local network. Of course, a changing prefix will result in changed IPv6 addresses, though it would depend on the router's as well as the client's configuration whether the interface identifier would change as well or stay at its previous value.

Note that independent from you ISP, a client's configuration may prompt assignment of a new interface identifier on certain events or on a regular basis (e.g. when Privacy Extensions are enabled - which they are and should be on most current OSs).

That's a most important question.

Unfortunately, I cannot help you very much further, as the answer would very much depend on your router's make and model (and firmware, possibly).

You'd have to find a way to configure your router to advertise your Pi-hole host machine's IPv6 as DNS server instead of its own.

You'd have to consult your router's documentation sources on further details for its IPv6 configuration options.

If your router doesn't support configuring IPv6 DNS, you could consider disabling IPv6 altogether.

If your router doesn't support that either, your clients will bypass Pi-hole via IPv6.

It may be worth investigating this in detail.
Your router may insist on knowing the full IPv6 address, without any of the abbreviated notations (e.g.. :: should be expanded, and each group should consist of four hex digits).

And of course, link-local addreses are only visible on the same network segment (or link ). So any L3 switches or VLANs, and devices connected through those won't be able to communicate with Pi-hole that way. That could also apply to your router.

I have no VLANs or L3 switches in my network so Im good there.

I can set the IPv6 DNS in my router manually just fine, but if the PiHoles IPv6 changed there would be no way to dynamically updated the router as far as I can tell.

Unfortunately there is no DDWRT firmware for my router.

I did try setting the IPv6 to the link local address without any abbreviations but it still doesnt work. The router says I cannot set IPv6 to a unicast address.

So I dont think theres a way to automate this unfortunately.

That's somewhat strange, as any IPv6 address assigned to one of your Pi-hole host's network interfaces would be a unicast address - a DNS server's address would have to be a unicast address.

Are you sure you are configuring your router's IPV6 DNS server?

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.