I'm hoping somebody can shed a little light on this, I found it very strange.<br><br>btw:<br>we're talking about freeradius version 1.1.3 here.<br><br>We currently run some lesser radius server on our network, and I have been engaged in converting the environment to freeradius (yea!).
<br><br>I believe we have worked out (lab and pilot-site testing) all the kinks for our authentication needs, and today we attempted to implement the change across our whole network.<br><br>Our lesser radius server lives on two physical boxes and listens on ports 1645/1646 AND 1812/1813  (can freeradius mimic this and listen on both sets of ports?)
<br><br>Our plan has been to make sure appropriate radius client devices were all pointing to the 1812/1813 authentication ports prior to the change.  The change involved stopping the lesser server and bringing up freeradius on the ports 1812/1813 on both of the two physical servers.  
<br><br>The idea was that the clients (chiefly Cisco WAPs) would have a seemless conversion and continue to authenticate using the same IP and ports they were previously using.  This however was not the observed result.  What happened was almost universal failure.  
<br><br>What we saw were requests coming into freeradius, being processed as expected, and returning the appropriate response - many Accept responses clearly visible in the logs.  The radius clients however did not accept these responses and treated them as authentication failure.  
<br><br>The pilot:  <br>We ran freeradius on ports 11812/11813 on these same physical servers, side-by-side with the lesser radius server.  We then pointed the client devices to the alternate port combination.  They were successful and behaved exactly as expected.  Log (debug) output from freeradius for the successful pilots and the failed implementation today are identical, however, with the new ports today 1812/1813 the pilot sites who had previously been working also failed.
<br><br><br>Does anyone have an idea what could have happened here?  If a radius client was talking to server X, and then suddenly recieves a response from server Y on the same IP / port combination... is there some way that the client can tell the server has changed, and thus reject any responses from it as invalid?  Does the radius client bind in some way to the server (on the application layer I would assume)?  Shared secrets are the same and the request is clearly visible and processed by freeradius.
<br><br>debug output for a request looks like the following:  freeradius does it's job but the client device doesn't authenticate the user.  Please note that LDAP should fail in this instance.  LDAP is used for another kind of authentication.  The users file which matches DEFAULT at line 7798 is where the authentication comes from.
<br><br>Nov 29 10:58:48 rad_recv: Access-Request packet from host <a href="http://10.32.251.10:32768">10.32.251.10:32768</a>, id=105, length=183<br>Nov 29 10:58:48         User-Name = "0014a4858ad0"<br>Nov 29 10:58:48         Called-Station-Id = "00-15-62-a9-cc-50:guest"
<br>Nov 29 10:58:48         Calling-Station-Id = "00-14-a4-85-8a-d0"<br>Nov 29 10:58:48         NAS-Port = 29<br>Nov 29 10:58:48         NAS-IP-Address = <a href="http://10.32.251.10">10.32.251.10</a><br>Nov 29 10:58:48         NAS-Identifier = "co-lp-wlc01"
<br>Nov 29 10:58:48         Airespace-Wlan-Id = 7<br>Nov 29 10:58:48         User-Password = "********"<br>Nov 29 10:58:48         Service-Type = Call-Check<br>Nov 29 10:58:48         Framed-MTU = 1300<br>Nov 29 10:58:48         NAS-Port-Type = 
Wireless-802.11<br>Nov 29 10:58:48         Tunnel-Type:0 = VLAN<br>Nov 29 10:58:48         Tunnel-Medium-Type:0 = IEEE-802<br>Nov 29 10:58:48         Tunnel-Private-Group-Id:0 = "2250"<br>Nov 29 10:58:48   Processing the authorize section of 
radiusd.conf<br>Nov 29 10:58:48 modcall: entering group authorize for request 0<br>Nov 29 10:58:48   hints: Matched DEFAULT at 39<br>Nov 29 10:58:48   modcall[authorize]: module "preprocess" returns ok for request 0
<br>Nov 29 10:58:48     rlm_realm: No '@' in User-Name = "0014a4858ad0", looking up realm NULL<br>Nov 29 10:58:48     rlm_realm: No such realm "NULL"<br>Nov 29 10:58:48   modcall[authorize]: module "suffix" returns noop for request 0
<br>Nov 29 10:58:48     users: Matched entry DEFAULT at line 7798<br>Nov 29 10:58:48   modcall[authorize]: module "files" returns ok for request 0<br>Nov 29 10:58:48 radius_xlat:  '/usr/local/freeradius/etc/scripts/wireless.atz 0014a4858ad0'
<br>Nov 29 10:58:48 Exec-Program: /usr/local/freeradius/etc/scripts/wireless.atz 0014a4858ad0<br>Nov 29 10:58:48 Exec-Program output: Requested WLAN is not restricted, deferring authentication.<br>Nov 29 10:58:48 Exec-Program-Wait: plaintext: Requested WLAN is not restricted, deferring authentication.
<br>Nov 29 10:58:48 Exec-Program: returned: 0<br>Nov 29 10:58:48   modcall[authorize]: module "wireless" returns ok for request 0<br>Nov 29 10:58:48 rlm_ldap: - authorize<br>Nov 29 10:58:48 rlm_ldap: performing user authorization for 0014a4858ad0
<br>Nov 29 10:58:48 radius_xlat:  '(&(uid=0014a4858ad0)(accesslist=)(isaccountenabled=true))'<br>Nov 29 10:58:48 radius_xlat:  'o=xyz'<br>Nov 29 10:58:48 rlm_ldap: ldap_get_conn: Checking Id: 0<br>Nov 29 10:58:48 rlm_ldap: ldap_get_conn: Got Id: 0
<br>Nov 29 10:58:48 rlm_ldap: attempting LDAP reconnection<br>Nov 29 10:58:48 rlm_ldap: (re)connect to <a href="http://ldapvip.co.ihc.com:389">ldapvip.co.ihc.com:389</a>, authentication 0<br>Nov 29 10:58:48 rlm_ldap: bind as appl=VPN Radius Server, ou=applications, o=xyz/******** to 
<a href="http://ldapvip.xyz.com:389">ldapvip.xyz.com:389</a><br>Nov 29 10:58:48 rlm_ldap: waiting for bind result ...<br>Nov 29 10:58:48 rlm_ldap: Bind was successful<br>Nov 29 10:58:48 rlm_ldap: performing search in o=xyz, with filter (&(uid=0014a4858ad0)(accesslist=)(isaccountenabled=true))
<br>Nov 29 10:58:48 rlm_ldap: object not found or got ambiguous search result<br>Nov 29 10:58:48 rlm_ldap: search failed<br>Nov 29 10:58:48 rlm_ldap: ldap_release_conn: Release Id: 0<br>Nov 29 10:58:48   modcall[authorize]: module "ldap" returns notfound for request 0
<br>Nov 29 10:58:48 modcall: leaving group authorize (returns ok) for request 0<br>Nov 29 10:58:48   rad_check_password:  Found Auth-Type Accept<br>Nov 29 10:58:48   rad_check_password: Auth-Type = Accept, accepting the user
<br>Nov 29 10:58:48 Sending Access-Accept of id 105 to <a href="http://10.32.251.10">10.32.251.10</a> port 32768<br>Nov 29 10:58:48 Finished request 0<br><br><br>Thanks,<br>Lin<br><br><br><br>