This HOWTO documents the steps necessary to build and use the OpenDBX backend I've written for PowerDNS, an extremely versatile name server. This backend enables PowerDNS to retrieve DNS information from all databases supported by the OpenDBX library.
The PowerDNS OpenDBX backend enables you to store your domains and associated records in a database supporting SQL statements. This gives you all the management advantages of databases as well as the ability of instant domain updates without the need to reload the server to make zone updates available. Furthermore, the OpenDBX backend provides some unique features over other PowerDNS backends:
- Supports all databases provided by OpendBX
- Load-balancing between database server
- Fail-over between database server
- Cluster or Master/Slave configuration
- Fully configurable SQL statements
- Stored procedures for statements
- Automatic SOA serial calculation (since PowerDNS 2.9.22)
The OpenDBX backend is included in the PowerDNS source tree. Additionally, you can get the latest patches for the PowerDNS OpenDBX backend from the download page. You will also need the OpenDBX library to be able to use the OpenDBX backend.
I would like to thank Bert Hubert for his courage to write a clean implementation of the DNS protocol, which is a real nightmare for every good programmer. You will understand what I mean, if you read the specs yourself
As a result PowerDNS is an extremely versatile DNS server consisting of very good source code which is easy to understand and to extend. Please support him by contributing code or bug reports or spread the word of PowerDNS ;-)