dnspowerdns

PowerDNS not sync zones from master to slave


I have installed PowerDNS on 2 VPS servers:

ns1 - 10.0.0.1

ns2 - 10.0.0.2

The Problem is the records/zones are not getting synced from Master to Slave. Here are the configurations:

Master Server:

allow-axfr-ips=10.0.0.2/32
daemon=yes
disable-axfr=no
include-dir=/etc/powerdns/pdns.d
master=yes
setgid=pdns
setuid=pdns

Slave Server:

daemon=yes
disable-axfr=yes
include-dir=/etc/powerdns/pdns.d
setgid=pdns
setuid=pdns
slave=yes
slave-cycle-interval=60

Database on Slave Server

MariaDB [powerdns]> select * from supermasters;
+-------------+------------------+---------+
| ip          | nameserver       | account |
+-------------+------------------+---------+
| 10.0.0.1    | ns2.example.com  | admin   |
+-------------+------------------+---------+
1 row in set (0.000 sec)

Both servers are running on MySQL database backend. Master is serving all records as expected but Slave server is giving this:

root@vps10:~# dig example.com @localhost

; <<>> DiG 9.16.1-Ubuntu <<>> example.com @localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 22750
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;example.com.              IN      A

;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Feb 04 22:11:39 UTC 2022
;; MSG SIZE  rcvd: 45

I have also checked the Slave server and it does not have any zones from Master. Also tried this on the master server:

root@vps06:~# pdns_control notify example.com
Added to queue

Surfed the internet for any solutions but nothing was available. Can anyone guide me or point out what is wrong with my configuration?


Solution

  • You'll need to enable superslave and make sure your primary sends the correct notifications (NS records, ALSO-NOTIFY metadata (https://doc.powerdns.com/authoritative/domainmetadata.html?#also-notify) etc)