PowerDNS is a DNS server suite that provides authoritative DNS serving, recursive resolution, and DNS load balancing in a single repository.
PowerDNS addresses the need for flexible, modular DNS infrastructure by bundling three distinct components: the Authoritative Server for hosting DNS zones, the Recursor for resolving DNS queries, and dnsdist for load balancing DNS traffic. The Authoritative Server uses a pluggable backend architecture, allowing operators to store zone data in various backends including BIND-format files, MySQL, and PostgreSQL. The tool is written in C++ and requires C++17 compiler support, along with dependencies on Boost, OpenSSL, and Lua.
Organizations should choose PowerDNS when they need a unified DNS platform that can handle authoritative serving and recursion from the same codebase, or when they require DNS load balancing capabilities. The modular design means operators can compile only the components they need and select which backends to include. The project suits environments where flexibility in data storage and feature selection matters more than a minimal footprint. The three components can be built and released separately as packages, giving operators granular control over deployment.
The project maintains active development with regular updates to its documentation and compilation guidance. The repository includes comprehensive build instructions for multiple platforms and package formats, with Docker-based build tooling available for creating distributable releases. Issue tracking is actively managed on GitHub with guidance for contributors to check existing reports before filing new ones. The project provides detailed documentation covering compilation, backend options, and changelog information through a dedicated documentation site.