Mr.PlanB Logo

    Newsletter

    Subscribe our newsletter

    Get new infrastructure guides, comparison reports, and migration notes in your inbox.

    Infrastructure notes, guides, and new tools. Unsubscribe anytime.

    Back to Blog
    DNS
    Pi-hole
    Unbound
    VPN
    Home Lab
    Privacy

    Redundant DNS at Home With Pi-hole, Unbound, Keepalived and a VPN

    November 17, 2025
    10 min read

    If you're tinkering with your home network and wondering whether a solid DNS setup is worth the effort, the answer is yes, and it can also be a lot of fun. One user recently shared their full-scale home network build around redundancy, privacy and VPN integration. I walked through what they did and what you can take away from it, whether you're a hardcore home-lab enthusiast or just someone looking to make their DNS more resilient.

    What the setup looks like

    Here is a quick overview of the architecture. A router (in this case a Ubiquiti) acts as the primary DNS front for all clients. Two (or more) servers run Pi-hole + Unbound on small form-factor hardware (Raspberry Pis), with one "active" and one "standby".

    DNS is set to recursive (via Unbound), meaning the servers go straight to root DNS servers instead of relying purely on upstream resolvers. A floating (virtual) IP via Keepalived means that when one server fails, the other takes over automatically.

    All home traffic is routed through a VPN (in this case ProtonVPN), so even those root DNS lookups are anonymised from the ISP. No caching happens at the Pi-hole level; they rely entirely on Unbound's cache warming and recursion. Local DNS entries are still handled (via the router and local DNS), so internal devices remain accessible even if the DNS cluster goes wonky.

    This is essentially a mini enterprise-level DNS stack sitting in someone's home, and it's surprisingly attainable.

    Why do this at home?

    You might ask whether this is overkill for a home network. Fair question. It depends on how much you care about reliability, privacy and control, and here is what you get for the effort.

    Reliability and redundancy

    When your DNS is down, nothing works. Treating it as a mission-critical part of your infrastructure (like you would in a small business) makes total sense if you have devices working remotely or important home services. Using Keepalived + Pi-hole means that if one node fails, the other takes over without clients noticing.

    Privacy and trust

    By running Unbound recursively, you reduce reliance on third-party DNS resolvers and avoid some of the "upstream" tracking issues. The user's twist of routing all DNS traffic through the VPN adds another layer, so even root server queries aren't exposed to the ISP.

    Control and insights

    You get full visibility into what devices are resolving, blocking of ads and trackers (via Pi-hole), and custom local DNS entries for home lab appliances. If you're already running a lab or migrating workloads, this gives you tight control over DNS behavior.

    Future-proofing

    As more devices come in (IoT, remote workers, Kubernetes clusters, backups), you'll want DNS that just works. A fallback DNS system makes your home network more resilient.

    The mechanics: how it works

    Here is the "how" in plain terms.

    Unbound as recursive resolver

    Instead of pointing Pi-hole to an upstream like Google or Cloudflare, Unbound queries root servers directly on behalf of your network. You're less dependent on one external provider, and privacy and performance can improve. Many tutorials show how to configure Unbound for this purpose.

    Pi-hole as DNS filter + stats engine

    Pi-hole blocks unwanted domains (ads, trackers) and is your network's DNS entry point. In this setup it doesn't do much caching, which is left to Unbound, and that keeps the architecture clean.

    Keepalived + virtual IP for failover

    Both Pi-hole/Unbound nodes share a virtual IP address on the local network, and the router hands out that virtual IP as the DNS server. If the master node fails or is unreachable, Keepalived moves the virtual IP to the secondary node automatically. Clients don't care; they still hit the same IP.

    VPN routing for added privacy

    All DNS traffic (and in this case, all home network traffic) is routed via a VPN service. When Unbound reaches out to root servers, it does so through the encrypted tunnel, which prevents your ISP from passively observing or interfering.

    Local DNS entries and fallback path

    The router itself handles the local DNS entries (so you can reach, say, nas.home or k8s.lab) and acts as a fail-safe: if the DNS cluster goes down completely, you still have some basic resolution, at least internally.

    What to watch out for (and how to keep it solid)

    Doing this well means knowing the trade-offs and pitfalls.

    Small hardware like a Raspberry Pi works, but you'll still want reliable power, network connectivity and cooling.

    The router is a single dependency. Even with two DNS nodes, your clients might still suffer if the router is down, and the user admitted "yes, my router is a single point of failure".

    Failover needs testing and maintenance. Pull the plug on one node and see if the other picks up the virtual IP; several users noted caveats in real-world failover behaviour.

    If you run multiple Pi-hole instances, you'll want to keep their blocklists and configs in sync. Tools like Nebula-sync (or older ones like Gravity-Sync) help.

    Weigh complexity against benefit. For a typical home with a few devices, a single Pi-hole instance with a default upstream may be fine, but if you have remote workers, self-hosted services or labs, the extra effort pays off.

    Keep up your security hygiene. When you're exposing more infrastructure (VPN, DNS, self-hosted services), make sure you've locked down access, kept software up to date and monitored logs.

    How you could adapt this for your scenario at Catalogic

    If you work in backup/migration + Kubernetes and create AI/ChatGPT content, you probably already value reliability and control, and this DNS stack fits that context in a few ways.

    For a home office and remote dev work, use the redundant DNS setup on your team's home networks so they don't get disrupted if one node fails. For lab infrastructure, if you spin up Kubernetes clusters at home or test backup/migration workflows, local DNS resolution + visibility is a big plus.

    For content creation, you could write about or demonstrate how your DNS stack supports privacy, remote work reliability and hybrid cloud/homelab configurations, which is good material for an AI/ChatGPT audience. And if you're helping clients with backup/migration, you could show how DNS resiliency is a foundational part of modern infrastructure (even at home) and how it scales to enterprise.

    Final word

    This setup is not for everyone. If you only have a handful of devices and don't care about DNS failures, you'll survive with a simple setup. If you host services, work remotely, value privacy, or don't want "it just went offline" surprises, then investing in redundant DNS makes sense.

    It's also a cool project. You learn about recursion, failover and VPN routing, and you get a close look at how DNS underpins everything online. For folks who like tinkering, it's very satisfying.