staticDHCPd is an all-Python, RFC 2131-compliant DHCP server — with support for common extensions and customizable arbitrary options — that only serves static DHCP “leases”. It was created to satisfy a need for a DHCP server that offers full control over which MACs are allowed to learn about and gain access to a network and to allow the set of allowed MAC addresses to be easily manipulated using familiar tools (SQL clients) in real time, without the need to ever restart any processes or rewrite any configuration files; the result is a flexible daemon that should be ideal for many home users, small offices, and specialised networks of vast size.
staticDHCPd makes use of a forked version of Mathieu Ignacio’s pydhcplib and is developed exclusively against Debian–based GNU/Linux distributions and tested on Apple Mac OS X 10.6. It should run on any Unix variant, but is not supported on Microsoft Windows, due to a lack of familiarity with permissions, sockets, and signals on that platform. (Of course, it will still serve Microsoft clients, provided that Microsoft’s braindead firewall is configured to allow DHCP traffic; you’ll just need a Unix-like OS as a server)
staticDHCPd is hosted on Google Code, http://code.google.com/p/staticdhcpd/, which is where you should go if you want to learn about how to set it up for your own use or contribute to further development.
Stable, recommended releases may be found on, and should be downloaded from, the Google Code download page.
If staticDHCPd has helped you, please let us know. Conversely, if it exploded in your face and, after consulting the FAQ, you need help to get things working, also let us know: our works may be free, but we still pride ourselves on making them do what we claim they can do.
Just don’t contact Mathieu Ignacio with any complaints; he may have provided a crucial piece of this system, but he is not responsible for any mistakes we may have made.