Skip Navigation

I’m about to throw my entire Pihole out the window

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.

151 comments
  • 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 set the static IP for the pi? From your router's DHCP server, or from pi's network configuration?

    • I set it directly on the computer hosting Pi since my router doesn’t let me log into it.

      • Do you know if your router is acting as a DHCP server? Most do, and if you’ve set up the Pi as one without logging in and turning off your router’s, you’ve set up two conflicting DHCP servers, and that would explain your issues.

      • There is a chance that the dhcp server on your router actually hand out the same ip address to other client, causing the pi to become inaccessible due to ip address conflict. Assigning the static ip address from the router will prevent this issue.

        If your router is from your ISP, maybe you can ask them to give you access to the lan configuration options. ISP routers usually have two accounts, the full admin account which usually aren't handed out to their subscribers, and a user account that would let their subscriber configure various lan settings.

      • I have a 5G CGNAT ISP router, but distanced myself from it by adding my own full access router connected via a LAN cable to my ISP one and using its wifi instead of the ISP's wifi. This prevents the ISP router from stealing IP addresses (it can literally do whatever it wants to its IP ranges as long as it feeds internet through the LAN cable), and gives me full control over local network IP addresses (as I also am not provided any login to the ISP router).

        Might be an extra NAT, but that kinda becomes moot being behind CGNAT that can't open external ports anyway.

151 comments