On Jun 1, 2009, at 11:28 PM, Barry Margolin wrote:
Allow-query allows the clients to query the zones that your server is
authoritative for.

Allow-recursion allows them to request recursion, which is needed to
look up names in remote zones.

Allow-query-cache allows them to query the data that's in the cache due
to some client previously requesting recursion.

That's not quite right.

allow-query governs who can send *any* query to the server, not just queries against authoritative data. If a query is blocked by this ACL, the response sent back is empty (no records), with the RCODE set to REFUSED.

allow-recursion and allow-query-cache now default to behave like each other. In other words, if one is set but not the other, the behavior is as if both were set to the same ACL. Therefore, there's almost never any reason to set allow-query-cache - just use allow-recursion for both, unless you truly have a use for allowing someone access to the cache who does not also have permission to send recursive queries to the server.

allow-query-cache was added in BIND 9.4. Previously, the only control on cached data was allow-query.

If a query is blocked by allow-query-cache, the response is REFUSED, as with allow-query. If it passes allow-query-cache but is blocked by allow-recursion (an unusual situation these days), the query is handled as if it were not recursive.

The defaults if no values are set at all:

allow-query { any; };
allow-query-cache { localhost; localnets; };
allow-recursion { localhost; localnets; };

My guess is that the OP was being tripped up by the default for allow- recursion.

Chris Buxton
Professional Services
Men & Mice

_______________________________________________
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to