PowerDNS

From Wikipedia, the free encyclopedia
Jump to: navigation, search
PowerDNS Server
Official PowerDNS logo 250 pixels.png
Original author(s) PowerDNS.COM BV
Developer(s) PowerDNS Community, Bert Hubert
Stable release 3.3.1 / December 17, 2013 (2013-12-17)
Written in C++
Operating system Unix-like
Platform Cross-platform
Type DNS server
License GNU General Public License v2
Website www.powerdns.com
PowerDNS Recursor
Original author(s) PowerDNS.COM BV
Developer(s) PowerDNS Community, Bert Hubert
Stable release 3.5.3 / September 17, 2013 (2013-09-17)
Written in C++
Operating system Unix-like
Platform Cross-platform
Type DNS server
License GNU General Public License v2
Website www.powerdns.com

PowerDNS is a DNS server, 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 and load balancing/failover algorithms. A DNS recursor is also included as a separate program.

PowerDNS is a product of the Dutch company PowerDNS.COM BV, with numerous contributions from the open source community. The principal author is Bert Hubert.

Features[edit]

PowerDNS Authoritative Server (pdns_server) consists of a single core, and multiple dynamically loadable backends that 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, including PowerAdmin, PDNSOps, PowerDNS on rails and JPower Admin and even a drupal module called PowerAdmin.

DNSSEC[edit]

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.

Recursor[edit]

PowerDNS Recursor (pdns_recursor[1]) is a resolving DNS server, that runs as a separate process. The authoritative pdns_server can be configured to proxy recursive queries to the recursor, and optionally overlay authoritative zone data.

This part of PowerDNS is single threaded, but is written as if it were multi-threaded, by the use of Boost and the MTasker library,[2] 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.

As of 2007, the Recursor is used by several of the largest Internet providers of the world, including AOL, Shaw Cable and Neuf Cegetel.

As of version 3.3, there is no support for DNSSEC validation in the recursor.

PowerDNS and Wikimedia[edit]

As of early 2005, PowerDNS, in combination with the bind and geo backends, is used by Wikimedia to handle all DNS traffic. By using the geo backend, incoming clients can be directed to the nearest Wikipedia server (based on their geographic locations). This facility provides an effective way of load balancing and it reduces response times for the clients.

See also[edit]

References[edit]

External links[edit]