Having done some more research, it appears that Active Directory also has some 
settings that could result in disconnected connections. I experimented with 
idle-timeout set to 30 seconds for the LDAP databases, but this seemed to 
exacerbate the frequency of the errors. The behaviour exhibits as 'dead' 
connections, and LDAP does not appear to attempt to re-establish these 
connections. Using the CentOS distro of OpenLDAP 2.4.23

Here are the slapd.conf settings:

database                ldap
readonly                on
suffix                  "dc=xyz,dc=local"
#noundeffilter           yes
#use-temporary-conn      yes
uri                     "ldap://IP1/ ldap://IP2/ ldap://3/ ldap://IPn/";


database                ldap
readonly                on
suffix                  "dc=abc,dc=adroot,dc=abc,dc=bc,dc=ca"
#noundeffilter           yes
#use-temporary-conn      yes
uri                     "ldap://IP11/ ldap://IP12/ ldap://13/ ldap://IP1n/";


I have some rewrite rules for bindDN, searchEntryDN, searchAttrDN, matchedDN, 
but I don't believe these settings are relevant to the issue at hand.

Essentially I want the connections to be re-established without generating 
errors.

Thanks
_____________________________________________
From: Bryce Powell
Sent: December 10, 2012 01:32 PM
To: [email protected]
Subject: LDAP database timeout settings


Hi,

I have configured two LDAP backend databases, each pointing to a difference 
Active Directory domain (multiple domain controllers specified per domain). 
After a period of time after slapd starts, the ldap log file shows multiple 
entries like this for the various connections (conns=nnnn):

Dec 10 13:18:03 vmxxxldap01 slapd[7826]: conn=1004 op=27 SEARCH RESULT tag=101 
err=1 nentries=0 text=000004DC: LdapErr: DSID-0C0906E8, comment: In order to 
perform this operation a successful bind must be completed on the connection., 
data 0, v1db1

Without going into too much detail regarding the configuration, I'm wondering 
if I need to specify LDAP database configuration settings for:
idle-timeout
network-timeout

man slapd-ldap:

       idle-timeout <time>
              This directive causes a cached connection to be dropped an 
recreated after it has been idle for the specified time.

       network-timeout <time>
              Sets the network timeout value after which poll(2)/select(2) 
following a connect(2) returns in case of no activity.  The value is in 
seconds, and it can be specified as for idle-timeout.


I don't understand the explanation for network-timeout though, and am hoping 
someone can kindly explain it in more detail, and suggest a scenario for its 
appropriate usage.

Also, when is it appropriate to use the ldap.conf NETWORK_TIMEOUT setting?

man ldap.conf:

       NETWORK_TIMEOUT <integer>
              Specifies the timeout (in seconds) after which the 
poll(2)/select(2) following a connect(2) returns in case of no activity.




Could someone please suggest the best approach for my use case?  Of course, I 
might also be completely off the mark here ...

Thanks
Bryce Powell


Reply via email to