This document lists categorized answers and questions with links to the relevant documentation.
Please note that not all PowerDNS Server backends support master or slave support, see the table of backends.
Don’t forget to enable master-support by setting master to yes in your configuration.
In master mode PowerDNS Authoritative Server will send NOTIFYs to all nameservers that are listed as NS records in the zone by default.
Don’t forget to enable slave-support by setting slave to yes in your configuration.
In slave mode PowerDNS Authoritative Server listens for NOTIFYs from the master IP for zones that are configured as slave zones.
And will also periodically check for SOA serial number changes at the master.
Yes totally, enable both by saying yes to master and slave in your configuration.
With the ALLOW-AXFR-FROM metadata, See the documentation.
You’re not doing anything wrong. This is the perfectly normal and expected behavior because the AXFR (DNS Zonetransfer) Protocol does not provide for zone deletion. You need to remove the zones from the slave manually or via a custom script.
The PowerDNS Authoritative Server by default does not ‘trust’ other zones in its own database.
You may want to add out-of-zone-additional-processing to yes in your configuration to tell it to do so.
If the domain your nameservers are in are known to the backend they will now be included in the additional section.
This is almost always not the case. An authoritative answer is recognized by the ‘AA’ bit being set. Many tools prominently print the number of Authority records included in an answer, leading users to conclude that the absence or presence of these records indicates the authority of an answer. This is not the case.
Verily, many misguided country code domain operators have fallen into this trap and demand authority records, even though these are fluff and quite often misleading. Invite such operators to look at section 6.2.1 of RFC 1034, which shows a correct authoritative answer without authority records. In fact, none of the non-deprecated authoritative answers shown have authority records!
The Master/Slave apparatus is off by default. Turn it on by adding a slave and/or master statement to the configuration file. Also, check that the configured backend is master or slave capable and you entered exactly the same string to the Domains tables without the ending dot.
By default, PowerDNS lets the kernel pick the source address. To set an explicit source address, use the query-local-address and query-local-address6 settings.
Please don’t ignore what PowerDNS says to you. Furthermore, see the documentation for the local-address and local-ipv6 settings, and use it to specify which IP addresses PowerDNS should listen on. If this is a fail-over address, then the local-address-nonexist-fail and local-ipv6-nonexist-fail settings might interest you.
Thats a common problem with Netfilter Conntracking and DNS Servers, just tune your kernel variable (/etc/sysctl.conf) net.ipv4.netfilter.ip_conntrack_max up accordingly.
Try setting it for a million if you don’t mind spending some MB of RAM on it for example.
PowerDNS with the Generic SQL Backends do NOT support this. Simply make the “content” field in your database the appropriate size for the records you require.
Check your MySQL timeout, it may be set too low.
This can be changed in the my.cnf file.
If you have no external constraints, the Generic MySQL backend, Generic PostgreSQL backend and Generic SQLite 3 backend ones are probably the most used and complete.
The Oracle backend also has happy users, the BIND backend is pretty capable too in fact, but many prefer a relational database.
You can.
This might for example be useful to keep an existing BIND configuration around but to store new zones in, say MySQL.
The syntax to use is launch=bind,gmysql.
Do note that multi-backend behaviour is not specified and might change between versions.
This is especially true when DNSSEC is involved.
No, the Generic SQL Backends use several default queries to provide the PowerDNS Server with data and all of those refer to specific field names, so as long as you don’t change any of the predefined field names you are fine.
Yes you can override the default queries.