/var/run/ndc conflict on split DNS server?

Bob Proulx bob at torment.proulx.com
Mon Dec 11 06:37:10 UTC 2000


I have configured a split DNS server.  Two processes running on the
same machine but with different configuration files.  One server
internal 192.168.* addresses and an external one that serves real
addresses.  All seems well in general.  But I have a problem I would
like to work out.

It seems that named is compiled to use /var/run/ndc for the control
socket.  When two of them are started on the same machine there is a
conflict.

Dec 10 22:27:12 tesuji named[10602]: ctl_server: bind: /var/run/ndc: Address already in use

In ns_ctl.c:
	ns_ctl_add(list, ns_ctl_new_unix(_PATH_NDCSOCK, 0600, 0, 0));

If I understand the architecture correctly there is no way to change
this dynamically but only through the compile time macro.  I expect I
need to compile all components, ndc and named both, to remove this
conflict by renaming one of them to a different name.  But that means
running two different copies of the binaries with only this path as a
specialization.  It would be nice to run the same binary for both
processes.  I am running bind 8.2.3-T9B.

I am looking for confirmation that this is just they way that it is in
bind8, which is fine and I can live with it fine by splitting the
binaries, or a pointer to a better way to deal with this using the
same named and ndc binaries.

I understand that views are one of the improvements in bind9 but would
like to use bind8 for now because of feature set maturity.  I have
been following bind9 development and have it running in a test
configuration as well.

Thanks
Bob



More information about the bind-users mailing list