I would like to have certain zones hosted by my DNS servers to be accessible internet-wide while restricting certain zones only to specific IP addresses (local or internet). Is this possible? How do I do it?
Putting the allow-query { <ip.v4.ad.dr>; };
option in the zone {...}
did not seem to stop me from fetching A records in that zones from IP addresses other than the one specified :-(
You could put the restricted zones in a separate bind view that is accessible only for the specific IP addresses. Check the manual for the exact configuration but basically you would define a view block and inside define a match-clients for your IPs and then another view with match-clients any.
views are great but if the zone is not available in the public zone you can use zone level acl
allow-query { slaves; trusted; !any; };
Adding
allow-query{ trusted_ips; };
inside theoptions
block innamed.conf.options
worked for me.