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.
Multiple backends can be enabled in the configuration by using the launch
option. Each backend can be configured separately.
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 |
Generic MySQL | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | gmysql |
Generic ODBC | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | godbc |
Generic Oracle | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | goracle |
Generic PostgreSQL | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | gpgsql |
Generic SQLite 3 3 | Supported | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | gsqlite3 |
GeoIP | Supported | Yes | No | No | No | No | Yes | No | No | geoip |
LDAP | Supported | Yes | No | No | No | No | No | No | No | ldap |
MyDNS | Supported | Yes | No | No | No | No | No | No | No | mydns |
OpenDBX | Supported | Yes | Yes | Yes | Yes | No | No | No | No | opendbx |
Oracle | Supported | Yes | Yes | Yes | Yes | Yes | Yes | No | No | oracle |
Pipe | Supported | Yes | No | No | No | No | Partial (no delegation, no key storage) | No | No | pipe |
Random | Supported | Yes | No | No | No | No | Yes (no key storage) | No | No | random |
Remote | Supported | Yes | Yes* | Yes* | Yes* | Yes* | Yes* | No | No | remote |
TinyDNS | Experimental | Yes | Yes | No | No | No | No | No | No | tinydns |
*: Please read the backend-specific documentation.
Native, Master, Slave, Superslave
Which Mode of Operation (DNS data replication) is supported.
Autoserial
Can the backend automatically generate a SOA serial
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?