<div dir="ltr">Hi,<br><br>I'm currently trying to authenticate a strongswan client using Cisco ePDG as an ikev2 tunnel termination and Alcatel Lucent  Motive, as AAA server. Authentication is based on diameter protocol.<br><br>Strongswan client <---------> Cisco ePDG <------------> AAA<br><br>Every thing goes well during a simple EAP-MSCHAPv2 authentication and i'm getting  "EAP-MS-CHAPv2 succeeded: '(null)' ". <br>At the end, the connection fails because the ePDG is not yet connected to Packet Data Network Gateway, but the authentication suceed as shown bellow :<br>###################################################################<br>initiating IKE_SA eap_mschapv2[13] to X.X.X.X<br>generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) ]<br>sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (320 bytes)<br>received packet: from X.X.X.X[500] to Y.Y.Y.Y[500] (288 bytes)<br>parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]<br>establishing CHILD_SA eap_mschapv2<br>generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) IDr CPRQ(ADDR DNS DNS) SA TSi TSr N(EAP_ONLY) ]<br>sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (268 bytes)<br>received packet: from X.X.X.X[500] to Y.Y.Y.Y[500] (108 bytes)<br>parsed IKE_AUTH response 1 [ IDr EAP/REQ/ID ]<br>server requested EAP_IDENTITY (id 0x02), sending '<a href="mailto:xxxxxxxxxxxxxxxx@nai.epc.mncxxx.mccxxx.3gppnetwork.org">xxxxxxxxxxxxxxxx@nai.epc.mncxxx.mccxxx.3gppnetwork.org</a>'<br>allow mutual EAP-only authentication<br>generating IKE_AUTH request 2 [ EAP/RES/ID ]<br>sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (124 bytes)<br>received packet: from X.X.X.X[500] to Y.Y.Y.Y[500] (140 bytes)<br>parsed IKE_AUTH response 2 [ EAP/REQ/MSCHAPV2 ]<br>server requested EAP_MSCHAPV2 authentication (id 0x03)<br>generating IKE_AUTH request 3 [ EAP/RES/MSCHAPV2 ]<br>sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (188 bytes)<br>received packet: from X.X.X.X[500] to Y.Y.Y.Y[500] (124 bytes)<br>parsed IKE_AUTH response 3 [ EAP/REQ/MSCHAPV2 ]<br>EAP-MS-CHAPv2 succeeded: '(null)'<br>generating IKE_AUTH request 4 [ EAP/RES/MSCHAPV2 ]<br>sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (76 bytes)<br>received packet: from X.X.X.X[500] to Y.Y.Y.Y[500] (76 bytes)<br>parsed IKE_AUTH response 4 [ ]<br>generating INFORMATIONAL request 5 [ N(AUTH_FAILED) ]<br>sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (76 bytes)<br>establishing connection 'eap_mschapv2' failed<br>###################################################################<br><br>When i try a connection based on EAP-TTLS and MSCHAPv2 in phase 2, i got the following error : expected AVP_EAP_MESSAGE but received 462<br><br>###################################################################<br>initiating IKE_SA eap_ttls_mschapv2[12] to X.X.X.X<br>generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) ]<br>sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (320 bytes)<br>received packet: from X.X.X.X[500] to Y.Y.Y.Y[500] (288 bytes)<br>parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]<br>establishing CHILD_SA eap_ttls_mschapv2<br>generating IKE_AUTH request 1 [ IDi CPRQ(ADDR DNS DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(EAP_ONLY) ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (268 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (108 bytes)<br>parsed IKE_AUTH response 1 [ IDr EAP/REQ/ID ]<br>server requested EAP_IDENTITY (id 0x02), sending '<a href="mailto:xxxxxxxxxxxxxxxx@nai.epc.mncxxx.mccxxx.3gppnetwork.org">xxxxxxxxxxxxxxxx@nai.epc.mncxxx.mccxxx.3gppnetwork.org</a>'<br>allow mutual EAP-only authentication<br>generating IKE_AUTH request 2 [ EAP/RES/ID ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (124 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (76 bytes)<br>parsed IKE_AUTH response 2 [ EAP/REQ/TTLS ]<br>server requested EAP_TTLS authentication (id 0x03)<br>EAP_TTLS version is v0<br>generating IKE_AUTH request 3 [ EAP/RES/TTLS ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (252 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (1100 bytes)<br>parsed IKE_AUTH response 3 [ EAP/REQ/TTLS ]<br>generating IKE_AUTH request 4 [ EAP/RES/TTLS ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (76 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (1100 bytes)<br>parsed IKE_AUTH response 4 [ EAP/REQ/TTLS ]<br>generating IKE_AUTH request 5 [ EAP/RES/TTLS ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (76 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (972 bytes)<br>parsed IKE_AUTH response 5 [ EAP/REQ/TTLS ]<br>negotiated TLS 1.1 using suite TLS_RSA_WITH_AES_128_CBC_SHA<br>received TLS server certificate 'C=FR, O=company France, OU=<a href="http://www.company.com">www.company.com</a>, CN=company France - server, L=Arceuil Cedex / Lyon, ST=company'<br>received TLS intermediate certificate 'C=FR, O=company France, OU=<a href="http://www.company.com">www.company.com</a>, CN=company France - root, L=Arceuil Cedex / Lyon, ST=company'<br>  using certificate "C=FR, O=company France, OU=<a href="http://www.company.com">www.company.com</a>, CN=company France - server, L=Arceuil Cedex / Lyon, ST=company"<br>  using trusted ca certificate "C=FR, O=company France, OU=<a href="http://www.company.com">www.company.com</a>, CN=company France - root, L=Arceuil Cedex / Lyon, ST=company"<br>checking certificate status of "C=FR, O=company France, OU=<a href="http://www.company.com">www.company.com</a>, CN=company France - server, L=Arceuil Cedex / Lyon, ST=company"<br>certificate status is not available<br>  reached self-signed root ca with a path length of 0<br>generating IKE_AUTH request 6 [ EAP/RES/TTLS ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (428 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (156 bytes)<br>parsed IKE_AUTH response 6 [ EAP/REQ/TTLS ]<br>sending tunneled EAP-TTLS AVP [EAP/RES/ID]<br>generating IKE_AUTH request 7 [ EAP/RES/TTLS ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (204 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (220 bytes)<br>parsed IKE_AUTH response 7 [ EAP/REQ/TTLS ]<br>expected AVP_EAP_MESSAGE but received 462<br>sending TLS close notify<br>generating IKE_AUTH request 8 [ EAP/RES/TTLS ]<br>sending packet: from Y.Y.Y.Y[4500] to X.X.X.X[4500] (140 bytes)<br>received packet: from X.X.X.X[4500] to Y.Y.Y.Y[4500] (92 bytes)<br>parsed IKE_AUTH response 8 [ EAP/FAIL N(AUTH_FAILED) ]<br>received AUTHENTICATION_FAILED notify error<br>establishing connection 'eap_ttls_mschapv2' failed<br>###################################################################<br><br>The value "462" corresponds to "EAP-Payload" diameter AVP.<br> <br>I noted that the eap_ttls pulgin source code contain "AVP_EAP_MESSAGE" variable mapped to "79" int value, which corresponds to "EAP-Message" RADIUS attribute :<br>  <br>src/libcharon/plugins/eap_ttls/eap_ttls_avp.c:20:#define AVP_EAP_MESSAGE                79<br>src/libcharon/plugins/eap_ttls/eap_ttls_avp.c:68:       writer->write_uint32(writer, AVP_EAP_MESSAGE);<br>src/libcharon/plugins/eap_ttls/eap_ttls_avp.c:126:              if (avp_code != AVP_EAP_MESSAGE)<br>src/libcharon/plugins/eap_ttls/eap_ttls_avp.c:128:                      DBG1(DBG_IKE, "expected AVP_EAP_MESSAGE but received %u", avp_code);<br><br>Does it mean that strongswan's EAP TTLS plugin is only compatible with radius attributes ?<br>Any ideas to solve the problem ?<br><br>Thanks for you're help,<br><br>Marwane<br></div>