Hi I have successfully used Freeradius1.0.1 to authenticate my clients using EAP-MD5 and EAP-TLS. But i am not able to get EAP -TTLS working. I have the same username password (users file) used in case of EAP-TTLS phase2 as that used in EAP-MD5 which is successful and also I have the same server cert being used for EAP -TTLS as that used in EAP-TLS which is successful Just that making the EAP-TTLS work is causing problems although with these credentials already working for EAP TLS and EAP -MD5 ...
Following is the log i have attached for a single EAP-TTLS Authentication session initiated by xsupplicant. Can any one suggest me how to work it ... regards arun Starting - reading configuration files ... reread_config: reading radiusd.conf Config: including file: /usr/local/etc//raddb/clients.conf Config: including file: /usr/local/etc//raddb/snmp.conf Config: including file: /usr/local/etc//raddb/eap.conf Config: including file: /usr/local/etc//raddb/sql.conf main: prefix = "/usr/local" main: localstatedir = "/usr/local/var" main: logdir = "/usr/local/var/log/radius" main: libdir = "/usr/local/lib" main: radacctdir = "/usr/local/var/log/radius/radacct" main: hostname_lookups = no main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: port = 0 main: allow_core_dumps = no main: log_stripped_names = no main: log_file = "/usr/local/var/log/radius/radius.log" main: log_auth = yes main: log_auth_badpass = no main: log_auth_goodpass = no main: pidfile = "/usr/local/var/run/radiusd/radiusd.pid" main: user = "(null)" main: group = "(null)" main: usercollide = no main: lower_user = "no" main: lower_pass = "no" main: nospace_user = "no" main: nospace_pass = "no" main: checkrad = "/usr/local/sbin/checkrad" main: proxy_requests = no security: max_attributes = 200 security: reject_delay = 1 security: status_server = no main: debug_level = 0 read_config_files: reading dictionary read_config_files: reading naslist Using deprecated naslist file. Support for this will go away soon. read_config_files: reading clients read_config_files: reading realms radiusd: entering modules setup Module: Library search path is /usr/local/lib Module: Loaded exec exec: wait = yes exec: program = "(null)" exec: input_pairs = "request" exec: output_pairs = "(null)" exec: packet_type = "(null)" rlm_exec: Wait=yes but no output defined. Did you mean output=none? Module: Instantiated exec (exec) Module: Loaded expr Module: Instantiated expr (expr) Module: Loaded PAP pap: encryption_scheme = "crypt" Module: Instantiated pap (pap) Module: Loaded CHAP Module: Instantiated chap (chap) Module: Loaded MS-CHAP mschap: use_mppe = yes mschap: require_encryption = no mschap: require_strong = no mschap: with_ntdomain_hack = no mschap: passwd = "(null)" mschap: authtype = "MS-CHAP" mschap: ntlm_auth = "(null)" Module: Instantiated mschap (mschap) Module: Loaded System unix: cache = no unix: passwd = "(null)" unix: shadow = "(null)" unix: group = "(null)" unix: radwtmp = "/usr/local/var/log/radius/radwtmp" unix: usegroup = no unix: cache_reload = 600 Module: Instantiated unix (unix) Module: Loaded eap eap: default_eap_type = "ttls" eap: timer_expire = 60 eap: ignore_unknown_eap_types = no eap: cisco_accounting_username_bug = no rlm_eap: Loaded and initialized type md5 tls: rsa_key_exchange = no tls: dh_key_exchange = yes tls: rsa_key_length = 512 tls: dh_key_length = 512 tls: verify_depth = 0 tls: CA_path = "(null)" tls: pem_file_type = yes tls: private_key_file = "/home/vpn/certs/ca_radius.pem" tls: certificate_file = "/home/vpn/certs/ca_radius.pem" tls: CA_file = "/home/vpn/certs/root.pem" tls: private_key_password = "test" tls: dh_file = "/etc/1x/dh" tls: random_file = "/etc/1x/random" tls: fragment_size = 1398 tls: include_length = yes tls: check_crl = no tls: check_cert_cn = "(null)" rlm_eap: Loaded and initialized type tls ttls: default_eap_type = "md5" ttls: copy_request_to_tunnel = no ttls: use_tunneled_reply = no rlm_eap: Loaded and initialized type ttls mschapv2: with_ntdomain_hack = no rlm_eap: Loaded and initialized type mschapv2 Module: Instantiated eap (eap) Module: Loaded preprocess preprocess: huntgroups = "/usr/local/etc//raddb/huntgroups" preprocess: hints = "/usr/local/etc//raddb/hints" preprocess: with_ascend_hack = no preprocess: ascend_channels_per_line = 23 preprocess: with_ntdomain_hack = no preprocess: with_specialix_jetstream_hack = no preprocess: with_cisco_vsa_hack = no Module: Instantiated preprocess (preprocess) Module: Loaded detail detail: detailfile = "/usr/local/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d" detail: detailperm = 384 detail: dirperm = 493 detail: locking = no Module: Instantiated detail (auth_log) Module: Loaded realm realm: format = "suffix" realm: delimiter = "@" realm: ignore_default = no realm: ignore_null = no Module: Instantiated realm (suffix) Module: Loaded files files: usersfile = "/usr/local/etc//raddb/users" files: acctusersfile = "/usr/local/etc//raddb/acct_users" files: preproxy_usersfile = "/usr/local/etc//raddb/preproxy_users" files: compat = "no" Module: Instantiated files (files) Module: Loaded Acct-Unique-Session-Id acct_unique: key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" Module: Instantiated acct_unique (acct_unique) detail: detailfile = "/usr/local/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" detail: detailperm = 384 detail: dirperm = 493 detail: locking = no Module: Instantiated detail (detail) Module: Loaded radutmp radutmp: filename = "/usr/local/var/log/radius/radutmp" radutmp: username = "%{User-Name}" radutmp: case_sensitive = yes radutmp: check_with_nas = yes radutmp: perm = 384 radutmp: callerid = yes Module: Instantiated radutmp (radutmp) Listening on authentication *:1812 Listening on accounting *:1813 Ready to process requests. rad_recv: Access-Request packet from host 192.168.0.1:1812, id=60, length=75 User-Name = "futsoft" EAP-Message = 0x0201000c01667574736f6674 Message-Authenticator = 0xdba241a0bf22259046efb275150c0713 NAS-Identifier = "fsNas1" NAS-Port = 2 Processing the authorize section of radiusd.conf modcall: entering group authorize for request 0 modcall[authorize]: module "preprocess" returns ok for request 0 radius_xlat: '/usr/local/var/log/radius/radacct/192.168.0.1/auth-detail-20050518' rlm_detail: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/192.168.0.1/auth-detail-20050518 modcall[authorize]: module "auth_log" returns ok for request 0 modcall[authorize]: module "chap" returns noop for request 0 rlm_realm: No '@' in User-Name = "futsoft", looking up realm NULL rlm_realm: No such realm "NULL" modcall[authorize]: module "suffix" returns noop for request 0 rlm_eap: EAP packet type response id 1 length 12 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation modcall[authorize]: module "eap" returns updated for request 0 users: Matched futsoft at 62 modcall[authorize]: module "files" returns ok for request 0 modcall: group authorize returns updated for request 0 rad_check_password: Found Auth-Type EAP auth: type "EAP" Processing the authenticate section of radiusd.conf modcall: entering group authenticate for request 0 rlm_eap: EAP Identity rlm_eap: processing type tls rlm_eap_tls: Initiate rlm_eap_tls: Start returned 1 modcall[authenticate]: module "eap" returns handled for request 0 modcall: group authenticate returns handled for request 0 Sending Access-Challenge of id 60 to 192.168.0.1:1812 Reply-Message = " Futsoft request recieved" EAP-Message = 0x010200061520 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xc2b72c7219277248b0cdbf99bbe3b9fb Finished request 0 Going to the next request --- Walking the entire request list --- Waking up in 6 seconds... rad_recv: Access-Request packet from host 192.168.0.1:1812, id=61, length=179 User-Name = "futsoft" EAP-Message = 0x0202006215800000005816030100530100004f0301428c836c2bf40f432995fd2ba0fb61677ee422214d37697336bf93deb790d1e300002800160013000a006600050004006500640063006200610060001500120009001400110008000600030100 Message-Authenticator = 0x74c9649dcda6f1462af801217399a8da NAS-Identifier = "fsNas1" NAS-Port = 2 State = 0xc2b72c7219277248b0cdbf99bbe3b9fb Processing the authorize section of radiusd.conf modcall: entering group authorize for request 1 modcall[authorize]: module "preprocess" returns ok for request 1 radius_xlat: '/usr/local/var/log/radius/radacct/192.168.0.1/auth-detail-20050518' rlm_detail: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/192.168.0.1/auth-detail-20050518 modcall[authorize]: module "auth_log" returns ok for request 1 modcall[authorize]: module "chap" returns noop for request 1 rlm_realm: No '@' in User-Name = "futsoft", looking up realm NULL rlm_realm: No such realm "NULL" modcall[authorize]: module "suffix" returns noop for request 1 rlm_eap: EAP packet type response id 2 length 98 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation modcall[authorize]: module "eap" returns updated for request 1 users: Matched futsoft at 62 modcall[authorize]: module "files" returns ok for request 1 modcall: group authorize returns updated for request 1 rad_check_password: Found Auth-Type EAP auth: type "EAP" Processing the authenticate section of radiusd.conf modcall: entering group authenticate for request 1 rlm_eap: Request found, released from the list rlm_eap: EAP/ttls rlm_eap: processing type ttls rlm_eap_ttls: Authenticate rlm_eap_tls: processing TLS rlm_eap_tls: Length Included eaptls_verify returned 11 (other): before/accept initialization TLS_accept: before/accept initialization rlm_eap_tls: <<< TLS 1.0 Handshake [length 0053], ClientHello TLS_accept: SSLv3 read client hello A rlm_eap_tls: >>> TLS 1.0 Handshake [length 004a], ServerHello TLS_accept: SSLv3 write server hello A rlm_eap_tls: >>> TLS 1.0 Handshake [length 061f], Certificate TLS_accept: SSLv3 write certificate A rlm_eap_tls: >>> TLS 1.0 Handshake [length 0004], ServerHelloDone TLS_accept: SSLv3 write server done A TLS_accept: SSLv3 flush data TLS_accept:error in SSLv3 read client certificate A In SSL Handshake Phase In SSL Accept mode eaptls_process returned 13 modcall[authenticate]: module "eap" returns handled for request 1 modcall: group authenticate returns handled for request 1 Sending Access-Challenge of id 61 to 192.168.0.1:1812 Reply-Message = " Futsoft request recieved" EAP-Message = 0x0103058015c00000067c160301004a020000460301428a4ae64524e781e05e6039cd6bfccac7f91212cef8b8c7006d1b7e363eccfd20bc97ca26f06e3cfc76f7eb973285b90e9d9854cbf779ed8940a5fdd3c4a5e828000a00160301061f0b00061b0006180002a33082029f30820208a003020102020102300d06092a864886f70d0101040500308186310b300906035504061302494e310b300906035504081302544e3110300e060355040713074368656e6e61693110300e060355040a1307667574736f66743110300e060355040b1307667574736f66743110300e0603550403140763615f726f6f743122302006092a864886f70d0109011613 EAP-Message = 0x63615f726f6f7440667574736f66742e636f6d301e170d3034313230363036313235395a170d3035313230363036313235395a30818a310b300906035504061302494e310b300906035504081302544e3110300e060355040713074368656e6e61693110300e060355040a1307667574736f66743110300e060355040b1307667574736f6674311230100603550403140963615f7261646975733124302206092a864886f70d010901161563615f72616469757340667574736f66742e636f6d30819f300d06092a864886f70d010101050003818d0030818902818100b7a257a1fdaf51b78860d3c1720e5cdbc596c0281c97c4d797b37123a4224bfc EAP-Message = 0x263121b9cf882d46300f0bf17e154179ed200bd104c382c73c1e6ab5014a3f7aca696e5767df84fd271d0e567916081974b7a0338e048d17554883b16550f7dd43ab8ebef684bbee5bc47cbe074564db20ed0d551a73ea5682cd51a676c7f4030203010001a317301530130603551d25040c300a06082b06010505070301300d06092a864886f70d0101040500038181008d0f088c348e2055c68641b4d33e6555281fc806c2baacb17843ef87895aadb834e828d875d2883669a13b7dddcdb53d1bd0481fffd2749b5c27c3719bd63ed6fe066902438fac5e1dccc7f95601d085fa1d2243b02ab01e14c55c434d749f46d64cabddca2dcc14f2af3390 EAP-Message = 0xd6c1ab1f320a51a470f63692725fabf035ff01ab00036f3082036b308202d4a003020102020100300d06092a864886f70d0101040500308186310b300906035504061302494e310b300906035504081302544e3110300e060355040713074368656e6e61693110300e060355040a1307667574736f66743110300e060355040b1307667574736f66743110300e0603550403140763615f726f6f743122302006092a864886f70d010901161363615f726f6f7440667574736f66742e636f6d301e170d3034313230363036303033385a170d3035313230373036303033385a308186310b300906035504061302494e310b300906035504081302544e31 EAP-Message = 0x10300e060355040713074368656e6e61693110300e060355040a1307667574736f66743110300e060355040b1307667574736f66743110300e0603550403140763615f726f6f743122302006092a864886f70d010901161363615f726f6f7440667574736f66742e636f6d30819f300d06092a864886f70d010101050003818d0030818902818100a27e2c6d15dd85d6f5925c1520bff37013df553baec13973d60a56cafa2ab9774d89f6b5949970c9557f9e6f66bac4ba52a68e90275aa09d501b788762a5517b601ec6a500f6320bffb555f154020d58ad3f35ae35af13ce598eb018c9e57e6a826171b7f64f669155ba0355dc0dc0671ef51fad63 EAP-Message = 0x66541f01fbae6c558e119d0203010001a381e63081e3301d0603551d0e04160414cb9cc50d3407e63693439af032fae10fc997eb453081b30603551d230481ab3081a88014cb9cc50d3407e63693439af032fae10fc997eb45a1818ca48189308186310b300906035504061302494e310b300906035504081302544e3110300e060355040713074368656e6e616931 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x4e21012d8278263aa6d41f58ddeb3e51 Finished request 1 Going to the next request Waking up in 6 seconds... --- Walking the entire request list --- Cleaning up request 0 ID 60 with timestamp 428a4ae6 Cleaning up request 1 ID 61 with timestamp 428a4ae6 Nothing to do. Sleeping until we see a request. rad_recv: Access-Request packet from host 192.168.0.1:1812, id=61, length=179 User-Name = "futsoft" EAP-Message = 0x0202006215800000005816030100530100004f0301428c836c2bf40f432995fd2ba0fb61677ee422214d37697336bf93deb790d1e300002800160013000a006600050004006500640063006200610060001500120009001400110008000600030100 Message-Authenticator = 0x74c9649dcda6f1462af801217399a8da NAS-Identifier = "fsNas1" NAS-Port = 2 State = 0xc2b72c7219277248b0cdbf99bbe3b9fb Processing the authorize section of radiusd.conf modcall: entering group authorize for request 2 modcall[authorize]: module "preprocess" returns ok for request 2 radius_xlat: '/usr/local/var/log/radius/radacct/192.168.0.1/auth-detail-20050518' rlm_detail: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/192.168.0.1/auth-detail-20050518 modcall[authorize]: module "auth_log" returns ok for request 2 modcall[authorize]: module "chap" returns noop for request 2 rlm_realm: No '@' in User-Name = "futsoft", looking up realm NULL rlm_realm: No such realm "NULL" modcall[authorize]: module "suffix" returns noop for request 2 rlm_eap: EAP packet type response id 2 length 98 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation modcall[authorize]: module "eap" returns updated for request 2 users: Matched futsoft at 62 modcall[authorize]: module "files" returns ok for request 2 modcall: group authorize returns updated for request 2 rad_check_password: Found Auth-Type EAP auth: type "EAP" Processing the authenticate section of radiusd.conf modcall: entering group authenticate for request 2 rlm_eap: Request not found in the list rlm_eap: Either EAP-request timed out OR EAP-response to an unknown EAP-request rlm_eap: Failed in handler modcall[authenticate]: module "eap" returns invalid for request 2 modcall: group authenticate returns invalid for request 2 auth: Failed to validate the user. Login incorrect: [futsoft] (from client FutureNAS port 2) Delaying request 2 for 1 seconds Finished request 2 Going to the next request --- Walking the entire request list --- Waking up in 1 seconds... --- Walking the entire request list --- Waking up in 1 seconds... --- Walking the entire request list --- Sending Access-Reject of id 61 to 192.168.0.1:1812 Reply-Message = " Futsoft request recieved" Waking up in 4 seconds... --- Walking the entire request list --- Cleaning up request 2 ID 61 with timestamp 428a4af0 Nothing to do. Sleeping until we see a request. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html