PowerDNS Backend

Designate Configuration

Parameter Default Note
domain_type NATIVE PowerDNS Domain Type
also_notify [] List of additional IPs to send NOTIFYs to.
connection sqlite:///$pystatepath/powerdns.sqlite Database connection string
connection_debug 0 Verbosity of SQL debugging information. 0=None, 100=Everything
connection_trace False Add python stack traces to SQL as comment strings
idle_timeout 3600 timeout before idle sql connections are reaped
max_retries 10 maximum db connection retries during startup. (setting -1 implies an infinite retry count)
retry_interval 10 interval between retries of opening a sql connection
mysql_engine InnoDB MySQL engine to use
sqlite_synchronous True If passed, use synchronous mode for sqlite

PowerDNS Configuration

You need to configure PowerDNS to use the MySQL backend.

  1. First enable the MySQL backend:
launch = gmysql
  1. Configure the MySQL database settings:
gmysql-host=<host>
gmysql-port=
gmysql-dbname=<dbname>
gmysql-user=<username>
gmysql-password=<password>
gmysql-dnssec=yes
#gmysql-socket=<socket path>

Note

PowerDNS can connect via socket or host/port.

  1. Configure the options for designate-central - specifically “connection” to point to your MySQL database
[backend:powerdns]
connection = mysql+pymysql://<username>:<password>@<host>:<port>/<dbname>
  1. Setup the database schema.
$ designate-manage powerdns init
$ designate-manage powerdns sync
  1. Restart PowerDNS and it should be ready to serve queries using the MySQL database as the backing store.

PowerDNS deployment as hidden Master

One deployment scenario can be that the PowerDNS backend will be used as a “hidden” Master DNS for other DNS servers to consume via AXFR.

Say you have 10.0.0.1 and 10.0.0.2 as slaves then configure the backend as follows in addition to other options

[backend:powernds]
domain_type = MASTER
also_notify = 10.0.0.1,10.0.0.2

Note

This should mostly be used in connection with another backend acting as slave.

Table Of Contents

Previous topic

Bind9 Backend

Next topic

Infoblox Backend

Project Source

This Page