FAQ - PowerDNS/pdns GitHub Wiki

NOTE: some parts of this FAQ are extremely outdated. Please refer to our documentation at https://doc.powerdns.com/ for up to date information

Here you can find the answer to some of the most frequently asked questions about PowerDNS.

More Specific Information

About the gmysql/gpgsql backends: gmysql-gpgsql-FAQ

About the AXFR Support in PowerDNS Server: AXFR FAQ

PowerDNS Recursor Lua Scripting Examples: Lua-Examples-(Recursor)

The Generic FAQ


Q: Where did powerdns.org go? And where can I find its contents?

A: the old contents of powerdns.org are on this GitHub Wiki now.


Q: What happened to the CVS repository, what happened to the SVN repository?

A: We switched to Git, the repository is at http://github.com/powerdns/pdns


Q: I opened a ticket with 'cvstrac' (or Trac), where did it go?

A: All tickets have been migrated to GitHub Issues: http://github.com/powerdns/pdns/issues


Q: I'm a developer, can I help?

A: Yes - grep the source for XXX or TODO or FIXME, you have your work cut out for you :-)


Q: The ADDITIONAL is section different than bind's answer, why?

Q: My powerdns is not answering with a verbose "ADDITIONAL SECTION" that includes A records for the namservers of the domain queried.

A: Powerdns by default does not 'trust' other zones in its own database so you may want to add out-of-zone-additional-processing=yes to your configuration to tell him to do so. If the domain your nameservers are in is known to your powerdns' backend it will now include them into the additional section.


Q: PowerDNS does not give authoritative answers, how come?

A: 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!

Sorry for sounding like DJB on this, but we get so many misguided questions about authority..


Q: The logfile is showing "Authoritative empty NO ERROR to 1.2.3.4 for 'powerdns.nl' (AAAA).."

A: As the name implies, this is not an error. It tells you there are questions for a domain which exists in your database, but for which no record of the requested type exists. To get rid of this error, add log-dns-details=off to your configuration.


Q: Can I launch multiple backends simultaneously?

A: 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. Have a look at https://answers.launchpad.net/powerdns/+faq/1229


Q: Which backend should I use? There are so many!

A: If you have no external constraints, the Generic MySQL (gmysql) and Generic PostgreSQL (gpgsql) ones are probably the most used and complete. By all means do not use the non-generic MySQL backend, which is deprecated and only available for older installations.

The BIND backend is pretty capable, but many prefer a relational database.


Q: I'm trying to build from Git but I get lots of weird errors!

A: Read the README file, it lists the build requirements (mostly autoconf, automake, libtool). In many cases, it may be easier to build from the source distribution though.


Q: I'm on Solaris 7 and AAAA records do not work

A: Indeed, and this is pretty sad. Either upgrade to Solaris 8 or convince people to write the replacement functions needed to encode AAAA if the host operating system does not offer them.


Q: Why don't my slaves act on notifications and transfer my updated zone?

A: Raise the serial number of your zone. In most backends, this is the first number of the SOA contents field. If this number is lower or equal to that on a slave, it will not consider your zone updated.


Q: Master or Slave support is not working, PowerDNS is not picking up changes

A: 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.


Q: I have a working Supermaster/Superslave setup but when i remove Domains from the Master they still remain on the Slave. Am i doing something wrong?

A: 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. For the gmysql backend you can try the script linked below the message at http://mailman.powerdns.com/pipermail/pdns-users/2010-July/006866.html by Mark Scholten


Q: My masters won't allow PowerDNS to access zones as it is using the wrong local IP address

A: Mark Bergsma contributed the query-local-address setting to tell PowerDNS which local IP address to use.


Q: PowerDNS does not answer queries on all my IP addresses (and I've ignored the warning I got about that at startup)

A: Please don't ignore what PowerDNS says to you. Furthermore, read 3 questions up about the local-address setting, and use it to specify which IP addresses PowerDNS should listen on.


Q: I see this a lot: Backend error: Failed to execute mysql_query, perhaps connection died?

A: Check your MySQL timeout, it may be set too low. This can be changed in the my.cnf file.


Q: How do I use Zone2SQL to import from bind into PowerDNS?

A: See https://doc.powerdns.com/authoritative/manpages/zone2sql.1.html


Q: Linux Netfilter says your conntrack table is full?

A: 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.


Q: Does PowerDNS support splitting of TXT records (multipart or multiline) with the MySQL backend?

A: PowerDNS with the MySQL backend does NOT support this. Simply make the "content" field in your database the appropriate size for the records you require.