PowerDNS explained

PowerDNS Server
Author:PowerDNS.com B.V.
Developer:PowerDNS Community, Bert Hubert
Latest Release Version:4.9.1
Latest Release Date:[1]
Operating System:Unix-like
Programming Language:C++
Genre:DNS server
License:GNU General Public License v2
PowerDNS Recursor
Author:PowerDNS.com B.V.
Developer:PowerDNS Community, Bert Hubert
Latest Release Version:5.1.1
Latest Release Date:[2]
Operating System:Unix-like
Programming Language:C++
Genre:DNS server
License:GNU General Public License v2
PowerDNS DNSdist
Author:PowerDNS.com B.V.
Developer:PowerDNS Community, Bert Hubert
Latest Release Version:1.9.6
Latest Release Date:[3]
Operating System:Unix-like
Programming Language:C++
Genre:DNS server
License:GNU General Public License v2

PowerDNS is a DNS server program, written in C++ and licensed under the GPL. It runs on most Unix derivatives. PowerDNS features a large number of different backends ranging from simple BIND style zonefiles to relational databases[4] and load balancing/failover algorithms. A DNS recursor is provided as a separate program.

History

PowerDNS development began in 1999 and was originally a commercial proprietary product. In November 2002, the source code was made public under the open-source GPL v2 license.[5] [6]

Features

PowerDNS Authoritative Server (pdns_server) consists of a general purpose authoritative server, and multiple dynamically loadable backends that both run multi-threaded. The core handles all packet processing and DNS intelligence, while one or more backends deliver DNS records using arbitrary storage methods.

Zone transfers and update notifications are supported, and the processes can run unprivileged and chrooted. Various caches are maintained to speed up query processing. Run-time control is available through the pdns_control command, which allows reloading of separate zones, cache purges, zone notifications and dumps statistics in Multi Router Traffic Grapher / rrdtool format. Realtime information can also be obtained through the optional built-in web server.

There are many independent projects to create management interfaces for PowerDNS.

DNSSEC

The PowerDNS Authoritative Server supports DNSSEC as of version 3.0. While pre-signed zones can be served, it is also possible to perform online signing & key management. This has the upside of being relatively easy, but the downside that the cryptographic keying material is present on the servers itself (which is also true of any HTTPS server when not used with a HSM for example).

Recursor

PowerDNS Recursor (pdns_recursor[7]) is a resolving DNS server, that runs as a separate process.

This part of PowerDNS uses a combination of native threads and user-space threads, through the use of Boost and the MTasker library,[8] which is a simple cooperative multitasking library. It is also available as a standalone package.

It does not have to run a pdns_server process as a gatekeeper for pdns_recursor, if the goal is simply to provide caching/recursing/resolving nameservice as running pdns_recursor on its own is even more efficient than behind the authoritative component.

Support for DNSSEC validation was added to the pdns_recursor in version 4.0.

DNSdist

PowerDNS DNSdist (dnsdist[9]) is a caching DNS proxy, with many features including:

DNSdist is available as a standalone package, and can be deployed with PowerDNS Authoritative Server or Recursor, or any other third-party DNS server.

See also

Notes and References

  1. Web site: Changelogs for Authoritative Server 4.9.x. 28 May 2024.
  2. Web site: Changelogs for Recursor 5.1.x. 2024-07-23. 2024-07-23.
  3. Web site: Changelogs for DNSdist 1.9.6. 2024-07-16. 2024-07-16.
  4. Web site: . 27 July 2019 . Christophe . Jeannerot . 21 October 2016 . Azylis dot net . fr . Nous allons utiliser POWERDNS avec un stockage des tables DNS dans une base de données MARIADB. . https://web.archive.org/web/20190727161551/http://technique.azylis.net/powerdns/ . 27 July 2019 . dmy-all .
  5. Book: Mens , Jan-Piet . Alternative DNS Servers: Choice and Deployment, and Optional SQL/LDAP Back-Ends (Paperback) . UIT Cambridge Ltd. . 2008 . 114 . 978-0-9544529-9-5.
  6. Web site: About . n.d. . PowerDNS . PowerDNS.COM BV . 24 January 2019 . "PowerDNS was launched in 1999"; "Originally closed source"; "In 2002, all PowerDNS software was released as open source" .
  7. Web site: PowerDNS Recursor . Doc.powerdns.com . 2014-05-11.
  8. http://ds9a.nl/mtasker/ MTasker
  9. Web site: PowerDNS DNSdist . dnsdist.org . 2023-05-11.