<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: !
; '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>  
;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>