Hi All,
I am facing problem using the FreeRadius version 1.1.7 for
EAP-TTLS/MSCHAPv2. Always I keep seeing the access-challenge on the radius
log. I have attached the eap.conf / wpa_supplicant.conf and radius traces
for your reference.
Please, let me know If there is anything wrong in my configurations.

Thanks & Regards,
Sriram
rad_recv: Access-Request packet from host 192.168.0.1:49152, id=29, length=171
        NAS-IP-Address = 169.254.1.3
        NAS-Port-Type = Wireless-802.11
        NAS-Port = 0
        Framed-MTU = 1400
        User-Name = "aricent"
        Calling-Station-Id = "00-90-4B-0A-D5-EF"
        Called-Station-Id = "00-19-E1-F0-9B-CE"
        NAS-Identifier = "Enterprise Wireless AP"
        EAP-Message = 0x0201000c0161726963656e74
        Message-Authenticator = 0x57c85b81701129495162f36aef069549
        Proxy-State = 0x0402a9fe01031b272cc14c1336040fc84dcd0a33456e
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
  modcall[authorize]: module "preprocess" returns ok 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
    rlm_realm: No '@' in User-Name = "aricent", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 0
    users: Matched entry aricent at line 117
  modcall[authorize]: module "files" returns ok for request 0
  modcall[authorize]: module "mschap" returns noop for request 0
modcall: leaving 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 EAP 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: leaving group EAP (returns handled) for request 0
Sending Access-Challenge of id 29 to 192.168.0.1 port 49152
        EAP-Message = 0x010200061520
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0x0bc65ca2c6ba57161ed09aee31beac1e
        Proxy-State = 0x0402a9fe01031b272cc14c1336040fc84dcd0a33456e
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:49152, id=30, length=285
        NAS-IP-Address = 169.254.1.3
        NAS-Port-Type = Wireless-802.11
        NAS-Port = 0
        Framed-MTU = 1400
        User-Name = "aricent"
        Calling-Station-Id = "00-90-4B-0A-D5-EF"
        Called-Station-Id = "00-19-E1-F0-9B-CE"
        NAS-Identifier = "Enterprise Wireless AP"
        State = 0x0bc65ca2c6ba57161ed09aee31beac1e
        EAP-Message = 
0x0202006c150016030100610100005d030147a099a9aacb7733a0315ee297e024c11643628f748158c38b0efaab8f612aaf00003600390038003500160013000a00330032002f0007006600050004006300620061001500120009006500640060001400110008000600030100
        Message-Authenticator = 0x4e99a74d77d87576c4c7fe527d93f38d
        Proxy-State = 0x0402a9fe01035ced6f644c91240b7b6a21a92568154c
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 1
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
  modcall[authorize]: module "preprocess" returns ok for request 1
  rlm_eap: EAP packet type response id 2 length 108
  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation
  modcall[authorize]: module "eap" returns updated for request 1
    rlm_realm: No '@' in User-Name = "aricent", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 1
    users: Matched entry aricent at line 117
  modcall[authorize]: module "files" returns ok for request 1
  modcall[authorize]: module "mschap" returns noop for request 1
modcall: leaving 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 EAP 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
  eaptls_verify returned 7
  rlm_eap_tls: Done initial handshake
    (other): before/accept initialization
    TLS_accept: before/accept initialization
  rlm_eap_tls: <<< TLS 1.0 Handshake [length 0061], 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 05d7], 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: Need to read more data: 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: leaving group EAP (returns handled) for request 1
Sending Access-Challenge of id 30 to 192.168.0.1 port 49152
        EAP-Message = 
0x0103040a15c000000634160301004a02000046030147a1726338484ea58ba5a797e27a81de9c2b5a40f2e3364d8ffade6fe61a1bc6206203cc8223ab13f1c5488f14c0ff1692f9f6a9684f639cfa608d3ac1656f653800350016030105d70b0005d30005d00002bd308202b930820222a003020102020101300d06092a864886f70d010105050030818b310b300906035504061302494e311630140603550408130d416e6468726150726164657368312a3028060355040a132141726963656e7420546563686e6f6c6f6769657320486f6c64696e6773204c7464311430120603550403130b61726963656e742e636f6d3122302006092a864886f70d
        EAP-Message = 
0x0109011613737570706f72744061726963656e742e636f6d301e170d3038303131343134303233375a170d3039303131333134303233375a30819f310b300906035504061302494e311630140603550408130d416e64687261507261646573683112301006035504071309487964657261626164312a3028060355040a132141726963656e7420546563686e6f6c6f6769657320486f6c64696e6773204c7464311430120603550403130b61726963656e742e636f6d3122302006092a864886f70d0109011613737570706f72744061726963656e742e636f6d30819f300d06092a864886f70d010101050003818d0030818902818100a841843a1fde
        EAP-Message = 
0x6b96dd539935dce353e02bc32d5e83d9e3e8a32dcaf1ab83a7af824d9ff12b9bd61254ea3b13ac94c43a3db2a5eb2fd73834aed33d2aea855e243ce5c0b9b469b32dc82b0a06b297ab22b364ca8f0352b3526442b69ae049f522017d5eabb1c10d48726693a9852cdbc4429a790fe0be809d46a29bea562e5feb0203010001a317301530130603551d25040c300a06082b06010505070301300d06092a864886f70d0101050500038181005380874127aba58a0c6ea17eb326ef6c081c4a0302d1e7efbb1137b6e19a4c49f081a32d7ff3ae41e3c115a442a6679a401a7c56eaf7998cf8ce90eb0fbc0bd9c5c6561e971496148001b40e6d11abc77b10
        EAP-Message = 
0x3d24354215993fecbb480f1b37332976956dedb358fc6940b163aba159de64c8d0d010ca2763ab97ac9a49242bca00030d3082030930820272a003020102020100300d06092a864886f70d010105050030818b310b300906035504061302494e311630140603550408130d416e6468726150726164657368312a3028060355040a132141726963656e7420546563686e6f6c6f6769657320486f6c64696e6773204c7464311430120603550403130b61726963656e742e636f6d3122302006092a864886f70d0109011613737570706f72744061726963656e742e636f6d301e170d3038303131343133353432335a170d313130313133313335343233
        EAP-Message = 0x5a30818b310b300906035504061302494e3116301406
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0xd1350e459ec5897073bcc1e1dfd602e3
        Proxy-State = 0x0402a9fe01035ced6f644c91240b7b6a21a92568154c
Finished request 1
Going to the next request
Waking up in 6 seconds...
rad_recv: Access-Request packet from host 192.168.0.1:49152, id=31, length=183
        NAS-IP-Address = 169.254.1.3
        NAS-Port-Type = Wireless-802.11
        NAS-Port = 0
        Framed-MTU = 1400
        User-Name = "aricent"
        Calling-Station-Id = "00-90-4B-0A-D5-EF"
        Called-Station-Id = "00-19-E1-F0-9B-CE"
        NAS-Identifier = "Enterprise Wireless AP"
        State = 0xd1350e459ec5897073bcc1e1dfd602e3
        EAP-Message = 0x020300061500
        Message-Authenticator = 0xd988df4a33e5308aa7e0e6a14115d3c9
        Proxy-State = 0x0402a9fe01032240374c4e0a6e1e3e4e1d3e770804e6
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 2
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
  modcall[authorize]: module "preprocess" returns ok for request 2
  rlm_eap: EAP packet type response id 3 length 6
  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation
  modcall[authorize]: module "eap" returns updated for request 2
    rlm_realm: No '@' in User-Name = "aricent", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 2
    users: Matched entry aricent at line 117
  modcall[authorize]: module "files" returns ok for request 2
  modcall[authorize]: module "mschap" returns noop for request 2
modcall: leaving 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 EAP for request 2
  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: Received EAP-TLS ACK message
  rlm_eap_tls: ack handshake fragment handler
  eaptls_verify returned 1
  eaptls_process returned 13
  modcall[authenticate]: module "eap" returns handled for request 2
modcall: leaving group EAP (returns handled) for request 2
Sending Access-Challenge of id 31 to 192.168.0.1 port 49152
        EAP-Message = 
0x0104023e15800000063403550408130d416e6468726150726164657368312a3028060355040a132141726963656e7420546563686e6f6c6f6769657320486f6c64696e6773204c7464311430120603550403130b61726963656e742e636f6d3122302006092a864886f70d0109011613737570706f72744061726963656e742e636f6d30819f300d06092a864886f70d010101050003818d0030818902818100a98417fce906e6178dc3a977532462debec8db9eca46c4982f6dc5e3547cd672652797141d6247ac995215c1b243ed7d41e75f667d57ced14d183d11ea9559665b57c970c6ec7c3b13b2ee2be8e04c1458c48b2bb65e666cc625a9e039
        EAP-Message = 
0x24b4746a656ff1c84bb65a7599bd60a663bbf5b9f671b430458be2ee0c84e96d6b94690203010001a37b307930090603551d1304023000302c06096086480186f842010d041f161d4f70656e53534c2047656e657261746564204365727469666963617465301d0603551d0e04160414e62817358fee8b0a3e8a8acc7ea5ffd4ec754b15301f0603551d23041830168014e62817358fee8b0a3e8a8acc7ea5ffd4ec754b15300d06092a864886f70d010105050003818100102d22cf048023b588d488c9a74c7cbd389ddcafd2cac5616b38edd44f44891257011e0de4065d2721c8327ef704932e1516e1973df4e043e05e583de3f9b6b9be9b00c8b2
        EAP-Message = 
0x02b1a1670131aaf7f65160a2783bed9c9b3c960a500790317cd323f800c3eca7978df10551bf7d47353b62b61164a7909b977281415f88ea23bd2516030100040e000000
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0xcc9cdb1c4d40f75283e7d31fe913b487
        Proxy-State = 0x0402a9fe01032240374c4e0a6e1e3e4e1d3e770804e6
Finished request 2
Going to the next request
Waking up in 6 seconds...
rad_recv: Access-Request packet from host 192.168.0.1:49152, id=32, length=381
        NAS-IP-Address = 169.254.1.3
        NAS-Port-Type = Wireless-802.11
        NAS-Port = 0
        Framed-MTU = 1400
        User-Name = "aricent"
        Calling-Station-Id = "00-90-4B-0A-D5-EF"
        Called-Station-Id = "00-19-E1-F0-9B-CE"
        NAS-Identifier = "Enterprise Wireless AP"
        State = 0xcc9cdb1c4d40f75283e7d31fe913b487
        EAP-Message = 
0x020400cc15001603010086100000820080298d9c452e473a8689182e7f3d41e2a74d85eb7ec940086b836d78bbe2028211c3a2078fb153965cf8fb87f7ddd485a6bfad1d23b16c6a9083da19d4c748783c1b6c2141f18ba1643be0d6458042c648adbe2574afc25ea12425cfec80d23fc83625129890f3db11b6e528bbf8ae52a51344d144357fca26e6b6e161c9ac33671403010001011603010030a54510919a04c27a9a3e8aff08cb3ac752ed6315a92d83199c0e4bd395b031ff21f711d91c71cc6e7828ec243291deee
        Message-Authenticator = 0xbe88eb6a57813dee97eaa1ad42d301df
        Proxy-State = 0x0402a9fe010325cd3c914f054a2b159044f72d7324a2
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 3
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
Invalid operator for item Suffix: reverting to '=='
  modcall[authorize]: module "preprocess" returns ok for request 3
  rlm_eap: EAP packet type response id 4 length 204
  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation
  modcall[authorize]: module "eap" returns updated for request 3
    rlm_realm: No '@' in User-Name = "aricent", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 3
    users: Matched entry aricent at line 117
  modcall[authorize]: module "files" returns ok for request 3
  modcall[authorize]: module "mschap" returns noop for request 3
modcall: leaving group authorize (returns updated) for request 3
  rad_check_password:  Found Auth-Type EAP
auth: type "EAP"
  Processing the authenticate section of radiusd.conf
modcall: entering group EAP for request 3
  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
  eaptls_verify returned 7
  rlm_eap_tls: Done initial handshake
  rlm_eap_tls: <<< TLS 1.0 Handshake [length 0086], ClientKeyExchange
    TLS_accept: SSLv3 read client key exchange A
  rlm_eap_tls: <<< TLS 1.0 ChangeCipherSpec [length 0001]
  rlm_eap_tls: <<< TLS 1.0 Handshake [length 0010], Finished
    TLS_accept: SSLv3 read finished A
  rlm_eap_tls: >>> TLS 1.0 ChangeCipherSpec [length 0001]
    TLS_accept: SSLv3 write change cipher spec A
  rlm_eap_tls: >>> TLS 1.0 Handshake [length 0010], Finished
    TLS_accept: SSLv3 write finished A
    TLS_accept: SSLv3 flush data
    (other): SSL negotiation finished successfully
SSL Connection Established
  eaptls_process returned 13
  modcall[authenticate]: module "eap" returns handled for request 3
modcall: leaving group EAP (returns handled) for request 3
Sending Access-Challenge of id 32 to 192.168.0.1 port 49152
        EAP-Message = 
0x0105004515800000003b140301000101160301003075a2c51f196cd25cb1d7b38f1e1cc91e799da31987f5e7d5235b2796eee25f9687d9136d19f9e994abc42acf796e9d50
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0xe2cf75fe7b371e389029b6e5c4b253db
        Proxy-State = 0x0402a9fe010325cd3c914f054a2b159044f72d7324a2
Finished request 3
Going to the next request
Waking up in 6 seconds...
--- Walking the entire request list ---
Cleaning up request 0 ID 29 with timestamp 47a17263
Cleaning up request 1 ID 30 with timestamp 47a17263
Cleaning up request 2 ID 31 with timestamp 47a17263
Cleaning up request 3 ID 32 with timestamp 47a17263
Nothing to do.  Sleeping until we see a request.
 

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0

# IEEE 802.1X/EAPOL version
# wpa_supplicant was implemented based on IEEE 802-1X-REV-d8 which defines
# EAPOL version 2. However, there are many APs that do not handle the new
# version number correctly (they seem to drop the frames completely). In order
# to make wpa_supplicant interoperate with these APs, the version number is set
# to 1 by default. This configuration value can be used to set it to the new
# version (2).
eapol_version=1

# AP scanning/selection
# By default, wpa_supplicant requests driver to perform AP scanning and then
# uses the scan results to select a suitable AP. Another alternative is to
# allow the driver to take care of AP scanning and selection and use
# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
# information from the driver.
# 1: wpa_supplicant initiates scanning and AP selection
# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
#    parameters (e.g., WPA IE generation); this mode can also be used with
#    non-WPA drivers when using IEEE 802.1X mode
ap_scan=1

# network block
#
# Each network (usually AP's sharing the same SSID) is configured as a separate
# block in this configuration file. The network blocks are in preference order
# (the first match is used).
#
# network block fields:
#
# ssid: SSID (mandatory); either as an ASCII string with double quotation or
#       as hex string; network name
#
# scan_ssid:
#       0 = do not scan this SSID with specific Probe Request frames (default)
#       1 = scan with SSID-specific Probe Request frames (this can be used to
#           find APs that do not accept broadcast SSID or use multiple SSIDs;
#           this will add latency to scanning, so enable this only when needed)
#
# bssid: BSSID (optional); if set, this network block is used only when
#       associating with the AP using the configured BSSID
#
# priority: priority group (integer)
# By default, all networks will get same priority group (0). If some of the
# networks are more desirable, this field can be used to change the order in
# which wpa_supplicant goes through the networks when selecting a BSS. The
# priority groups will be iterated in decreasing priority (i.e., the larger the
# priority value, the sooner the network is matched against the scan results).
# Within each priority group, networks will be selected based on security
# policy, signal strength, etc.
# Please note that AP scanning with scan_ssid=1 is not using this priority to
# select the order for scanning. Instead, it uses the order the networks are in
# the configuration file.
#
# proto: list of accepted protocols
# WPA = WPA/IEEE 802.11i/D3.0
# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
# If not set, this defaults to: WPA RSN
#
# key_mgmt: list of accepted authenticated key management protocols
# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
# WPA-EAP = WPA using EAP authentication (this can use an external
#       program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
#       generated WEP keys
# NONE = WPA is not used; plaintext or static WEP could be used
# If not set, this defaults to: WPA-PSK WPA-EAP
#
# pairwise: list of accepted pairwise (unicast) ciphers for WPA
# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
# NONE = Use only Group Keys (deprecated, should not be included if APs support
#       pairwise keys)
# If not set, this defaults to: CCMP TKIP
#
# group: list of accepted group (broadcast/multicast) ciphers for WPA
# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
# If not set, this defaults to: CCMP TKIP WEP104 WEP40
#
# psk: WPA preshared key; 256-bit pre-shared key
# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
# generated using the passphrase and SSID). ASCII passphrase must be between
# 8 and 63 characters (inclusive).
# This field is not needed, if WPA-EAP is used.
# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
# startup and reconfiguration time can be optimized by generating the PSK only
# only when the passphrase or SSID has actually changed.
#
# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
# Dynamic WEP key require for non-WPA mode
# bit0 (1): require dynamically generated unicast WEP key
# bit1 (2): require dynamically generated broadcast WEP key
#       (3 = require both keys; default)
#
# Following fields are only used with internal EAP implementation.
# eap: space-separated list of accepted EAP methods
#       MD5 = EAP-MD5 (unsecure and does not generate keying material ->
#                       cannot be used with WPA; to be used as a Phase 2 method
#                       with EAP-PEAP or EAP-TTLS)
#       MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
#               as a Phase 2 method with EAP-PEAP or EAP-TTLS)
#       OTP = EAP-OTP (cannot be used separately with WPA; to be used
#               as a Phase 2 method with EAP-PEAP or EAP-TTLS)
#       GTC = EAP-GTC (cannot be used separately with WPA; to be used
#               as a Phase 2 method with EAP-PEAP or EAP-TTLS)
#       TLS = EAP-TLS (client and server certificate)
#       PEAP = EAP-PEAP (with tunnelled EAP authentication)
#       TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
#                        authentication)
#       If not set, all compiled in methods are allowed.
#
# identity: Identity string for EAP
# anonymous_identity: Anonymous identity string for EAP (to be used as the
#       unencrypted identity with EAP types that support different tunnelled
#       identity, e.g., EAP-TTLS)
# password: Password string for EAP
# ca_cert: File path to CA certificate file. This file can have one or more
#       trusted CA certificates. If ca_cert is not included, server certificate
#       will not be verified. This is insecure and the CA file should always be
#       configured.
# client_cert: File path to client certificate file
# private_key: File path to client private key file
# private_key_passwd: Password for private key file
# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
#       (string with field-value pairs, e.g., "peapver=0" or
#       "peapver=1 peaplabel=1")
#       'peapver' can be used to force which PEAP version (0 or 1) is used.
#       'peaplabel=1' can be used to force new label, "client PEAP encryption",
#       to be used during key derivation when PEAPv1 or newer. Most existing
#       PEAPv1 implementation seem to be using the old label, "client EAP
#       encryption", and wpa_supplicant is now using that as the default value.
#       Some servers, e.g., Radiator, may require peaplabel=1 configuration to
#       interoperate with PEAPv1; see eap_testing.txt for more details.
#       'peap_outer_success=0' can be used to terminate PEAP authentication on
#       tunneled EAP-Success. This is required with some RADIUS servers that
#       implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
#       Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
# phase2: Phase2 (inner authentication with TLS tunnel) parameters
#       (string with field-value pairs, e.g., "auth=MSCHAPV2")
# Following certificate/private key fields are used in inner Phase2
# authentication when using EAP-TTLS or EAP-PEAP.
# ca_cert2: File path to CA certificate file. This file can have one or more
#       trusted CA certificates. If ca_cert2 is not included, server
#       certificate will not be verified. This is insecure and the CA file
#       should always be configured.
# client_cert2: File path to client certificate file
# private_key2: File path to client private key file
# private_key2_passwd: Password for private key file

# EAP-TLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
# use. Real identity is sent only within an encrypted TLS tunnel.
network={
        ssid="whack_wpa2!"
    proto=RSN
        key_mgmt=WPA-EAP
        eap=TTLS
        identity="aricent"
        anonymous_identity="aricent"
        private_key_passwd="aricent"
        ca_cert="/home/aseemg/iapp/wpa_supplicant-0.2.6/srk/cacert.pem"
        phase2="auth=MSCHAPV2"
}

# -*- text -*-
#
#  Whatever you do, do NOT set 'Auth-Type := EAP'.  The server
#  is smart enough to figure this out on its own.  The most
#  common side effect of setting 'Auth-Type := EAP' is that the
#  users then cannot use ANY other authentication method.
#
#       $Id: eap.conf,v 1.4.4.3 2006/04/28 18:25:03 aland Exp $
#
        eap {
                #  Invoke the default supported EAP type when
                #  EAP-Identity response is received.
                #
                #  The incoming EAP messages DO NOT specify which EAP
                #  type they will be using, so it MUST be set here.
                #
                #  For now, only one default EAP type may be used at a time.
                #
                #  If the EAP-Type attribute is set by another module,
                #  then that EAP type takes precedence over the
                #  default type configured here.
                #
                #default_eap_type = md5
                default_eap_type = ttls
                #default_eap_type = peap

                #  A list is maintained to correlate EAP-Response
                #  packets with EAP-Request packets.  After a
                #  configurable length of time, entries in the list
                #  expire, and are deleted.
                #
                timer_expire     = 60

                #  There are many EAP types, but the server has support
                #  for only a limited subset.  If the server receives
                #  a request for an EAP type it does not support, then
                #  it normally rejects the request.  By setting this
                #  configuration to "yes", you can tell the server to
                #  instead keep processing the request.  Another module
                #  MUST then be configured to proxy the request to
                #  another RADIUS server which supports that EAP type.
                #
                #  If another module is NOT configured to handle the
                #  request, then the request will still end up being
                #  rejected.
                ignore_unknown_eap_types = no

                # Cisco AP1230B firmware 12.2(13)JA1 has a bug.  When given
                # a User-Name attribute in an Access-Accept, it copies one
                # more byte than it should.
                #
                # We can work around it by configurably adding an extra
                # zero byte.
                cisco_accounting_username_bug = no

                # Supported EAP-types

                #
                #  We do NOT recommend using EAP-MD5 authentication
                #  for wireless connections.  It is insecure, and does
                #  not provide for dynamic WEP keys.
                #
                md5 {
                }

                # Cisco LEAP
                #
                #  We do not recommend using LEAP in new deployments.  See:
                #  http://www.securiteam.com/tools/5TP012ACKE.html
                #
                #  Cisco LEAP uses the MS-CHAP algorithm (but not
                #  the MS-CHAP attributes) to perform it's authentication.
                #
                #  As a result, LEAP *requires* access to the plain-text
                #  User-Password, or the NT-Password attributes.
                #  'System' authentication is impossible with LEAP.
                #
                leap {
                }

                #  Generic Token Card.
                #
                #  Currently, this is only permitted inside of EAP-TTLS,
                #  or EAP-PEAP.  The module "challenges" the user with
                #  text, and the response from the user is taken to be
                #  the User-Password.
                #
                #  Proxying the tunneled EAP-GTC session is a bad idea,
                #  the users password will go over the wire in plain-text,
                #  for anyone to see.
                #
                gtc {
                        #  The default challenge, which many clients
                        #  ignore..
                        #challenge = "Password: "

                        #  The plain-text response which comes back
                        #  is put into a User-Password attribute,
                        #  and passed to another module for
                        #  authentication.  This allows the EAP-GTC
                        #  response to be checked against plain-text,
                        #  or crypt'd passwords.
                        #
                        #  If you say "Local" instead of "PAP", then
                        #  the module will look for a User-Password
                        #  configured for the request, and do the
                        #  authentication itself.
                        #
                        auth_type = PAP
                }

                ## EAP-TLS
                #
                #  To generate ctest certificates, run the script
                #
                #       ../scripts/certs.sh
                #
                #  The documents on http://www.freeradius.org/doc
                #  are old, but may be helpful.
                #
                #  See also:
                #
                #  http://www.dslreports.com/forum/remark,9286052~mode=flat
                #
                tls {
                        #private_key_password = whatever 
                        private_key_password =aricent  
                        #private_key_file = ${raddbdir}/certs/cert-srv.pem 
                        #private_key_file =/etc/1x/aricent_server_keycert.pem
                        private_key_file = /etc/1x/aricent_server_keycert.pem 

                        #  If Private key & Certificate are located in
                        #  the same file, then private_key_file &
                        #  certificate_file must contain the same file
                        #  name.
                        #  certificate_file = ${raddbdir}/certs/cert-srv.pem 
                        certificate_file = /etc/1x/aricent_server_keycert.pem

                        #  Trusted Root CA list
                        CA_file = /etc/1x/cacert.pem 

                        dh_file = /etc/1x/dh
                        random_file = /etc/1x/random

                        #
                        #  This can never exceed the size of a RADIUS
                        #  packet (4096 bytes), and is preferably half
                        #  that, to accomodate other attributes in
                        #  RADIUS packet.  On most APs the MAX packet
                        #  length is configured between 1500 - 1600
                        #  In these cases, fragment size should be
                        #  1024 or less.
                        #
                        fragment_size = 1024

                        #  include_length is a flag which is
                        #  by default set to yes If set to
                        #  yes, Total Length of the message is
                        #  included in EVERY packet we send.
                        #  If set to no, Total Length of the
                        #  message is included ONLY in the
                        #  First packet of a fragment series.
                        #
                        include_length = yes

                        #  Check the Certificate Revocation List
                        #
                        #  1) Copy CA certificates and CRLs to same directory.
                        #  2) Execute 'c_rehash <CA certs&CRLs Directory>'.
                        #    'c_rehash' is OpenSSL's command.
                        #  3) Add 'CA_path=<CA certs&CRLs directory>'
                        #      to radiusd.conf's tls section.
                        #  4) uncomment the line below.
                        #  5) Restart radiusd
                        check_crl = no 

                       #
                       #  If check_cert_issuer is set, the value will
                       #  be checked against the DN of the issuer in
                       #  the client certificate.  If the values do not
                       #  match, the cerficate verification will fail,
                       #  rejecting the user.
                       #
                       #  check_cert_issuer = 
"/C=GB/ST=Berkshire/L=Newbury/O=My Company Ltd"

                       #
                       #  If check_cert_cn is set, the value will
                       #  be xlat'ed and checked against the CN
                       #  in the client certificate.  If the values
                       #  do not match, the certificate verification
                       #  will fail rejecting the user.
                       #
                       #  This check is done only if the previous
                       #  "check_cert_issuer" is not set, or if
                       #  the check succeeds.
                       #
                        check_cert_cn = %{User-Name}
                #
                        # Set this option to specify the allowed
                        # TLS cipher suites.  The format is listed
                        # in "man 1 ciphers".
                        cipher_list = "DEFAULT"
                }

                #  The TTLS module implements the EAP-TTLS protocol,
                #  which can be described as EAP inside of Diameter,
                #  inside of TLS, inside of EAP, inside of RADIUS...
                #
                #  Surprisingly, it works quite well.
                #
                #  The TTLS module needs the TLS module to be installed
                #  and configured, in order to use the TLS tunnel
                #  inside of the EAP packet.  You will still need to
                #  configure the TLS module, even if you do not want
                #  to deploy EAP-TLS in your network.  Users will not
                #  be able to request EAP-TLS, as it requires them to
                #  have a client certificate.  EAP-TTLS does not
                #  require a client certificate.
                #
                ttls {
                        #  The tunneled EAP session needs a default
                        #  EAP type which is separate from the one for
                        #  the non-tunneled EAP module.  Inside of the
                        #  TTLS tunnel, we recommend using EAP-MD5.
                        #  If the request does not contain an EAP
                        #  conversation, then this configuration entry
                        #  is ignored.
                        #  default_eap_type = md5
                        default_eap_type = mschapv2

                        #  The tunneled authentication request does
                        #  not usually contain useful attributes
                        #  like 'Calling-Station-Id', etc.  These
                        #  attributes are outside of the tunnel,
                        #  and normally unavailable to the tunneled
                        #  authentication request.
                        #
                        #  By setting this configuration entry to
                        #  'yes', any attribute which NOT in the
                        #  tunneled authentication request, but
                        #  which IS available outside of the tunnel,
                        #  is copied to the tunneled request.
                        #
                        # allowed values: {no, yes}
                #       copy_request_to_tunnel = no

                        #  The reply attributes sent to the NAS are
                        #  usually based on the name of the user
                        #  'outside' of the tunnel (usually
                        #  'anonymous').  If you want to send the
                        #  reply attributes based on the user name
                        #  inside of the tunnel, then set this
                        #  configuration entry to 'yes', and the reply
                        #  to the NAS will be taken from the reply to
                        #  the tunneled request.
                        #
                        # allowed values: {no, yes}
                        use_tunneled_reply = yes
                }

                #
                #  The tunneled EAP session needs a default EAP type
                #  which is separate from the one for the non-tunneled
                #  EAP module.  Inside of the TLS/PEAP tunnel, we
                #  recommend using EAP-MS-CHAPv2.
                #
                #  The PEAP module needs the TLS module to be installed
                #  and configured, in order to use the TLS tunnel
                #  inside of the EAP packet.  You will still need to
                #  configure the TLS module, even if you do not want
                #  to deploy EAP-TLS in your network.  Users will not
                #  be able to request EAP-TLS, as it requires them to
                #  have a client certificate.  EAP-PEAP does not
                #  require a client certificate.
                #
                 peap {
                        #  The tunneled EAP session needs a default
                        #  EAP type which is separate from the one for
                        #  the non-tunneled EAP module.  Inside of the
                        #  PEAP tunnel, we recommend using MS-CHAPv2,
                        #  as that is the default type supported by
                        #  Windows clients.
                        default_eap_type = mschapv2

                        #  the PEAP module also has these configuration
                        #  items, which are the same as for TTLS.
                #       copy_request_to_tunnel = no
                #       use_tunneled_reply = no

                        #  When the tunneled session is proxied, the
                        #  home server may not understand EAP-MSCHAP-V2.
                        #  Set this entry to "no" to proxy the tunneled
                        #  EAP-MSCHAP-V2 as normal MSCHAPv2.
                #       proxy_tunneled_request_as_eap = yes
                }

                #
                #  This takes no configuration.
                #
                #  Note that it is the EAP MS-CHAPv2 sub-module, not
                #  the main 'mschap' module.
                #
                #  Note also that in order for this sub-module to work,
                #  the main 'mschap' module MUST ALSO be configured.
                #
                #  This module is the *Microsoft* implementation of MS-CHAPv2
                #  in EAP.  There is another (incompatible) implementation
                #  of MS-CHAPv2 in EAP by Cisco, which FreeRADIUS does not
                #  currently support.
                #
                mschapv2 {
                }
        }
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to