DHCP server with database backend [closed]

I have been looking around for something to replace my (ancient) ISC-DHCPd server.

A DHCP server with a database backend sounds like a great idea to me, as I could then have a nice, friendly web interface to my server. Surprisingly, I can't any major open-source projects that offer this.

Does anyone know of one? I have also read about modifying ISC to use a database backend...can anyone tell me if this solution is stable enough for a busy production server? Or is using a database a Bad Idea™ all together?

PS - https://stackoverflow.com/questions/893887/dchp-with-database-backend looks like SO couldn't answer this old, similar question.

EDIT: I am looking for something on a free OS platform, Linux or BSD. If there is something absolutely great that is Windows-only though, still interested.


Solution 1:

ISC DHCP 4.x allows the DHCP service to be backed by an LDAP database (local or remote).

The package on both Fedora 12+ and Ubuntu (version unknown) includes the LDAP schema file.

You start the DHCP server and point it at the LDAP db (via a short config file). If you select dynamic DB, each DHCP query becomes an LDAP query/response.

With LDAP you can update the DHCP contents using any language with an LDAP library from any location routable to your LDAP server. Your LDAP DB can serve an unlimited number of DHCP servers.

I used this to allow engineers to add and remove test boxes to a network without requiring them to log onto the DHCP server, edit a file or use root privs.

Solution 2:

I had a similar issue.

I ended up writing a few lines of Python code to generate DHCP config files from a database backend. Using diff I regularly check whether the file I generate has changes to the old config and in that case I reload the DHCP server.

Works quite well for me with multiple data centers, dozens of networks and hundreds of IPs.

Also allows you to have the 'web interface' and keep it open source.