I have just installed bind9 on a Debian system and I am trying to understand how it works and what it is doing.
The thing that puzzles me is that no cache file is created in the cache directory. Well actually at one level I perfectly understand. In all the config files, the file directive names a file starting with "/etc/bind", i.e. a config file. There is the root hint file and the files for the loopback system. No file is configured without a leading "/" hence I am not surprised. Also it is not defined to be a slave for any domain.
So if I understand correctly it is caching all its lookups in memory but not in a file as I was expecting.
Now what I would like to do is make the name server authoritative for my local private network and the loopback system, but cache on the filesystem all other responses. I can see how to do the former but I cannot see where I would put a file directive to make it cache all its iterative lookup responses.
I can see I could make it a slave of publicly known authoritative servers of all the top level domains I can think of - but that seems wrong and fragile in so many ways.