PowerDNS Authoritative Nameserver
The PowerDNS Authoritative Server is a versatile nameserver which supports a large number of backends. These backends can either be plain zone files or be more dynamic in nature.
Examples of backends include relational databases, other DNS data formats and coprocesses.
Backends
PowerDNS has the concepts of 'backends'. A backend is a datastore that the server will consult that contains DNS records (and some meta-data). The backends range from database backends (Mysql, PostgreSQL, Oracle) and Bind-zonefiles to co-processes and JSON API's. For more in-depth information, see Modules & Backends in the documentation on internals.
Multiple backends can be enabled in the configuration by using the launch
option. Each backend can be configured separetly.
Backend Capabilities
The following table describes the capabilities of the backends.
Name | Status | Native | Master | Slave | Superslave | Autoserial | DNSSEC | Disabled Data | Comments | Launch Name |
---|---|---|---|---|---|---|---|---|---|---|
BIND | Supported | Yes | Yes | Yes | Experimental | No | Yes | No | No | bind |
Geo | Beta | Partial | No | No | No | No | Yes (no key storage) | Unknown (No) | Unknown (No) | Unknown (No) |
LDAP | Unmaintained | Yes | No | No | No | No | No | Unknown (No) | Unknown (No) | Unknown |
LMDB | Supported | Yes | No | No | No | No | No | Unknown (No) | Unknown (No) | lmdb |
MySQL | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | gmysql |
Oracle | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Unknown (No) | No | oracle |
Pipe | Supported | Yes | No | No | No | No | Partial (no delegation, no key storage) | No | No | pipe |
PostgreSQL | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | gpgsql |
Random | Supported | Yes | No | No | No | No | Yes (no key storage) | No | No | random |
Remote | Supported | Yes | Yes* | Yes* | Yes* | Yes* | Yes* | Unknown (No) | Unknown(No) | remote |
SQLite 2 | Supported (not recommended) | Yes | Yes | Yes | Yes | No | No | No | No | gsqlite |
SQLite 3 | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | gsqlite3 |
TinyDNS | Experimental | Yes | Yes | No | No | No | No | Unknown (No) | Unknown (No) | tinydns |
*: Please read the backend-specific documentation.
Native, Master, Slave, Superslave
Which Mode of Operation (DNS data replication) is supported.
Autoserial
DNSSEC
Is serving DNSSEC signed data supported?
Disabled Data
Can a record be marked 'disabled' and not be served but still be in the datastore?
Comments
Are comments on records supported?