PowerDNS LDAP Backend/Troubleshooting
Contents
Troubleshooting
Use of quotation marks ("")
Do never use quotation marks in the PowerDNS config files! They are not evaluated and remain part of the parameter value. This leads to hard to find errors, e.g. no objects are returned from the ldap directory.
No reverse zone transfer
Your ldap tree must contain a seperate subtree of PTR records (e.g. for 1.1.10.10.in-addr.arpa) and you can't set "ldap-method" to "strict".
IPv6 reverse lookup doesn't work in strict mode
For automatically generated reverse IPv6 records your AAAARecord entries must follow two restrictions: They have to be fully expanded ("FFFF::1" is not allowed and it must be "FFFF:0:0:0:0:0:0:1" instead) and they must not contain leading zeros, e.g. an entry containing "002a" is incorrect - use "2a" without zeros instead. These restrictions are due to the fact that LDAP AAAA entries are pure text and doesn't allow searching by wildcards.
Bad search filter
Note, that when applying ldap-filter-lookup, in user provided string (remember, no " or ' quotes!), a string part :target: is replaced with - without quotes - "(associatedDomain=QUERYDATA)" and braces ARE added. So if You create some filter like
ldap-filter-lookup=(&(:target:)(active=yes))
it will result as
ldap-filter-lookup=(&((associatedDomain=QUERYDATA))(active=yes))
which results with bad search filter. Instead You should add
ldap-filter-lookup=(&:target:(active=yes))
to get wanted result.
I guess strbind function should be replaced with some more intuitive version, and probably some ldap-target-attribute-name would be very useful, to be able to decide which attribute actually get used with query.
Feel free to add your own tips
Back to Overview