kudurru

Move over to kudurru

Keep your DNS rules.
Choose your next server.

Coming from Pi-hole, AdGuard Home or Technitium? Compare what carries over, check the differences, then rebuild your configuration alongside the server you already run.

Coming from

Pi-hole

Keep the lists and local names you trust. Add authoritative zones, encrypted DNS listeners and Kubernetes CRDs.

Groups become client groups and policies. Adlists become block lists; local DNS records become zone records.

Before you switch. Move DHCP to your router first if Pi-hole serves it. Translate regex extensions and reserve device addresses.

Move from Pi-hole

Coming from

AdGuard Home

Bring your DNS filters, client rules and encrypted upstreams into a server with explicit object ownership and shared Kubernetes configuration.

Filters become block and allow lists. Persistent clients become client groups; per-client settings become policies.

Before you switch. Review rule modifiers, global exceptions and DNS rewrites. AdGuard's full filtering syntax is not supported in v0.1.0.

Move from AdGuard Home

Coming from

Technitium

Move primary zones, conditional forwarding and blocking to a Go binary with a dashboard, CLI and Kubernetes API objects.

Export primary zones as standard zone files. Recreate conditional forwarders, access controls and blocking policies explicitly.

Before you switch. Inventory DNS Apps, recursive resolution, DNSSEC and secondary zones. These need a separate service or a later kudurru release.

Move from Technitium

Feature comparison

Know what changes.

kudurru v0.1.0 combines authoritative DNS, forwarding, filtering and a dashboard. Check the features you depend on before moving a working network.

Built-in capabilities unless stated otherwise. Comparison reviewed October 15, 2026; other projects evolve independently.
FeaturePi-holeAdGuard HomeTechnitiumkudurru v0.1.0
DNS filteringHosts, domains and regex; group assignmentsAdblock DNS rules, allowlists and client settingsAllowed/blocked zones and lists; Advanced Blocking appHosts, domains, adblock subset and RE2; client-group policies
Local names and zonesLocal DNS and CNAME recordsDNS rewritesPrimary, secondary, stub, forwarder and catalog zonesPrimary and forward zones; BIND import/export; AXFR/IXFR out
ResolutionForwards to upstreams; recursion with a separate resolverForwards to upstreamsFull recursive resolver or forwardingForwards to named upstream groups; conditional forwarding
DNSSECOptional validationRequests DNSSEC data from upstreamsValidation and authoritative signingNo validation or signing in v0.1.0
DHCPBuilt inBuilt inBuilt inUse your router or a separate DHCP server
Encrypted DNS listenersUse a separate proxyDoT, DoH and DoQDoT, DoH and DoQDoT, DoH, DoQ and DoH3
Multiple serversSeparate instances; external sync toolsSeparate instances; external sync toolsBuilt-in clusteringShared Kubernetes store; Compose HA uses shared object files
Kubernetes configurationContainer configuration; no native CRDsContainer configuration; no native CRDsContainer configuration; no native CRDsNative CRDs, Helm and external-dns webhook
Identity and accessLocal dashboard loginLocal usersRoles, OIDC and LDAPLocal users; OIDC and scoped roles with a key
Migration inputTeleporter backupConfiguration and working directoryConfiguration backup and zone exportManual configuration; standard BIND zone import only
LicenseOpen source; component licenses applyGPL-3.0GPL-3.0Source available; eligible community use free, commercial production by agreement

Sources: Pi-hole · AdGuard Home · Technitium · kudurru changelog. Detailed mappings and limitations in the docs.

Without a key, kudurru supports one node, the default policy and the built-in administrator. A free key for eligible community use unlocks additional policies and up to three nodes. Business and government production use needs a commercial agreement. Review licensing and request a key

The migration path

Back up. Compare. Switch.

  1. Build alongside your current server

    Back up the source configuration. Give kudurru a separate address, copy lists and local names, and recreate client rules using your product's guide above. Product backup archives cannot be imported directly.

  2. Test the behavior you rely on

    Check allowed and blocked names, local records, reverse lookups and each client group. Use real DNS queries as well as the dashboard's policy explanations.

  3. Switch a client, then the network

    Try one device first. Update DHCP and IPv6 DNS advertisements after it passes. Keep the original server and backup ready until leases and caches have expired.