I am using PowerDns on a Linux box (Debian 6).

I would like to set up the powerdns server to resolve all externally unresolved DNS queries to a given, internal host. Is this possible? How is it done? I think it's necessary to use pdns-recursor, but my configuration file doesn't works !

I use mysql for backend.

I add manually google.com and it's works, but if I delete entry I have "server failed", root dns (or isp dns) don't answer me.


PowerDNS is not designed to provide recursive results. It is intended to act only as an authoritative server for the domains it serves. This implies it will be serving domain data to other hosts.

You could add the Recursor module but I would recommend only using it on intranets. It may have appropriate security to prevent it from being used for DNS amplification attacks.

The easiest method to resolve your issue is to configure your /etc/resolv.conf file to use external servers to resolve DNS. You can use your servers from your ISPs, Google's, OpenDNS, or others. You should check that you can access your PowerDNS server on its published Nameserver address (which may not be your hosts address). Otherwise you will have to rely on your backup nameservers for local access.

  • PowerDNS recursor is not actually a module but a separate program, it just happens to use part of the source code that PowerDNS Server relies on and hence is shipped within the same source code tarball but as separate daemons in various packaging formats. – ZaphodB Jul 27 '11 at 12:51

On Debian

apt-get install pdns-recursor

will probably provide what you want. The recursor will bind to and only listen there by default so you will be fine regarding protection against the aforementioned DNS amplification attacks.

You might also want to read http://cr.yp.to/djbdns/separation.html as to why those two functions are provided by separate programs.

BIND simply does it wrong.


This doesn't answer your literal question, but maybe all you really need is to throw a bunch of entries in your /etc/hosts file?

  • Since xe has PowerDNS, xe has no need to muck around with /etc/hosts files. The DNS was, after all, introduced in the early 1980s in order to render (public) hosts files obsolete; and PowerDNS is capable of being a content DNS server. – JdeBP Jun 26 '11 at 1:00
  • @JdeBP Okay, cool, just thought I'd throw that out there. Just in case a simple answer like that had been overlooked. Thanks! – James T Snell Jun 27 '11 at 16:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.