I recently notice this error on a master/slave Bind (named) DNS server setup (this error actually happened on slaves servers) :
transfer of ‘domain.tld/IN’ from xxx.xxx.xxx.xxx#53: failed while receiving responses: permission denied
First, make sure the “allow-transfer” directive is properly set on the primary master server :
allow-transfer { xxx.xxx.xxx.xxx; };
This is probably the case and the problem is more likely at the filesystem permission level on the slaves servers. This is a common error. So let’s fix this by reseting permission like this :
chmod 775 /var/named/chroot/var/named
For the record, everything contained in /var/named should belong to “named:named”. Feel free to correct this recursively if this is not the case :
chown -Rf named:named /var/named