Every month or so all my devices lose internet and the only way to connect them all back is to disconnect them from the DNS server that Pihole is running.
I set my Pihole to have a static IP but for some reason after around a month or maybe longer, it just fails. This has happened 4 times over the last while and the only fix is to essentially uninstall everything on my Pihole, disable it, and then reconfigure it from scratch again.
I’m not sure what’s going on so any help would be appreciated.
I had similar issues when SLAAC wasn't properly configured for my network. Every however many days my ISP forced a modem reboot and if the delegated prefix happened to change I'd start having pihole problems. I finally tracked that down, made sure SLAAC was working everywhere and assigned my pihole container a SLAAC token so its address relative to everything else on the network didn't change and I'm good to go. These days the pihole is always …253 and ::253.
For those that don't know SLAAC is the "new DHCP" IPv6, I had to remember what it was.
Yeah, SLAAC is stateless autoconfig for ipv6. It's a little like DHCP in that the client gets an address automatically but it's handled by the client machine rather than having a DHCP server running.
SLAAC capable machines give themselves an address based on the ipv6 prefix advertised on the network then do a duplicate address check with all of the other devices to make sure they're unique and away you go. There's no central tracking of all dynamic addresses on the network segment, hence the stateless part of the name, but you can poll them with a neighbor request or broadcast ping when you want to see what's there. The benefit is that basically everything you plug into your network probably supports SLAAC out of the box without needing to run server software anywhere to delegate addresses so new v6 clients just work without specific configuration.
If the client supports it you can specify a SLAAC token that the machine will combine with the advertised network prefix rather than generating its own, which is how I have pihole showing up at ::253 as well as its DHCPv4 assigned …253. It's a convenient configuration.
I'd ignored SLAAC the first time around and given everything static v6 addresses without realizing that my provider would periodically change my prefix. That was fun to untangle, things worked if they made v4 requests but failed over v6 whenever my prefix changed so the failure mode appeared to be somewhat random depending on whether the service or application supported dual stack and was trying to connect over broken v6. Fun times.
How do you tell if your ISP has that?
Check your router and see if you received an IPv6 delegated prefix along with your v6 address. Most of the major national home Internet providers in the US should support it now - if your provider supports ipv6 they're probably giving you a delegated prefix.
Usually you just enable ipv6 SLAAC + RA or "auto configuration" or something similar on the router and you're done there.
Once that's working your router should broadcast route advertisements, turn "auto configuration"/SLAAC + RA/etc on on a client and see if it gets an ipv6 address. You use this instead of DHCPv6 so don't mistake the two.
Fiddle with the options after that, if a client supports a token you can give it something like "::DEAD:BEEF" to set its address to prefix::DEAD:BEEF.
Beyond that Google "ipv6 SLAAC" and read about it and then read any ipv6 documentation for your software/devices.
Ooo ok, yea, I already have a delegated prefix from spectrum. I'll look into SLAAC as this is the first time I saw that. Thanks.