DHCP question

Nifty Hat Mitch mitch48 at sbcglobal.net
Sat Oct 16 22:43:42 UTC 2004


On Fri, Oct 15, 2004 at 05:12:49PM -0500, Lonnie Cumberland wrote:

> Most of my reading lately on the internet regarding DHCP has suggested 
> that you can easily assign IP addresses to hardware like:
> 
> host loretta {
>        next-server 192.168.7.14;
>        hardware ethernet 00:90:27:3E:EA:60;
>        fixed-address 192.168.7.15;
> }
> 
> 
> which can be placed in the config file for each client machine after 
> which the daemon can be started, right?


My simple suggestion is to use your favorite scripting language (python
is good) and build a tool that generates a config file and 'reload's
the service when needed. You can throttle the reload so there is not
more than one reload in 5 min or so. This puts some abuse avoidance is
in the design.

If you need a data base engine use dbm.  I think dbm is a default load
because many other tools use it and it would be up to the task.
Interface bindings in perl, php, python can be had.

The dhcpd daemon keeps a dhcpd.leases file that can be used in concert
with the data base to help keep sanity in such things.

Do note that short leases could be counter productive if they are too
short.

By building and designing a data base external to dhcpd you can solve
the user interface, data structure and config file problems without
breaking anything in dhcpd directly.  All you have to do is generate a
config file dynamically.

Check also the actions of 

      service dhcp reload

in contrast to 

      service dhcp restart

The man page for dhcpd makes specific comments about your problem.
 
       "Whenever changes are made to the dhcpd.conf file, dhcpd must be
       restarted.  To restart dhcpd, send a SIGTERM (signal 15) to the
       pro- cess ID contained in /var/run/dhcpd.pid, and then
       re-invoke dhcpd.  Because the DHCP server database is not as
       lightweight as a BOOTP database, dhcpd does not automatically
       restart itself when it sees a change to the dhcpd.conf file.
 
       "Note: We get a lot of complaints about this.  We realize that
       it would be nice if one could send a SIGHUP to the server and
       have it reload the database.  This is not technically
       impossible, but it would require a great deal of work, our
       resources are extremely limited, and they can be better spent
       elsewhere.  So please don’t complain about this on the mailing
       list unless you’re prepared to fund a project to implement
       this feature, or prepared to do it yourself."


-- 
	T o m  M i t c h e l l 
	May your cup runneth over with goodness and mercy
	and may your buffers never overflow.




More information about the fedora-list mailing list