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.

  • friend_of_satan@lemmy.world
    link
    fedilink
    English
    arrow-up
    38
    arrow-down
    5
    ·
    edit-2
    10 months ago

    One of your biggest problems here is what we call high availability (HA). Your critical services should be HA, which means no single points of failure (SPOF). Your DNS services have a SPOF: your one pi-hole server. For any service to be resilient, it needs to be HA. This means full redundancy for all things in the whole stack that provide the service.

    For pihole, this means running a pihole instance on two separate devices, with two separate IP addresses. Your dhcp server will send out two DNS servers with every lease. Most DNS clients will use at least two DNS servers.

    If one of the servers goes down, your other, redundant pihole server will continue serving DNS.

    This is why, contrary to other recommendations in this thread, I run pihole in docker on regular machines. If one of those machines dies, the other machine will continue serving requests, and it’s easy to launch the docker pihole on another machine and reconfigure my DNS server to hand out the new DNS server address.

    • PerogiBoi@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      10 months ago

      That’s a good idea that I hadn’t considered. I’ll see if I can get Pihole running on an old android phone I have lying around.

      Edit: I now have PiHole running on an old Pixel 3a and have decommissioned my PiHole docker container on my home server.

      • Gooey0210@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        My server and a raspberry are running adguard home

        Both have autoupdate with autoreboot. If I need to change something, connect, disconnected, everything will continue working

      • nbafantest@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        I have a google router and It allows me to enter 2 DNS servers incase the first DNS Server doesnt work.

    • Limit@lemm.ee
      link
      fedilink
      English
      arrow-up
      4
      ·
      10 months ago

      I run pihole on a proxmox cluster (lxc containers), 2 separate IPs and I setup keepalived and made the virtual IP the primary dns ip that my dhcp server hands out, pihole1 is the master and pihole2 secondary. I use gravity sync to keep both piholes in sync. Works very well and I can reboot one at a time without losing dns at all. Techno tim on YouTube has a guide on how to setup keepalived on 2 pihole servers that helped me set it up.

      • Baahb@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        10 months ago

        Yeah it is? There’s a reason your dns confutation has a backup IP address.

        • urquell@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          That is true. But a simple service like dsn doesn’t go sideways every month usually. If he gets two of these services running, he just had double the trouble.