I have a master NSD Linux server and two slave NSD servers. The master server works fine and responds to DNS queries, and the slave servers are able to request updates.
However, when I try to initiate an update from the master server with "nsdc notify", I get this:
[1326103532] nsd-notify[16190]: warning: bad reply from [EXPUNGED] for zone [EXPUNGED], error response REFUSED (5).
On the slave server log, I get this:
[1326101594] nsd[32378]: info: got notify for zone: [EXPUNGED]; Refused by acl: no acl matches .
This is the zone section of the master's nsd.conf:
key:
name: osdgkey
algorithm: hmac-sha1
secret: "[EXPUNGED]"
zone:
name: "[EXPUNGED]"
zonefile: "[EXPUNGED].zone"
notify: [SLAVE1IP] osdgkey
provide-xfr: [SLAVE1IP] osdgkey
notify: [SLAVE2IP] osdgkey
provide-xfr: [SLAVE2IP] osdgkey
outgoing-interface: [MASTERIP]
notify-retry: 5
And one of the slaves:
key:
name: osdgkey
algorithm: hmac-sha1
secret: "[EXPUNGED]"
zone:
name: "[EXPUNGED]"
zonefile: "[EXPUNGED].zone"
allow-notify: [MASTERIP] osdgkey
request-xfr: AXFR [MASTERIP] osdgkey
notify-retry: 5
I've tried everything I can think of. The servers have ipv6, so I've tried setting NDS's ipv4-only, I've tried ::ffff: to the front of the ipv4 addresses. I've been working at it for hours. Barring the possibility of NSD being broken, it has to be a simple mistake.
What am I doing wrong? The ACLs are clearly correct.