<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
I configured my freeradius 1.1.7 + oracle + cisco 3750 switch to do 802.1x authentication for wired client. I configured it with EAP/MD5 method and it works well. Now I want to use peap/mschap-v2 method,but I didn't configure LDAP in radiusd.conf,and when the server start it report some error.Below are the details:<BR>
<FONT color=#ff0000>radiusd.conf:<BR></FONT>authorize {<BR>        preprocess<BR>        mschap<BR>        sql<BR>        eap<BR>    }<BR>    <BR>    authenticate {<BR>         <BR>         Auth-Type MS-CHAP {<BR>               mschap<BR>          }<BR>         eap<BR>     }<BR><BR><FONT color=red>eap.conf:</FONT><BR>eap {<BR>     default_eap_type = peap<BR>     timer_expire     = 60<BR>     ignore_unknown_eap_types = no<BR>     <BR>     }<BR><BR>tls {<BR>    private_key_password = whatever    <BR>    private_key_!
 file = ${raddbdir}/certs/cert-srv.pem<BR>    certificate_file = ${raddbdir}/certs/cert-srv.pem<BR>    CA_file = ${raddbdir}/certs/demoCA/cacert.pem<BR>    dh_file = ${raddbdir}/certs/dh <BR>    random_file = ${raddbdir}/certs/random<BR>    fragment_size = 1024<BR>    }<BR><BR>peap {<BR>    default_eap_type = mschapv2<BR>    copy_request_to_tunnel = no<BR>    use_tunneled_reply = no<BR>  }<BR>mschapv2 {<BR>  }<BR><BR>
 <BR>
The debug message of  radiusd -X:<BR>
rad_recv: Access-Request packet from host 10.0.99.1:1645, id=141, length=252<BR>        NAS-IP-Address = 10.0.99.1<BR>        NAS-Port = 50441<BR>        Cisco-NAS-Port = "FastEthernet4/0/41"<BR>        NAS-Port-Type = Ethernet<BR>        User-Name = "testuser"<BR>        Called-Station-Id = "00-19-2F-E1-C0-AD"<BR>        Calling-Station-Id = "00-10-C6-A8-DA-00"<BR>        Service-Type = Framed-User<BR>        Framed-MTU = 1500<BR>        State = 0xb9868a780c968e9716093b01742690ee<BR>        EAP-Message = 0x0206005a1900170301004f4ea0464ecb62296c3fe83ddbe7cb46cfc87deccd3b5d7786299443f17d173f52209f2eefb5497f3153bdd751357d7b5beb55afb0d7e60d775792b3755644!
 44f5f30c0ad8cae5c74b398405d8cc4b63<BR>        Message-Authenticator = 0x3ced719a5b1cfdb5e3e3c49fa411e309<BR>  Processing the authorize section of radiusd.conf<BR>modcall: entering group authorize for request 6<BR>  modcall[authorize]: module "preprocess" returns ok for request 6<BR>radius_xlat:  '/usr/local/var/log/radius/radacct/10.0.99.1/auth-detail-20090225'<BR>rlm_detail: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/10.0.99.1/auth-detail-20090225<BR>  modcall[authorize]: module "auth_log" returns ok for request 6<BR>  modcall[authorize]: module "mschap" returns noop for request 6<BR>  rlm_eap: EAP packet type response id 6 length 90<BR>  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation<BR>  modcall[authorize]: module "eap" returns updated for request 6<BR>radius_xlat:&nbsp!
 ; 'testuser'<BR>rlm_sql (sql): sql_set_user escaped user --> '
testuser'<BR>radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE Username = 'testuser' and (mac = '00-10-C6-A8-DA-00' or mac is null) ORDER BY id'<BR>rlm_sql (sql): Reserving sql socket id: 2<BR>radius_xlat:  'SELECT radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE usergroup.Username = 'testuser' AND usergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id'<BR>radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE Username = 'testuser' ORDER BY id'<BR>radius_xlat:  'SELECT radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE usergroup.Username = 'testuser' AND usergroup.GroupName = radgroupreply.GroupName ORDER BY radgroupreply.id'<BR>rlm_sql (sql): Released sql socket id: 2<BR>  mo!
 dcall[authorize]: module "sql" returns ok for request 6<BR>modcall: leaving group authorize (returns updated) for request 6<BR>  rad_check_password:  Found Auth-Type EAP<BR>auth: type "EAP"<BR>  Processing the authenticate section of radiusd.conf<BR>modcall: entering group authenticate for request 6<BR>  rlm_eap: Request found, released from the list<BR>  rlm_eap: EAP/peap<BR>  rlm_eap: processing type peap<BR>  rlm_eap_peap: Authenticate<BR>  rlm_eap_tls: processing TLS<BR>  eaptls_verify returned 7 <BR>  rlm_eap_tls: Done initial handshake<BR>  eaptls_process returned 7 <BR>  rlm_eap_peap: EAPTLS_OK<BR>  rlm_eap_peap: Session established.  Decoding tunneled attributes.<BR>  rlm_eap_peap: EAP type mschapv2<BR>  rlm_eap_peap: Tunneled data is valid.<BR>  PEAP: Got tunneled EAP-Message<BR>    !
     EAP-Message = 0x020600431a0206003e316cdcc08e1adf37f
db332d32419efee1300000000000000002667d1668b083c47ab1b70edc530d3d3d9f0bb9a4c254ce8007465737475736572<BR>  PEAP: Setting User-Name to testuser<BR>  PEAP: Adding old state with 64 0b<BR>  PEAP: Sending tunneled request<BR>        EAP-Message = 0x020600431a0206003e316cdcc08e1adf37fdb332d32419efee1300000000000000002667d1668b083c47ab1b70edc530d3d3d9f0bb9a4c254ce8007465737475736572<BR>        FreeRADIUS-Proxied-To = 127.0.0.1<BR>        User-Name = "testuser"<BR>        State = 0x640b188d31bc5ddc785afe862ca9225f<BR>  Processing the authorize section of radiusd.conf<BR>modcall: entering group authorize for request 6<BR>  modcall[authorize]: module "preprocess" returns ok for request 6<BR>radius_xlat:  '/usr/local/var/log/radius/radacct/127.0.0.1/auth-detail-20090225'<BR>rlm_detail: /usr/local/var/log/radiu!
 s/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/127.0.0.1/auth-detail-20090225<BR>  modcall[authorize]: module "auth_log" returns ok for request 6<BR>  modcall[authorize]: module "mschap" returns noop for request 6<BR>  rlm_eap: EAP packet type response id 6 length 67<BR>  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation<BR>  modcall[authorize]: module "eap" returns updated for request 6<BR>radius_xlat:  'testuser'<BR>rlm_sql (sql): sql_set_user escaped user --> 'testuser'<BR>radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE Username = 'testuser' and (mac = '' or mac is null) ORDER BY id'<BR>rlm_sql (sql): Reserving sql socket id: 1<BR>rlm_sql (sql): User testuser not found in radcheck<BR>radius_xlat:  'SELECT radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck!
 .op  FROM radgroupcheck,usergroup WHERE usergroup.Username =
 'testuser' AND usergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id'<BR>radius_xlat:  'SELECT radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE usergroup.Username = 'testuser' AND usergroup.GroupName = radgroupreply.GroupName ORDER BY radgroupreply.id'<BR>  rlm_sql (sql): User testuser not found in radgroupcheck<BR>  rlm_sql (sql): Released sql socket id: 1<BR>  rlm_sql (sql): User not found<BR>  modcall[authorize]: module "sql" returns notfound for request 6<BR>  modcall: leaving group authorize (returns updated) for request 6<BR>  rad_check_password:  Found Auth-Type EAP<BR>  auth: type "EAP"<BR>  Processing the authenticate section of radiusd.conf<BR>  modcall: entering group authenticate for request 6<BR>  rlm_eap: Request found, release!
 d from the list<BR>  rlm_eap: EAP/mschapv2<BR>  rlm_eap: processing type mschapv2<BR>  Processing the authenticate section of radiusd.conf<BR>  modcall: entering group MS-CHAP for request 6<BR>  <FONT color=red>rlm_mschap: No User-Password configured.  Cannot create LM-Password.<BR>  rlm_mschap: No User-Password configured.  Cannot create NT-Password.<BR>  rlm_mschap: Told to do MS-CHAPv2 for testuser with NT-Password<BR>  rlm_mschap: FAILED: No NT/LM-Password.  Cannot perform authentication.<BR>  rlm_mschap: FAILED: MS-CHAP2-Response is incorrect</FONT> <BR>  modcall[authenticate]: module "mschap" returns reject for request 6<BR>  modcall: leaving group MS-CHAP (returns reject) for request 6<BR>  rlm_eap: Freeing handler<BR>  modcall[authenticate]: module "eap" returns reject for request 6<BR>  modcall: le!
 aving group authenticate (returns reject) for request 6<BR> &nbsp
;auth: Failed to validate the user.<BR>  Login incorrect: [testuser/<no User-Password attribute>] (from client localhost port 0)<BR>                                 ......<BR>
<BR>and<BR>
<BR>                                 ......<BR>  modcall: leaving group authorize (returns updated) for request 7<BR>  rad_check_password:  Found Auth-Type EAP<BR>  auth: type "EAP"<BR>  Processing the authenticate section of radiusd.conf<BR>  modcall: entering group authenticate for request 7<BR>  rlm_eap: Request found, released from the list<BR>  rlm_eap: EAP/peap<BR>  rlm_eap: processing type peap<BR>  rlm_eap_peap: Authenticate<BR>  rlm_eap_tls: processing TLS<BR>  eaptls_verify returned 7 <BR>  rlm_eap_tls: Done initial handshake<BR>  eaptls_process returned 7 <BR>  rlm_eap_peap: EAPTLS_OK<BR>  rlm_eap_peap: Session established.  Decoding t!
 unneled attributes.<BR>  rlm_eap_peap: Received EAP-TLV response.<BR>  rlm_eap_peap: Tunneled data is valid.<BR>  <FONT color=red>rlm_eap_peap:  Had sent TLV failure.  User was rejcted rejected earlier in this session.<BR>  rlm_eap: Handler failed in EAP/peap<BR>  rlm_eap: Failed in EAP select<BR>  modcall[authenticate]: module "eap" returns invalid for request 7<BR>  modcall: leaving group authenticate (returns invalid) for request 7<BR>  auth: Failed to validate the user.<BR>  Login incorrect: [testuser/<no User-Password attribute>] (from client bg3750 port 50441 cli 00-10-C6-A8-DA-00)</FONT><BR>  Delaying request 7 for 1 seconds<BR>  Finished request 7<BR>  Going to the next request<BR>
 <BR>
 <BR>
 <BR>
Does it because I'm not configure LDAP? Does PEAP/MSCHAP-V2 must use with LDAP? <BR>
In my database  I have already add the  "testuser  User-Password  :=  test123" in radcheck table but it doesn't work.  <BR> <BR><br /><hr />更多热辣资讯尽在新版MSN首页! <a href='http://cn.msn.com/' target='_new'>立刻访问!</a></body>
</html>