Hello,

I have two freeradius v2.1.3-1 servers setup to run with redundant load 
balancing with two Windows Active Directory LDAP servers for authentication.  
When the LDAP servers are running the radius will load-balance between them and 
authenticate fine.  If I shut the primary LDAP server down radius doesn't 
authenticate properly against the second LDAP server.  I have tested the 
secondary LDAP as the the primary in the radius configuration and it works 
fine.  If I change the radius config to have a bogus primary name it will then 
authenticate with the secondary fine.  But when it has the correct name and the 
primary is down the authentication fails.  I believe it may have something to 
do with ntlm_auth but I don't understand why as in the other test instances 
with the bogus name it works.  Below is the LDAP portion of my server along 
with  a part of the debug of what happens when I shutdown the primary LDAP 
server.   If anyone has any suggestions it would be much appreciated. 

Thank you,

Justin


Radius.conf

*************************************************************************************************

ldap ds-01 {
                                server = "ldap1.domain.org"
                                port = 3268
                                identity = " [email protected] "
                                password = "****"
                                basedn = "dc=domain,dc=org"
                                filter = 
"(sAMAccountname=%{mschap:User-Name:-%{User-Name}})"
                                ldap_connections_number = 5
                                timeout = 4
                                timelimit = 3
                                net_timeout = 1
                                tls {
                                                start_tls = no
                                }
                                dictionary_mapping = ${confdir}/ldap.attrmap
                                edir_account_policy_check = no

                                groupname_attribute = cn
                                groupmembership_filter = 
"(|(&(objectClass=GroupOfNames)(member=%{Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"
                                groupmembership_attribute = memberOf
                                 
                }

ldap ds-02 {
                                server = "ldap2.domain.org"
                                port = 3268
                                identity = "****"
                                password = "****"
                                basedn = "dc=domain,dc=org"
                                filter = 
"(sAMAccountname=%{mschap:User-Name:-%{User-Name}})"
                                ldap_connections_number = 5
                                timeout = 4
                                timelimit = 3
                                net_timeout = 1
                                tls {
                                                start_tls = no
                                }
                                dictionary_mapping = ${confdir}/ldap.attrmap
                                edir_account_policy_check = no
                                 groupname_attribute = cn
                                groupmembership_filter = 
"(|(&(objectClass=GroupOfNames)(member=%{Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"
                                groupmembership_attribute = memberOf
                }

instantiate {
                                exec
                                expr
                                expiration
                                logintime
                                redundant-load-balance redundant_ldap {
                                                ds-01
                       ds-02
                       }

       }
       
****************************************************************************************************



Debug file portion that points to ntlm_auth (as you can see the redundancy 
works except the ms-chap portion)

****************************************************************************************************
++- entering redundant-load-balance group redundant_ldap {...}
[ds-01] performing user authorization for DoeJ
[ds-01]         expand: (sAMAccountname=%{mschap:User-Name:-%{User-Name}}) -> 
(sAMAccountname=DoeJ)
[ds-01]         expand: dc=domain,dc=org -> dc=domain,dc=org
rlm_ldap: ldap_get_conn: Checking Id: 0
rlm_ldap: ldap_get_conn: Got Id: 0
rlm_ldap: attempting LDAP reconnection
rlm_ldap: (re)connect to ldap1.domain.org:3268, authentication 0
rlm_ldap: bind as [email protected]/**** to ldap1.domain.org:3268
rlm_ldap: [email protected] bind to ldap1.domain.org:3268 failed: Can't contact 
LDAP server
rlm_ldap: (re)connection attempt failed
[ds-01] search failed
rlm_ldap: ldap_release_conn: Release Id: 0
+++[ds-01] returns fail
[ds-02] performing user authorization for DoeJ
[ds-02]         expand: (sAMAccountname=%{mschap:User-Name:-%{User-Name}}) -> 
(sAMAccountname=DoeJ)
[ds-02]         expand: dc=domain,dc=org -> dc=domain,dc=org
rlm_ldap: ldap_get_conn: Checking Id: 0
rlm_ldap: ldap_get_conn: Got Id: 0
rlm_ldap: performing search in dc=domain,dc=org, with filter 
(sAMAccountname=DoeJ)
[ds-02] looking for check items in directory...
[ds-02] looking for reply items in directory...
WARNING: No "known good" password was found in LDAP.  Are you sure that the 
user is configured correctly?
[ds-02] user DoeJ authorized to use remote access
rlm_ldap: ldap_release_conn: Release Id: 0
+++[ds-02] returns ok
++- redundant-load-balance group redundant_ldap returns ok
++[expiration] returns noop
++[logintime] returns noop
++[pap] returns noop
Found Auth-Type = EAP
+- entering group authenticate {...}
[eap] Request found, released from the list
[eap] EAP/mschapv2
[eap] processing type mschapv2
[mschapv2] +- entering group MS-CHAP {...}
[mschap] No Cleartext-Password configured.  Cannot create LM-Password.
[mschap] No Cleartext-Password configured.  Cannot create NT-Password.
[mschap] Told to do MS-CHAPv2 for DoeJ with NT-Password
[mschap] WARNING: Deprecated conditional expansion ":-".  See "man unlang" for 
details
[mschap]        expand: --username=%{Stripped-User-Name:-%{mschap:User-Name}} 
-> --username=DoeJ
[mschap]  mschap2: 4d
[mschap]        expand: --challenge=%{mschap:Challenge:-00} -> 
--challenge=92aa0495d9c105f7
[mschap]        expand: --nt-response=%{mschap:NT-Response:-00} -> 
--nt-response=ab395391ee828796a6b2458cf767e8fa87eb8530457f7b67
Exec-Program output: No logon servers (0xc000005e) 
Exec-Program-Wait: plaintext: No logon servers (0xc000005e) 
Exec-Program: returned: 1
[mschap] External script failed.
[mschap] FAILED: MS-CHAP2-Response is incorrect
++[mschap] returns reject
[eap] Freeing handler
++[eap] returns reject
Failed to authenticate the user.
Login incorrect: [domain\\DoeJ] (from client switch-man-lan port 0 via TLS 
tunnel)
****************************************************************************************************


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to