possible patch for implementing split DNS
Oliver Fromme
olli at lurza.secnetix.de
Tue Aug 29 12:03:51 UTC 2006
Julian Elischer wrote:
> I need some processes to look elsewhere for DNS information from where
> the rest
> of the system looks.. This patch seems to me a simple solution.
> We over-ride where the resolver looks for resolv.conf using an
> environment variable.
> This would allow me to reset this to an application specific config file
> that
> specifies a different server.
I think that could be useful indeed. In fact it could have
been very helpful to me recently when I had to debug a very
strange resolver problem (it turned out that the DSL modem
dropped SOA and ANY requests).
In theory, there would be a different (and maybe better)
solution to the problem. On the "FreeBSD Ideas" web page
there is an entry to port variant symlinks from DragonFly
(but as far as I know, nobody is actually working on it).
Using variant symlinks, the problem could easily be solved:
$ ls -l /etc/resolv*
-r--r--r-- 1 root wheel ... /etc/resolv.conf -> resolv-${RES}.conf
-r--r--r-- 1 root wheel ... /etc/resolv-default.conf
-r--r--r-- 1 root wheel ... /etc/resolv-special.conf
$ varsym RES
RES=default
$ cat /etc/resolv.conf
nameserver 11.22.33.44
$ varsym RES=special
$ cat /etc/resolv.conf
nameserver 55.66.77.88
It also has the advantage that the admin still has some
control over it, because the symlink can only point to
existing files under /etc in this case. By the way, the
varsym variables can be set globally, per-user and per-
process.
However, I'm aware that variant symlinks are probably not
going to be available in FreeBSD anytime soon. Therefore
I think your patch to libc/net/res_init.c would be useful.
Best regards
Oliver
--
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"Life is short (You need Python)"
-- Bruce Eckel, ANSI C++ Comitee member, author
of "Thinking in C++" and "Thinking in Java"
More information about the freebsd-net
mailing list