<div dir="ltr">Greetings!<div><br></div><div>I'm having an odd problem trying to implement load balancing/redundancy. I have added the following lines to my radiusd.conf</div><div><br></div><div>authorize {...<br></div>
<div><div>#</div><div># We want redundant ldap lookups</div><div>##</div><div>redundant-load-balance {</div><div>        ldap1</div><div>        ldap2</div><div>}</div><div>##</div><div># end redundancy</div><div>##</div>
<div> }</div><div><br></div><div>modules (...</div><div><br></div><div><div>  ldap ldap1 {</div><div>        }<br></div><div><br></div></div><div>  ldap ldap2 {</div><div>        }</div><div><br></div><div> }</div><div><br>
</div><div><br></div><div>Scenarios:</div><div><br></div><div>This occurs using freeradius 1.1.7 (built from source)  on a centos 5 box.</div><div>If they both are specified correctly everything appears to work ok .</div>
<div><br></div><div>When I purposely break ldap1 it works great and uses ldap2 for the LDAP lookup.</div><div><br></div><div>When I break ldap2 and correct the IP address ldap1 is using to do lookups I get an access-reject packet back. </div>
<div><br></div><div>Here is the snippet of the log (I am posting it for brevity, I will be more than happy to post all of radiusd -X)</div><div><br></div><div><div>---log bits for when it rejects the attempt--</div><div><br>
</div></div><div><div>lm_ldap:  ...some ldap server in ldap fairy land... failed: Can't contact LDAP server</div><div>rlm_ldap: (re)connection attempt failed</div><div>rlm_ldap::ldap_groupcmp: search failed</div><div>
rlm_ldap: ldap_release_conn: Release Id: 0</div><div>    users: Matched entry DEFAULT at line 69</div><div><br></div><div>here is rule 68-69:</div><div><br></div><div><div>DEFAULT Huntgroup-Name =="some huntgroup", Auth-Type = ntlm_auth_cleartext</div>
<div>        Fall-Through = 1</div><div>DEFAULT Huntgroup-Name == "some huntgroup",Ldap-Group != "someldapgroup", Auth-Type := Reject</div><div><br></div></div><div>I can  then see rlm_ldap doing the lookup successfully on ldap1</div>
<div><br></div><div>lm_ldap: ldap_get_conn: Checking Id: 0</div><div>rlm_ldap: ldap_get_conn: Got Id: 0</div><div>rlm_ldap: attempting LDAP reconnection</div><div>rlm_ldap: (re)connect to ldap1:3268, authentication 0</div>
<div>rlm_ldap: waiting for bind result ...<br></div><div>rlm_ldap: Bind was successful</div><div>rlm_ldap: performing search in dc=.....</div><div>rlm_ldap: looking for check items in directory...</div><div>rlm_ldap: Adding memberOf as Ldap-Group == "..."</div>
<div><br></div><div><br></div><div>What I think is happening is since the LDAP lookup failed the user is indeed not a user of the group (doesn't exist etc..)  so it matches on the failure,  since its first match it doesn't matter that is matches on the second lookup. It still gives me a failure. Is their a way keep it from rejecting the attempt if ldap2 is down?</div>
<div><br></div></div></div></div>