Single slave zone definition for two view (cache file name problem)

/dev/rob0 rob0 at
Tue Mar 17 15:32:31 UTC 2015

On Tue, Mar 17, 2015 at 05:36:57PM +0300, Constantin Stefanov wrote:
> After upgrading from BIND 4.6 to 4.10.2, named requires that 
> different slave zone have separate file for cache.

Surely you mean s/4/9/g, and yes, this is true.

> With 4.6 I had the following config:
> named.conf:
> view "internal" {
> 	match /* match condition */;
> 	include "common.zones";
> };
> view "external" {
> 	match /* match condition */;
> 	include "common.zones";
> };
> common.zones:
> zone "" {
> 	type slave;
> 	file "slave/";
> 	masters {MASTERIP;};
> };
> It worked fine with 4.6 (although it was considered incorrect).
> After upgrade to 4.10 named started complaining:
> common.zones:3: writeable file 'slave/': already in 
> use: common.zones:3
> As I understand, now I need to have separate files for different 
> views.
> But is there a way to have them automatically assigned and to write
> something like:
> file "slave/${view_name}"
> or any other way to have only one defininition for common zones?

Here is an easy suggestion:

view "common" {
	match-clients { none; };

	zone "" {
		type slave;
		file "common/";
		masters {; };
	// repeat for other common zones

And then your other views can be defined and use the include file as 
before, with each zone being:

	in-view "common";

> I found 'in-view' option, but again it requires two definitions for 
> every zone: one with "file" and "masters" directives, and another 
> with "in-view" option. Moreover, these two definitions must be in 
> different files, as I have to include one in first view, and 
> another (with 'in-view') in all other views, so I have to keep two 
> separate files synced with one another.
> So is it possible to have only one definition for slave zones that 
> are shared between different views?

Hmmm.  I am not sure if there is a good workaround for that.  But 
there are tools like make(1) which can do this for you?  I would 
suggest a script to generate the common.zones file from whatever 
you're using for the "common" view.

Maybe someone else will have a better suggestion?
  Offlist GMX mail is seen only if "/dev/rob0" is in the Subject:

More information about the bind-users mailing list