[SGVLUG] How to manage DNS for DHCP-assigned clients?

Michael Proctor-Smith mproctor13 at gmail.com
Mon May 8 16:34:34 PDT 2006


On 5/8/06, Adam Compton <comptona at gmail.com> wrote:
> Emerson, Tom wrote:
> >> [mailto:sgvlug-bounces at sgvlug.net] On Behalf Of Adam Compton
> >> Emerson, Tom wrote:
> >>
> >>> What about pulling [the files in an] "if-up" (or equivalent) script?
> >>>
> >> That is one of the solutions I had considered ...
> >> would like the computers to have valid DNS names so that we could
> >> connect to them for one-offs, and also so that our logs were
> >> easier to parse. ... Some clients are laptops that travel between
> >> physical subnets, so I don't think static IP addresses would serve in
> >> those cases.
> >>
> >
> > In my original response, I had started down the line of "what about
> > monitoring 'arp -a'?" but realized this may not work in all cases (the
> > clients need to connect to the "monitor" at some point, though I suppose
> > you could force this by doing a periodic range-arping to hit every IP in
> > a subnet...)  In any case, ARP uses MAC addresses (no, not Macintosh
> > addresses...) which should remain constant over the lifetime of the
> > equipment (unless you have folks doing "funny" things) You could
> > maintain your own small db/table of MAC-to-Machine associations for your
> > "one off" updates.  (parsing may still be a pain, unless you put both
> > the log and your table into some form of relational/queryable database
> > to manage that part of the system...)
> >
> You see the problem I am facing, then. I have been looking quite hard
> for such a system, but I do not see anything that looks like it meets
> this need.
>
> I was thinking about setting up a SQL-based DNS server on a small Linux
> box, and having the main DNS server forward queries about the clients to
> that server. Then I could use whatever dynamic method worked best (boot
> scripts, perhaps) to have the client machines update their own data in
> the database. I just don't know when I'll find the time to code all of
> that up, much less justify the effort to my boss. Currently, our
> maintenance is performed by physically visiting and touching each of
> ~200 machines. It's time consuming, but not impossible. If it takes me
> two or three weeks to design, build, test, and roll out a custom-built
> monitoring system, I'm not sure he wouldn't just rather I keep touching
> all of the machines to do maintenance.
>
> I did get a response here that indicated cfengine has the ability to
> query for new configuration files at startup. I may set that up on each
> machine (I'd like to anyway), and make one of the actions "verify that
> the IP address associated with my DNS name is correct". Then, each
> machine could connect to the SQL-based DNS server (or whatever) on its
> own to update this information, and my DNS names would almost always be
> accurate.

I have not spoken up because I thought you were looking for more then
ddns, and you said you do not have control of the dns server, but that
maybe all you are looking for? dnsmasq is the caching dns server that
I use but it also supports dynamic dns so that a client requesting a
dns address gets automagically assigned as
client'shostname.mydomain.com as a valid dns name. Or people do things
like have macaddress.mydomain.com always get assigned when a client
requests address. Bind and dhcp servers can be configured to do this
as well.


More information about the SGVLUG mailing list