PowerDNS with Plesk servers

Having separate secondary NS for Plesk servers will be difficult to manage. To ease the process, I came up with an idea of using PowerDNS’ supermasters feature.
Just shove in the IP of the Plesk server, the name of the secondary NS and the server name to the supermasters table.
During initial touch-up of the Plesk server, make sure while modifying the DNS zone template to use THAT Plesk server as the first NS record. Otherwise it would cause problem with wrong SOA name causing PowerDNS not recognizing AXFR sent by the Plesk server.
Also make sure PowerDNS IP is included in the allowed list of AXFR on Plesk!

Some useful queries for PowerDNS’ SQL:
delete records.* from records, domains where records.domain_id = domains.id and domains.account = ‘SERVERNAME’;
delete from domains where account = ‘SERVERNAME’;

Valid for Plesk 7.5.

2 thoughts on “PowerDNS with Plesk servers

  1. I also use this method. (I.e. Plesk server with PowerDNS supermaster as secondary on a separate server.)

    I have a problem that the Plesk server does not notify the PDNS server, so the zone is never created. If created manually on the PDNS server it does get updated from Plesk.

    I think the problem is that in the named.conf on Plesk the following is missing:
    also-notify {
    notify yes;

    Note – everything used to work 100%, but stopped working recently. The only change was that we updated our Plesk server to the latest version.

    Do you have any thoughts on this ?

  2. Hi Sam,

    I haven’t used PowerDNS nor Plesk for quite sometime. However, I would try dumping the DNS packets (using tcpdump on both servers) when you add a new domain on the Plesk server. Check if the notification actually gets sent from BIND. If it does, then check the SOA record (as indicated in my post), perhaps the latest Plesk changed something or rearranged the NS RRs. Lastly, check the PDNS server’s log to see if it receives and acknowledge/parse the notifications sent from Plesk server’s BIND.

    Please let me know if you managed to solve this and share how you managed to fix it.


Leave a Reply

Your email address will not be published. Required fields are marked *

Anti-Spam by WP-SpamShield