Mixing fixed-address host declations in dhcpd.conf with dynamic entries created via omapi

Kristian Pedersen kristian.pedersen at vejen-net.dk
Tue Jul 17 13:41:58 UTC 2012

On 07/17/2012 02:00 PM, Steve van der Burg wrote:
>> We are implementing a new provisioning system that needs to signal our
>> dhcp-server to create or remove fixed-address host entries. The
>> provisioning system will quite frequently be doing updates, so omapi
>> would be nice to avoid having to restart the dhcp service.
>> On the other hand we use more than one dhcp server for redundancy and to
>> avoid these servers getting "out of sync" due to updates while one or
>> more servers are down, I would like to generate a completely updated
>> dhcpd.conf with all the static host entries. I could generate the config
>> as part of the dhcp startup script so im sure dhcpd.conf is always
>> accurate at service start.
>> So the question goes, how does the dhcp server handle overlaps in
>> dhcpd.conf vs. dynamic entries in dhcpd.leases? When the server starts
>> up and checks the dhcpd.leases, will any config in dhcpd.conf override
>> the ones from the lease-file? Do you see any problems in this
>> implementation or have suggestions for other ways to implement this?
> You can consider the leases file to be another configuration file, since the server reads it when it starts up.  A system that I set up and that also manages host entries (20,000+) does it this way (this is a block comment lifted right out of my code):
> # The basic strategy is:
> #
> # - Build list of MACs (with assoc. IP addrs for some) from the database,
> #   assuming that we'll be adding them all
> # - Build list of host objs from the server's lease file.  Assume that we'll be deleting them all
> # - Compare lists:
> #         - remove 'host-delete' from the host list when we find a match in the database list
> #         - remove 'db-add' when the database record matches the host object
> #         - change 'db-add' to 'db-update' when changes have been made (db needs to update host object)
> #         - leave 'db-add' alone when it really is a new record
> # - Use omshell to run the updates to the servers
> 'host-delete', 'db-add' and 'db-update' refer to actions that will be taken for each host object.
> In order for this to work, you need to have your DHCP servers send their lease files to a central spot.  If a server has been down for, say, 8 hours, when it starts up again, 8 hours of changes will be applied.
> ...Steve

Ok. I think I get the idea. Thank you for the input


Kristian Pedersen

More information about the dhcp-users mailing list