I’m having a bit of an infrastructure redesign here at the Crossed Wires campus. Each time I have an outage (the last one was caused by a power failure) I learn a little more about the holes in my current setup and what I can do better.
I’m implementing a router box on an old low(-ish)-power PC that will be backed up by a virtual machine on my main virt-box. I’ve already done most of the preparation of using keepalived to implement VRRP, and a colleague has given me some pointers in using the Linux-HA tools like Heartbeat and DRBD to make services like e-mail and Samba redundant.
I’ve had a soft spot for LDAP for ages; I’ve always thought that putting as much backend data into LDAP as you can would be a really good way to get failover and redundancy. Instead of having to deal with every single server’s different way of doing replication and failover, just bung everything into LDAP and get that replicating. Sounds good in theory, but in a nutshell it’s not working out that way for the two least-celebrated but most important components of my (arguably any) network: DNS and DHCP.
There are a number of LDAP-backed DNS projects out there. If I’m willing to go to the bleeding edge with BIND on my Gentoo build I can get access to the two most talked-about ones (bind9-sdb-ldap and the BIND DLZ LDAP driver), and other solutions like PowerDNS and ldapdns are available. But none of them offer integration with DHCP, and I’m currently using dhcpd’s “interim DDNS update method” to make sure that hostnames are seen in my DNS when a lease is granted (okay, there’s a Perl daemon that goes with bind9-sdb-ldap, but it seems like a sort-of clunky afterthought).
Speaking of DHCP, LDAP backends for it are virtually non-existent. The only LDAP-enablement I’ve found for ISC DHCP involves putting the config file into LDAP, not the leases… I actually used that for a few days a while ago and pulled it out because it was actually more work to do it that way (and for no benefit in failover).
It seems to me it would be a project ripe for the picking: take an integrated DNS/DHCP server like dnsmasq and make it write into LDAP instead of to a file. If I had more free time I’d probably have a go at it, except for the fact that no-one really seems to be that interested in storing DNS and DHCP in LDAP: that it hasn’t been done says to me that there’s no demand for it, and it’d end up being a big waste of time and effort.
Over to you, lazyweb… Is this a yawning chasm of unfulfilled networking dreams, or a case of me trying to make something more complex than it needs to be? After all, the rest of the world gets by with DNS master-slave and DHCP failover, they should be good enough for me too, right?

1113
Pingback: Expect (2) | So I decided to take my work back underground