0

I want to setup a PowerDNS instance with two levels of resolving :

  • a pipe backend
  • a fallback to a public recursor like 8.8.8.8

I have correctly set up the pipe backend and I can query it with success.

Now what I want to achieve is when the pipe backend doesn't have the answer, I would like to get an answer from a public recursor like 8.8.8.8

In my pdns.conf file I have

allow-recursion=0.0.0.0/32  # yes, wide open for my tests 
lazy-recursion=yes
recursor=8.8.8.8

But if I query for a domain not handled by my pipe backend, I get the following :

$ host -t A www.google.com localhost
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases: 

www.google.com has no A record

Is there an exit code or other information in the pipe backend to return to tell pdns-server to go recursing ?

Thanks in advance for any help

Lionel Tressens
  • 461
  • 5
  • 13
  • Not an answer to the actual question but on a related note here is DJB explaining why you should not be doing that: http://cr.yp.to/djbdns/separation.html – ZaphodB Nov 05 '14 at 01:34

2 Answers2

0

The problem was the notation :

0.0.0.0/32

which is not correct it seems

Lionel Tressens
  • 461
  • 5
  • 13
  • 0.0.0.0/32 only means the actual IPv4 address 0.0.0.0 which is non-routable but which you can use to bind to all (IPv4) interfaces, if you mean to specify all or any IPv4 address that can possibly exist the range 0.0.0.0/0 does that. – ZaphodB Nov 05 '14 at 01:42
0

A more pretty way to do this is to install pdns-recursor

(Works since v3.2)

/etc/powerdns/recursor.conf

forward-zones=domain.local=authoritative_local_dns_ip
forward-zones-recurse=.=recursor01_ip;recursor02_ip;recursor03_ip