I am new to the world of DNS servers, but as a part of my current job I should do upgrade on our office network infrastructure.
After looking at available options i decided to go with PowerDNS solution PDNS server. Mostly because of easy management option through MySQL backend.
I already have PDNS server running and even working for my needs, but I see some significant differences between responses from our old BIND9 and new PDNS: additional section is missing, the answer is "not authorative" etc.
Basically the requirements for our DNS are:
- If requested domain is in records on MySQL backend (for example intranet-domain.ourdomain.com), then response should be authorative.
- If requested domain that is not in records in MySQL backend, then the request should be forwarded to external network to get answer from appropriate authorative DNS.
Our current setup is:
- Debian 7
- pdns (3.2 from standard repo) + pdns-backend-mysql + poweradmin
- pdns-recursor (otherwise it was not resolving any external domain names)
- Do I really need pdns-recursor in order to make resolution of external addresses to work? If there is a way to forward unknown addresses to ISPs DNS, please enlighten me.
- How to make responses look more like BIND9? For example, I also want to see additional section telling me about NS for requested address etc.
- Additionally if i put on our DHCP PDNS as primary and BIND9 as secondary, then the response will always come from BIND9 instead of PDNS. Although I imported all the records and zones from BIND9 to MySQL backend. How to fix it?
allow-recursion=192.168.1.0/8,10.0.0.0/16,127.0.0.0/8 allow-recursion-override=on config-dir=/etc/powerdns daemon=yes disable-axfr=yes guardian=yes lazy-recursion=yes local-address=192.168.1.5 local-port=53 master=yes module-dir=/usr/lib/powerdns recursor=127.0.0.1 setgid=pdns setuid=pdns socket-dir=/var/run version-string=powerdns out-of-zone-additional-processing=yes include=/etc/powerdns/pdns.d
local-address=127.0.0.1 local-port=53 quiet=yes setgid=pdns setuid=pdns
launch=gmysql gmysql-host=localhost gmysql-port= gmysql-dbname=pdns gmysql-user=pdns gmysql-password=pdns gmysql-dnssec=yes