So, I said this about controlling who can query "version.bind":
"allow-query" lets you control who can see that information:
zone "bind" chaos { allow-query { 127.0.0.1 ; xxx.xxx.xxx.xxx/len ; } ; type master; file "filename"; };
and Rob Thomas was kind enough to point out that this caused bind9 to dump core. I did, in fact, take the example from a bind8 server. I tried replicating it in bind9, and while it didn't dump core (perhaps that was 9.0.x behavior?), on 9.1.0 the log messages suggested that I acquaint myself with "views." I did, and a named.conf for a recursive server that only allows localhost to access the "bind" zone for class "CHAOS" while performing general recursive service for class "IN" is: view "external" { match-clients { any ; } ; zone "127.in-addr.arpa" { type master ; notify no ; file "primary/127.in-addr.arpa" ; } ; zone "." { type hint ; file "cache/cache.db" ; } ; } ; view "local" chaos { match-clients { 127.0.0.1 ; } ; zone "bind" { type master ; file "primary/bind" ; } ; zone "." { type hint ; file "cache/cache.chaos" ; } ; } ; Zone file contents are left as an exercise to the reader; it seems to do the trick in restricting access in the same manner as my bind8 example. Thank you to Rob for pointing out that my solution only worked for bind8; hopefully this helps anyone trying to puzzle it out for bind9. Stephen