Can't get LEAP working [beginner]

William Burnett burnett.w at gmail.com
Fri Oct 29 23:45:51 CEST 2010


It appears you have your Auth-Type set to EAP (Auth-Type = EAP) in
your users file.. Do not set the Auth-Type, the RADIUS server is smart
enough to figure it out based on the Access-Request packet.

Just set your user w/ the following:

UserName Cleartext-Password := "password"
        <any additional attributes you require>

Sincerely,

William Burnett
burnett.w at gmail.com



On Fri, Oct 29, 2010 at 11:57 AM, David Jea <dcjea.ee at gmail.com> wrote:
> Hi,
>
> I installed freeradius and have radtest passed. Playing with it with Cisco
> gears. The system includes freeRadius (ip: 60.60.0.9 on vlan 660) and Cisco
> controller(ip: 60.62.0.11)/AP (on vlan 662). Using a Windows 7 laptop +
> Intel 6200 wifi chipset as the client.
>
> I understand LEAP is not secure, but it is simple, so this is just hope see
> if they can all work together.  However, client was unable to connect.  Here
> are the debug outputs from 'radiusd -X'. Please let me know if you have some
> clues on what might go wrong.
>
> Thank you,
>
> David
> ================================
>
> root at djea-ubuntu:/usr/local/etc/raddb#
> root at djea-ubuntu:/usr/local/etc/raddb# radiusd -X
> FreeRADIUS Version 2.1.10, for host i686-pc-linux-gnu, built on Oct 27 2010
> at 00:44:31
> Copyright (C) 1999-2009 The FreeRADIUS server project and contributors.
> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE.
> You may redistribute copies of FreeRADIUS under the terms of the
> GNU General Public License v2.
> Starting - reading configuration files ...
> including configuration file /usr/local/etc/raddb/radiusd.conf
> including configuration file /usr/local/etc/raddb/proxy.conf
> including configuration file /usr/local/etc/raddb/clients.conf
> including files in directory /usr/local/etc/raddb/modules/
> including configuration file /usr/local/etc/raddb/modules/exec
> including configuration file /usr/local/etc/raddb/modules/etc_group
> including configuration file /usr/local/etc/raddb/modules/pam
> including configuration file /usr/local/etc/raddb/modules/krb5
> including configuration file /usr/local/etc/raddb/modules/detail
> including configuration file /usr/local/etc/raddb/modules/counter
> including configuration file /usr/local/etc/raddb/modules/realm
> including configuration file /usr/local/etc/raddb/modules/always
> including configuration file /usr/local/etc/raddb/modules/ippool
> including configuration file /usr/local/etc/raddb/modules/cui
> including configuration file /usr/local/etc/raddb/modules/sradutmp
> including configuration file /usr/local/etc/raddb/modules/smsotp
> including configuration file /usr/local/etc/raddb/modules/ntlm_auth
> including configuration file /usr/local/etc/raddb/modules/opendirectory
> including configuration file /usr/local/etc/raddb/modules/otp
> including configuration file /usr/local/etc/raddb/modules/preprocess
> including configuration file /usr/local/etc/raddb/modules/files
> including configuration file /usr/local/etc/raddb/modules/passwd
> including configuration file /usr/local/etc/raddb/modules/pap
> including configuration file /usr/local/etc/raddb/modules/checkval
> including configuration file /usr/local/etc/raddb/modules/digest
> including configuration file /usr/local/etc/raddb/modules/unix
> including configuration file /usr/local/etc/raddb/modules/radutmp
> including configuration file /usr/local/etc/raddb/modules/linelog
> including configuration file /usr/local/etc/raddb/modules/perl
> including configuration file /usr/local/etc/raddb/modules/detail.example.com
> including configuration file
> /usr/local/etc/raddb/modules/sqlcounter_expire_on_login
> including configuration file /usr/local/etc/raddb/modules/echo
> including configuration file /usr/local/etc/raddb/modules/inner-eap
> including configuration file /usr/local/etc/raddb/modules/sql_log
> including configuration file /usr/local/etc/raddb/modules/attr_rewrite
> including configuration file /usr/local/etc/raddb/modules/ldap
> including configuration file /usr/local/etc/raddb/modules/dynamic_clients
> including configuration file /usr/local/etc/raddb/modules/expiration
> including configuration file /usr/local/etc/raddb/modules/wimax
> including configuration file /usr/local/etc/raddb/modules/expr
> including configuration file /usr/local/etc/raddb/modules/mschap
> including configuration file /usr/local/etc/raddb/modules/smbpasswd
> including configuration file /usr/local/etc/raddb/modules/chap
> including configuration file /usr/local/etc/raddb/modules/mac2vlan
> including configuration file /usr/local/etc/raddb/modules/acct_unique
> including configuration file /usr/local/etc/raddb/modules/attr_filter
> including configuration file /usr/local/etc/raddb/modules/mac2ip
> including configuration file /usr/local/etc/raddb/modules/policy
> including configuration file /usr/local/etc/raddb/modules/detail.log
> including configuration file /usr/local/etc/raddb/modules/logintime
> including configuration file /usr/local/etc/raddb/eap.conf
> including configuration file /usr/local/etc/raddb/policy.conf
> including files in directory /usr/local/etc/raddb/sites-enabled/
> including configuration file /usr/local/etc/raddb/sites-enabled/inner-tunnel
> including configuration file
> /usr/local/etc/raddb/sites-enabled/control-socket
> including configuration file /usr/local/etc/raddb/sites-enabled/default
> main {
>     allow_core_dumps = no
> }
> including dictionary file /usr/local/etc/raddb/dictionary
> main {
>     prefix = "/usr/local"
>     localstatedir = "/usr/local/var"
>     logdir = "/usr/local/var/log/radius"
>     libdir = "/usr/local/lib"
>     radacctdir = "/usr/local/var/log/radius/radacct"
>     hostname_lookups = no
>     max_request_time = 30
>     cleanup_delay = 5
>     max_requests = 1024
>     pidfile = "/usr/local/var/run/radiusd/radiusd.pid"
>     checkrad = "/usr/local/sbin/checkrad"
>     debug_level = 0
>     proxy_requests = yes
>  log {
>     stripped_names = no
>     auth = no
>     auth_badpass = no
>     auth_goodpass = no
>  }
>  security {
>     max_attributes = 200
>     reject_delay = 1
>     status_server = yes
>  }
> }
> radiusd: #### Loading Realms and Home Servers ####
>  proxy server {
>     retry_delay = 5
>     retry_count = 3
>     default_fallback = no
>     dead_time = 120
>     wake_all_if_all_dead = no
>  }
>  home_server localhost {
>     ipaddr = 127.0.0.1
>     port = 1812
>     type = "auth"
>     secret = "testing123"
>     response_window = 20
>     max_outstanding = 65536
>     require_message_authenticator = yes
>     zombie_period = 40
>     status_check = "status-server"
>     ping_interval = 30
>     check_interval = 30
>     num_answers_to_alive = 3
>     num_pings_to_alive = 3
>     revive_interval = 120
>     status_check_timeout = 4
>     irt = 2
>     mrt = 16
>     mrc = 5
>     mrd = 30
>  }
>  home_server_pool my_auth_failover {
>     type = fail-over
>     home_server = localhost
>  }
>  realm example.com {
>     auth_pool = my_auth_failover
>  }
>  realm LOCAL {
>  }
> radiusd: #### Loading Clients ####
>  client localhost {
>     ipaddr = 127.0.0.1
>     require_message_authenticator = no
>     secret = "testing123"
>     nastype = "other"
>  }
>  client 60.62.0.11 {
>     require_message_authenticator = no
>     secret = "abcd"
>     shortname = "TalwarDjea"
>     nastype = "other"
>  }
> radiusd: #### Instantiating modules ####
>  instantiate {
>  Module: Linked to module rlm_exec
>  Module: Instantiating module "exec" from file
> /usr/local/etc/raddb/modules/exec
>   exec {
>     wait = no
>     input_pairs = "request"
>     shell_escape = yes
>   }
>  Module: Linked to module rlm_expr
>  Module: Instantiating module "expr" from file
> /usr/local/etc/raddb/modules/expr
>  Module: Linked to module rlm_expiration
>  Module: Instantiating module "expiration" from file
> /usr/local/etc/raddb/modules/expiration
>   expiration {
>     reply-message = "Password Has Expired  "
>   }
>  Module: Linked to module rlm_logintime
>  Module: Instantiating module "logintime" from file
> /usr/local/etc/raddb/modules/logintime
>   logintime {
>     reply-message = "You are calling outside your allowed timespan  "
>     minimum-timeout = 60
>   }
>  }
> radiusd: #### Loading Virtual Servers ####
> server inner-tunnel { # from file
> /usr/local/etc/raddb/sites-enabled/inner-tunnel
>  modules {
>  Module: Checking authenticate {...} for more modules to load
>  Module: Linked to module rlm_pap
>  Module: Instantiating module "pap" from file
> /usr/local/etc/raddb/modules/pap
>   pap {
>     encryption_scheme = "auto"
>     auto_header = no
>   }
>  Module: Linked to module rlm_chap
>  Module: Instantiating module "chap" from file
> /usr/local/etc/raddb/modules/chap
>  Module: Linked to module rlm_mschap
>  Module: Instantiating module "mschap" from file
> /usr/local/etc/raddb/modules/mschap
>   mschap {
>     use_mppe = yes
>     require_encryption = no
>     require_strong = no
>     with_ntdomain_hack = no
>   }
>  Module: Linked to module rlm_unix
>  Module: Instantiating module "unix" from file
> /usr/local/etc/raddb/modules/unix
>   unix {
>     radwtmp = "/usr/local/var/log/radius/radwtmp"
>   }
>  Module: Linked to module rlm_eap
>  Module: Instantiating module "eap" from file /usr/local/etc/raddb/eap.conf
>   eap {
>     default_eap_type = "md5"
>     timer_expire = 60
>     ignore_unknown_eap_types = no
>     cisco_accounting_username_bug = no
>     max_sessions = 4096
>   }
>  Module: Linked to sub-module rlm_eap_md5
>  Module: Instantiating eap-md5
>  Module: Linked to sub-module rlm_eap_leap
>  Module: Instantiating eap-leap
>  Module: Linked to sub-module rlm_eap_gtc
>  Module: Instantiating eap-gtc
>    gtc {
>     challenge = "Password: "
>     auth_type = "PAP"
>    }
> Ignoring EAP-Type/tls because we do not have OpenSSL support.
> Ignoring EAP-Type/ttls because we do not have OpenSSL support.
> Ignoring EAP-Type/peap because we do not have OpenSSL support.
>  Module: Linked to sub-module rlm_eap_mschapv2
>  Module: Instantiating eap-mschapv2
>    mschapv2 {
>     with_ntdomain_hack = no
>    }
>  Module: Checking authorize {...} for more modules to load
>  Module: Linked to module rlm_realm
>  Module: Instantiating module "suffix" from file
> /usr/local/etc/raddb/modules/realm
>   realm suffix {
>     format = "suffix"
>     delimiter = "@"
>     ignore_default = no
>     ignore_null = no
>   }
>  Module: Linked to module rlm_files
>  Module: Instantiating module "files" from file
> /usr/local/etc/raddb/modules/files
>   files {
>     usersfile = "/usr/local/etc/raddb/users"
>     acctusersfile = "/usr/local/etc/raddb/acct_users"
>     preproxy_usersfile = "/usr/local/etc/raddb/preproxy_users"
>     compat = "no"
>   }
>  Module: Checking session {...} for more modules to load
>  Module: Linked to module rlm_radutmp
>  Module: Instantiating module "radutmp" from file
> /usr/local/etc/raddb/modules/radutmp
>   radutmp {
>     filename = "/usr/local/var/log/radius/radutmp"
>     username = "%{User-Name}"
>     case_sensitive = yes
>     check_with_nas = yes
>     perm = 384
>     callerid = yes
>   }
>  Module: Checking post-proxy {...} for more modules to load
>  Module: Checking post-auth {...} for more modules to load
>  Module: Linked to module rlm_attr_filter
>  Module: Instantiating module "attr_filter.access_reject" from file
> /usr/local/etc/raddb/modules/attr_filter
>   attr_filter attr_filter.access_reject {
>     attrsfile = "/usr/local/etc/raddb/attrs.access_reject"
>     key = "%{User-Name}"
>   }
>  } # modules
> } # server
> server { # from file /usr/local/etc/raddb/radiusd.conf
>  modules {
>  Module: Checking authenticate {...} for more modules to load
>  Module: Linked to module rlm_digest
>  Module: Instantiating module "digest" from file
> /usr/local/etc/raddb/modules/digest
>  Module: Checking authorize {...} for more modules to load
>  Module: Linked to module rlm_preprocess
>  Module: Instantiating module "preprocess" from file
> /usr/local/etc/raddb/modules/preprocess
>   preprocess {
>     huntgroups = "/usr/local/etc/raddb/huntgroups"
>     hints = "/usr/local/etc/raddb/hints"
>     with_ascend_hack = no
>     ascend_channels_per_line = 23
>     with_ntdomain_hack = no
>     with_specialix_jetstream_hack = no
>     with_cisco_vsa_hack = no
>     with_alvarion_vsa_hack = no
>   }
>  Module: Checking preacct {...} for more modules to load
>  Module: Linked to module rlm_acct_unique
>  Module: Instantiating module "acct_unique" from file
> /usr/local/etc/raddb/modules/acct_unique
>   acct_unique {
>     key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address,
> NAS-Port"
>   }
>  Module: Checking accounting {...} for more modules to load
>  Module: Linked to module rlm_detail
>  Module: Instantiating module "detail" from file
> /usr/local/etc/raddb/modules/detail
>   detail {
>     detailfile =
> "/usr/local/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d"
>     header = "%t"
>     detailperm = 384
>     dirperm = 493
>     locking = no
>     log_packet_header = no
>   }
>  Module: Instantiating module "attr_filter.accounting_response" from file
> /usr/local/etc/raddb/modules/attr_filter
>   attr_filter attr_filter.accounting_response {
>     attrsfile = "/usr/local/etc/raddb/attrs.accounting_response"
>     key = "%{User-Name}"
>   }
>  Module: Checking session {...} for more modules to load
>  Module: Checking post-proxy {...} for more modules to load
>  Module: Checking post-auth {...} for more modules to load
>  } # modules
> } # server
> radiusd: #### Opening IP addresses and Ports ####
> listen {
>     type = "auth"
>     ipaddr = *
>     port = 0
> }
> listen {
>     type = "acct"
>     ipaddr = *
>     port = 0
> }
> listen {
>     type = "control"
>  listen {
>     socket = "/usr/local/var/run/radiusd/radiusd.sock"
>  }
> }
> listen {
>     type = "auth"
>     ipaddr = 127.0.0.1
>     port = 18120
> }
> Listening on authentication address * port 1812
> Listening on accounting address * port 1813
> Listening on command file /usr/local/var/run/radiusd/radiusd.sock
> Listening on authentication address 127.0.0.1 port 18120 as server
> inner-tunnel
> Listening on proxy address * port 1814
> Ready to process requests.
> rad_recv: Access-Request packet from host 60.62.0.11 port 32768, id=64,
> length=171
>     User-Name = "test"
>     Calling-Station-Id = "00-23-14-52-b6-48"
>     Called-Station-Id = "00-22-90-96-74-d0:roam1x"
>     NAS-Port = 13
>     NAS-IP-Address = 60.62.0.11
>     NAS-Identifier = "TalwarDjea"
>     Airespace-Wlan-Id = 2
>     Service-Type = Framed-User
>     Framed-MTU = 1300
>     NAS-Port-Type = Wireless-802.11
>     Tunnel-Type:0 = VLAN
>     Tunnel-Medium-Type:0 = IEEE-802
>     Tunnel-Private-Group-Id:0 = "662"
>     EAP-Message = 0x020200090174657374
>     Message-Authenticator = 0x43b27fa1904d094c72f283b626235ede
> # Executing section authorize from file
> /usr/local/etc/raddb/sites-enabled/default
> +- entering group authorize {...}
> ++[preprocess] returns ok
> ++[chap] returns noop
> ++[mschap] returns noop
> ++[digest] returns noop
> [suffix] No '@' in User-Name = "test", looking up realm NULL
> [suffix] No such realm "NULL"
> ++[suffix] returns noop
> [eap] EAP packet type response id 2 length 9
> [eap] No EAP Start, assuming it's an on-going EAP conversation
> ++[eap] returns updated
> [files] users: Matched entry test at line 206
> ++[files] returns ok
> ++[expiration] returns noop
> ++[logintime] returns noop
> [pap] WARNING: Auth-Type already set.  Not setting to PAP
> ++[pap] returns noop
> Found Auth-Type = EAP
> # Executing group from file /usr/local/etc/raddb/sites-enabled/default
> +- entering group authenticate {...}
> [eap] EAP Identity
> [eap] processing type md5
> rlm_eap_md5: Issuing Challenge
> ++[eap] returns handled
> Sending Access-Challenge of id 64 to 60.62.0.11 port 32768
>     EAP-Message = 0x010300160410a79c9f15ab9b61db3cbbea86ccff0cdc
>     Message-Authenticator = 0x00000000000000000000000000000000
>     State = 0xde34e188de37e54e1627fcd7f780c535
> Finished request 0.
> Going to the next request
> Waking up in 4.9 seconds.
> rad_recv: Access-Request packet from host 60.62.0.11 port 32768, id=65,
> length=186
>     User-Name = "test"
>     Calling-Station-Id = "00-23-14-52-b6-48"
>     Called-Station-Id = "00-22-90-96-74-d0:roam1x"
>     NAS-Port = 13
>     NAS-IP-Address = 60.62.0.11
>     NAS-Identifier = "TalwarDjea"
>     Airespace-Wlan-Id = 2
>     Service-Type = Framed-User
>     Framed-MTU = 1300
>     NAS-Port-Type = Wireless-802.11
>     Tunnel-Type:0 = VLAN
>     Tunnel-Medium-Type:0 = IEEE-802
>     Tunnel-Private-Group-Id:0 = "662"
>     EAP-Message = 0x020300060311
>     State = 0xde34e188de37e54e1627fcd7f780c535
>     Message-Authenticator = 0x86143f5b448d061ce4685385e73a01b4
> # Executing section authorize from file
> /usr/local/etc/raddb/sites-enabled/default
> +- entering group authorize {...}
> ++[preprocess] returns ok
> ++[chap] returns noop
> ++[mschap] returns noop
> ++[digest] returns noop
> [suffix] No '@' in User-Name = "test", looking up realm NULL
> [suffix] No such realm "NULL"
> ++[suffix] returns noop
> [eap] EAP packet type response id 3 length 6
> [eap] No EAP Start, assuming it's an on-going EAP conversation
> ++[eap] returns updated
> [files] users: Matched entry test at line 206
> ++[files] returns ok
> ++[expiration] returns noop
> ++[logintime] returns noop
> [pap] WARNING: Auth-Type already set.  Not setting to PAP
> ++[pap] returns noop
> Found Auth-Type = EAP
> # Executing group from file /usr/local/etc/raddb/sites-enabled/default
> +- entering group authenticate {...}
> [eap] Request found, released from the list
> [eap] EAP NAK
> [eap] EAP-NAK asked for EAP-Type/leap
> [eap] processing type leap
>   rlm_eap_leap: Stage 2
>   rlm_eap_leap: Issuing AP Challenge
>   rlm_eap_leap: Successfully initiated
> ++[eap] returns handled
> Sending Access-Challenge of id 65 to 60.62.0.11 port 32768
>     EAP-Message = 0x01040014110100085a49dd53258088a974657374
>     Message-Authenticator = 0x00000000000000000000000000000000
>     State = 0xde34e188df30f04e1627fcd7f780c535
> Finished request 1.
> Going to the next request
> Waking up in 4.9 seconds.
> rad_recv: Access-Request packet from host 60.62.0.11 port 32768, id=66,
> length=216
>     User-Name = "test"
>     Calling-Station-Id = "00-23-14-52-b6-48"
>     Called-Station-Id = "00-22-90-96-74-d0:roam1x"
>     NAS-Port = 13
>     NAS-IP-Address = 60.62.0.11
>     NAS-Identifier = "TalwarDjea"
>     Airespace-Wlan-Id = 2
>     Service-Type = Framed-User
>     Framed-MTU = 1300
>     NAS-Port-Type = Wireless-802.11
>     Tunnel-Type:0 = VLAN
>     Tunnel-Medium-Type:0 = IEEE-802
>     Tunnel-Private-Group-Id:0 = "662"
>     EAP-Message =
> 0x0204002411010018f84b7c6e4beaad41a5f1c179c35507c688576b2d4431d8b574657374
>     State = 0xde34e188df30f04e1627fcd7f780c535
>     Message-Authenticator = 0xdab956d032f1cdc8b7519647c512e4ef
> # Executing section authorize from file
> /usr/local/etc/raddb/sites-enabled/default
> +- entering group authorize {...}
> ++[preprocess] returns ok
> ++[chap] returns noop
> ++[mschap] returns noop
> ++[digest] returns noop
> [suffix] No '@' in User-Name = "test", looking up realm NULL
> [suffix] No such realm "NULL"
> ++[suffix] returns noop
> [eap] EAP packet type response id 4 length 36
> [eap] No EAP Start, assuming it's an on-going EAP conversation
> ++[eap] returns updated
> [files] users: Matched entry test at line 206
> ++[files] returns ok
> ++[expiration] returns noop
> ++[logintime] returns noop
> [pap] WARNING: Auth-Type already set.  Not setting to PAP
> ++[pap] returns noop
> Found Auth-Type = EAP
> # Executing group from file /usr/local/etc/raddb/sites-enabled/default
> +- entering group authenticate {...}
> [eap] Request found, released from the list
> [eap] EAP/leap
> [eap] processing type leap
>   rlm_eap_leap: Stage 4
>   rlm_eap_leap: NtChallengeResponse from AP is valid
> [eap] Underlying EAP-Type set EAP ID to 5
> ++[eap] returns ok
> # Executing section post-auth from file
> /usr/local/etc/raddb/sites-enabled/default
> +- entering group post-auth {...}
> ++[exec] returns noop
> Sending Access-Challenge of id 66 to 60.62.0.11 port 32768
>     EAP-Message = 0x03050004
>     Message-Authenticator = 0x00000000000000000000000000000000
>     State = 0xde34e188dc31f04e1627fcd7f780c535
> Finished request 2.
> Going to the next request
> Waking up in 4.9 seconds.
> Cleaning up request 0 ID 64 with timestamp +306
> Cleaning up request 1 ID 65 with timestamp +306
> Cleaning up request 2 ID 66 with timestamp +306
> Ready to process requests.
>
>
>
>
>
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html
>




More information about the Freeradius-Users mailing list