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

Adam Compton comptona at gmail.com
Mon May 8 16:10:54 PDT 2006


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.

Thank you for the ideas!

- Adam Compton



More information about the SGVLUG mailing list