[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: /run and read-only /etc


On Tue, Apr 08, 2003 at 08:36:01AM +0200, Thomas Hood wrote:

> However, allowing programs to write bits of named's
> configuration file and to restart named still seems kludgy.
> It would be better if there were a standard way for programs
> to inform named of appearing and disappearing forwarders.

Definitely, or even better, to inform any local cache of appearing and
disappearing forwarders.

The only thing that's to know about a set of forwarders is its IP
addresses. /etc/resolv.conf provides a widely used, simple and easy to
parse format for that.

If we'd have a /run/resolvers/ directory in which each network
interface could have a file with its own name (eth0, eth1, ppp0) in
full resolv.conf format, then pump, dhcpcd, pppd and ifup/down (in case of
static information from network/interfaces) could create such a file for
the interface they are controlling.

A update-resolvers script that gets called as soon as new resolver
information becomes available then merges the information from the files
in /run/resolvers (creating a longer suffix search path and a long list
of ip addresses), and either writes a new /run/resolv.conf to which
/etc/resolv.conf can be a symlink, or writes a piece of named
configuration, or a piece of djbdns configuration, or whatever, and
possibly sends a signal, or does anything else that's needed.

Then, every DNS cache can do this in its own way and provide its own
version of the update-resolvers script; if you're not running one, you
could have a simple package that contains the simple script to merge the
files into /run/resolv.conf. Or a yet simpler version that always
symlinks /etc/resolv.conf to /run/resolvers/eth0, if it's not desired
that other interfaces add to the list.

How about that?



E-Advies - Emile van Bergen           emile@e-advies.nl      
tel. +31 (0)70 3906153           http://www.e-advies.nl    

Attachment: pgp2G3oOWXiGK.pgp
Description: PGP signature

Reply to: