PowerDNS
From Wikipedia, the free encyclopedia
PowerDNS | |
Latest release: | 2.9.20 / March 15, 2006 |
---|---|
Use: | DNS server |
License: | GNU General Public License |
Website: | www.powerdns.com |
PowerDNS is a versatile DNS server, written in C++ and licensed under the GPL. It runs on most Unix derivatives and on Microsoft Windows. 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. Anecdotal evidence suggests that around 10% of all world domains are powered by this nameserver, 49% of the German .DE zone and 7% of the .NET zone.
Contents |
[edit] Features
PowerDNS 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. Runtime 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 format. Realtime information can also be obtained through the optional built-in web server.
The pdns recursor is a resolving DNS server, that runs as a separate process. The main pdns server can be configured to proxy recursive queries to the recursor, and optionally overlay authoritative zone data.
[edit] Backends
- bind and bind2
- Reads zone data from regular BIND style zonefiles
- db2
- Queries an IBM_DB2 database server
- geo
- Allows different answers to DNS queries coming from different IP address ranges or based on the geographic location
- gmysql
- Supports MySQL databases
- gpgsql
- Supports PostgreSQL databases
- goracle
- Supports Oracle databases
- gsqlite
- Supports SQLite databases
- ldap
- Fetches zone data from a hierarchical LDAP directory
- odbc
- Retrieves zone information from a database supported by the ODBC library
- opendbx
- A database backend optimized for speed, load balancing and fail-over based on the OpenDBX library. It currently supports MySQL, PostgreSQL, SQLite, Firebird, Interbase, SQL Server and Sybase ASE
- pipe
- Asks a separate process for answers
- random
- Returns random data (for testing only)
- xdb
- Can talk to Tridge's Trivial Database or to regular *db tables on disk. This backend provides the highest performance
[edit] PowerDNS and Wikimedia
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 geobackend, incoming clients can be redirected to the nearest Wikipedia server (based on their geographic location). This facility provides an effective way of load balancing and it reduces response times for the clients.