![]() | This documentation has moved to its own page. The information in this chapter may be outdated! |
The main author for this module is Norbert Sendetzky who also has his own PowerDNS-LDAP page.
He also maintains the LDAP backends documentation there. The information below may be outdated!
As of 2.9.6, PowerDNS comes with an LDAP backend. The code for this was submitted by Norbert Sendetzky.
The following settings are available to configure the LDAP backend:
LDAP host to connect to, defaults to localhost.
LDAP port to connect to, defaults to 389.
Root for DNS searches. Must be configured before the LDAP backend will work.
Distinguished Name to bind with to the LDAP server. Defaults to the empty string for anonymous bind.
Secret to bind with to LDAP server. Defaults to the empty string for anonymous bind.
TTL for records with no dnsttl attribute. Defaults to 86400 seconds.
The schema used is that defined by RFC 1279 and is present in OpenLDAP under the name 'cosine.schema'. An example LDIF file:
# zone related things including SOA, NS and MX records dn: dc=example objectclass: top objectclass: dnsdomain objectclass: domainrelatedobject dc: example soarecord: ns.example.dom hostmaster@example.dom 2002010401 1800 3600 604800 84600 nsrecord: ns.example.dom mxrecord: 10 mail.example.dom mxrecord: 20 mail2.example.dom associateddomain: example.dom # Simple record (mail.example.dom has address 172.168.0.2) dn: dc=mail,dc=example objectclass: top objectclass: dnsdomain objectclass: domainrelatedobject dc: mail arecord: 172.168.0.2 associateddomain: mail.example.dom # There may more than one entry per record # This is also applicable to all other records including "associateddomain" # but not for a CNAME record dn: dc=server,dc=snapcount objectclass: top objectclass: dnsdomain objectclass: domainrelatedobject dc: server arecord: 10.1.0.1 arecord: 172.168.0.1 associateddomain: server.example.dom # domain alias ({mail2,ns}.example.dom is CNAME for server.example.dom) # cnamerecord must only contain one entry dn: dc=backup,dc=snapcount objectclass: top objectclass: dnsdomain objectclass: domainrelatedobject dc: server cnamerecord: server.example.dom associateddomain: mail2.example.dom associateddomain: ns.example.dom