This is the instruction on how to setup Cisco LEAP
with FreeRadius.
I am NOT an expert with FreeRadius so I am sure this
"howto" has
shortcomings in it.  Please feel to make comments and
changes 
to the documentation.  I just know that this
instruction works for me.  Last but not least, many
thanks to everyone in this group that has made it 
possible.

Equipments:  
1) Xupplicant:  Win2k (SP3)/WinXP (SP1) with Cisco
Aironet Control
Utility (ACU) software.  Aironet Wirless Card.

2) Authenticator:  Cisco Wireless Access Point (WAP)
AP340 model.

3) Authentication Server:  FreeRadius snapshot version

freeradius-snapshot-20030324.tar.gz (I think any
version after March 8
will support Cisco LEAP).

Instructions:
1) download the freeradius-snapshot-20030324.tar.gz
file,
2) tar xzpf freeradius-snapshot-20030324.tar.gz
3) cd to the freeradius-snapshot-20030324 directory
4) ./configure --sysconfdir=/etc
5) make 
6) make install
7) in the /etc/raddb/clients.conf file, include the IP
address of the
WAP
8) in the users file, specify a test account.  For
example:
"dtran" Auth-Type := EAP, User-Password == "123456"
9) In the radiusd.conf, change the following:
from:
default_eap_type = md5
to:
default_eap_type = leap

# Supported EAP-types
from:   
md5 {
to:
leap {

Uncomment the "eap" below:
        # The chap module will set 'Auth-Type := CHAP'
if we are
        # handling a CHAP request and Auth-Type has
not already been set
        #
        chap

#       counter
#       attr_filter
#       eap

Again, uncomment the "eap" below:

        # Uncomment it if you want to use ldap for
authentication
#       authtype LDAP {
#               ldap
#       }
#       mschap
#       eap

Uncomment the "passwd" and "shadow":

                #  To force the module to use the
system password functions,
                #  instead of reading the files,
comment out the 'passwd'
                #  and 'shadow' configuration entries.
 This is required
                #  for some systems, like FreeBSD, and
Mac OSX.
                #
                #     passwd = /etc/passwd
                #     shadow = /etc/shadow
                       group = /etc/group


10) for testing purposes, start radiusd in debug mode:
radiusd -X -A

11) Setup your WAP to use FreeRadius.  Specify port
1812 instead of
1645 in the WAP.

>From Win2k or XP, setup your wireless to use LEAP.

If everything is working right, you will see on the
radius server the 
following message:

                    



[EMAIL PROTECTED] root]# radiusd -X -A

Starting - reading configuration files ...

reread_config:  reading radiusd.conf

Config:   including file: /etc/raddb/proxy.conf

Config:   including file: /etc/raddb/clients.conf

Config:   including file: /etc/raddb/snmp.conf

Config:   including file: /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 = no

 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 = yes

 proxy: retry_delay = 5

 proxy: retry_count = 3

 proxy: synchronous = no

 proxy: default_fallback = yes

 proxy: dead_time = 120

 proxy: post_proxy_authorize = yes

 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

read_config_files:  reading clients

read_config_files:  reading realms

radiusd:  entering modules setup

Module: Library search path is /usr/local/lib

Module: Loaded expr

Module: Instantiated expr (expr)

Module: Loaded System

 unix: cache = no

 unix: passwd = "/etc/passwd"

 unix: shadow = "/etc/shadow"

 unix: group = "/etc/group"

 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 = "leap"

 eap: timer_expire = 60

rlm_eap: Loaded and initialized the type leap

Module: Instantiated eap (eap)

Module: Loaded CHAP

Module: Instantiated chap (chap)

Module: Loaded PAP

 pap: encryption_scheme = "crypt"

Module: Instantiated pap (pap)

Module: Loaded preprocess

 preprocess: huntgroups = "/etc/raddb/huntgroups"

 preprocess: hints = "/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 realm

 realm: format = "suffix"

 realm: delimiter = "@"

Module: Instantiated realm (suffix)

Module: Loaded files

 files: usersfile = "/etc/raddb/users"

 files: acctusersfile = "/etc/raddb/acct_users"

 files: preproxy_usersfile =
"/etc/raddb/preproxy_users"

 files: compat = "no"

Module: Instantiated files (files)

Module: Loaded detail

 detail: detailfile =
"/usr/local/var/log/radius/radacct/%{Client-IP-Address}/deta

il-%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 IP address *, ports 1812/udp and
1813/udp, with proxy on 1814/udp. Ready to process
requests.

rad_recv: Access-Request packet from host
172.17.1.6:1087, id=61, length=147

        User-Name = "dtran"

        Cisco-AVPair = "ssid=micronet"

        NAS-IP-Address = 172.17.1.6

        Called-Station-Id = "00409631adfd"

        Calling-Station-Id = "0040963a0c33"

        NAS-Identifier = "AP340"

        NAS-Port = 37

        Framed-MTU = 1400

        NAS-Port-Type = Wireless-802.11

        Service-Type = Login-User

        EAP-Message = "\002\002\000\014\001dtran"

        Message-Authenticator =
0x6b575287db8c7d318e4f1f6ca76df5df

modcall: entering group authorize

  modcall[authorize]: module "preprocess" returns ok

rlm_chap: Could not find proper Chap-Password
attribute in request

  modcall[authorize]: module "chap" returns noop

  rlm_eap: EAP packet type notification id 2 length 12

  modcall[authorize]: module "eap" returns updated

    rlm_realm: No '@' in User-Name = "dtran", looking
up realm NULL

    rlm_realm: No such realm "NULL"

  modcall[authorize]: module "suffix" returns noop

    users: Matched dtran at 97

  modcall[authorize]: module "files" returns ok

modcall: group authorize returns updated

  rad_check_password:  Found Auth-Type EAP

auth: type "EAP"

modcall: entering group authenticate

  rlm_eap: EAP packet type notification id 2 length 12

  rlm_eap: processing type leap

  rlm_eap_leap: Stage 2

  rlm_eap_leap: Issuing AP Challenge

  rlm_eap_leap: Successfully initiated

  modcall[authenticate]: module "eap" returns ok

modcall: group authenticate returns ok

Sending Access-Challenge of id 61 to 172.17.1.6:1087

        EAP-Message =
0x01030017110100085186b6cc743c97007472616e646131

        Message-Authenticator =
0x00000000000000000000000000000000

        State =
0x0cf206a2f87ef8a3353de6056d9b15577cdf823e6133268d44f256f59d54fe7e

d0642859

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
172.17.1.6:1088, id=62, length=212

        User-Name = "dtran"

        Cisco-AVPair = "ssid=micronet"

        NAS-IP-Address = 172.17.1.6

        Called-Station-Id = "00409631adfd"

        Calling-Station-Id = "0040963a0c33"

        NAS-Identifier = "AP340"

        NAS-Port = 37

        Framed-MTU = 1400

        State =
0x0cf206a2f87ef8a3353de6056d9b15577cdf823e6133268d44f256f59d54fe7e

d0642859

        NAS-Port-Type = Wireless-802.11

        Service-Type = Login-User

        EAP-Message =
"\002\003\000'\021\001\000\030CV\317D\032\273\214F\247\235\2

30\310d\212D\350u\254\374\207Xw(\312dtran"

        Message-Authenticator =
0xf97ff6625eb670a624763d06447893b8

modcall: entering group authorize

  modcall[authorize]: module "preprocess" returns ok

rlm_chap: Could not find proper Chap-Password
attribute in request

  modcall[authorize]: module "chap" returns noop

  rlm_eap: EAP packet type notification id 3 length 39

  modcall[authorize]: module "eap" returns updated

    rlm_realm: No '@' in User-Name = "dtran", looking
up realm NULL

    rlm_realm: No such realm "NULL"

  modcall[authorize]: module "suffix" returns noop

    users: Matched dtran at 97

  modcall[authorize]: module "files" returns ok

modcall: group authorize returns updated

  rad_check_password:  Found Auth-Type EAP

auth: type "EAP"

modcall: entering group authenticate

  rlm_eap: EAP packet type notification id 3 length 39

  rlm_eap: Request found, released from the list

  rlm_eap: EAP_TYPE - leap

  rlm_eap: processing type leap

  rlm_eap_leap: Stage 4

  rlm_eap_leap: NtChallengeResponse from AP is valid

  rlm_eap: Underlying EAP-Type set EAP ID to 4

  rlm_eap: Saving LEAP state

  modcall[authenticate]: module "eap" returns ok

modcall: group authenticate returns ok

Sending Access-Challenge of id 62 to 172.17.1.6:1088

        EAP-Message = 0x03040004

        Message-Authenticator =
0x00000000000000000000000000000000

        State =
0x0cf206a2f87ef8a3353de6056d9b15577cdf823e6133268d44f256f59d54fe7e

d0642859

Finished request 1

Going to the next request

Waking up in 6 seconds...

rad_recv: Access-Request packet from host
172.17.1.6:1089, id=63, length=196

        User-Name = "dtran"

        Cisco-AVPair = "ssid=123456"

        NAS-IP-Address = 172.17.1.6

        Called-Station-Id = "00409631adfd"

        Calling-Station-Id = "0040963a0c33"

        NAS-Identifier = "AP340"

        NAS-Port = 37

        Framed-MTU = 1400

        State =
0x0cf206a2f87ef8a3353de6056d9b15577cdf823e6133268d44f256f59d54fe7e

d0642859

        NAS-Port-Type = Wireless-802.11

        Service-Type = Login-User

        EAP-Message =
"\001\004\000\027\021\001\000\010,\023X\034cc\014\331dtran

"

        Message-Authenticator =
0x2b85bfe93cb0dcb1ecb1f76d2d8f612f

modcall: entering group authorize

  modcall[authorize]: module "preprocess" returns ok

rlm_chap: Could not find proper Chap-Password
attribute in request

  modcall[authorize]: module "chap" returns noop

  rlm_eap: EAP packet type identity id 4 length 23

  modcall[authorize]: module "eap" returns updated

    rlm_realm: No '@' in User-Name = "dtran", looking
up realm NULL

    rlm_realm: No such realm "NULL"

  modcall[authorize]: module "suffix" returns noop

    users: Matched dtran at 97

  modcall[authorize]: module "files" returns ok

modcall: group authorize returns updated

  rad_check_password:  Found Auth-Type EAP

auth: type "EAP"

modcall: entering group authenticate

  rlm_eap: EAP packet type identity id 4 length 23

  rlm_eap: Request found, released from the list

  rlm_eap: EAP_TYPE - leap

  rlm_eap: processing type leap

  rlm_eap_leap: Stage 6

  rlm_eap: Freeing handler

  modcall[authenticate]: module "eap" returns ok

modcall: group authenticate returns ok

Sending Access-Accept of id 63 to 172.17.1.6:1089

        Cisco-AVPair +=
"leap:session-key=\204\241O\314`\203HbU\317\333\266\006\25

4\301\207\035\376\340\333\344\301\310'B\274\343\247\275\033\302\255a\357"

        EAP-Message =
0x02050027110100185bd8b3a00c1f12a5c8823d4d641e6baae600bb1190

7a5fce7472616e646131

        Message-Authenticator =
0x00000000000000000000000000000000

Finished request 2

Going to the next request

Waking up in 6 seconds...

--- Walking the entire request list ---

Cleaning up request 0 ID 61 with timestamp 3e82df7c

Cleaning up request 1 ID 62 with timestamp 3e82df7c

Cleaning up request 2 ID 63 with timestamp 3e82df7c

Nothing to do.  Sleeping until we see a request.

 


 

   
--- Matt Peterson <[EMAIL PROTECTED]> wrote:
> It would be awesome if you could post a "HowTO" on
> configuring FreeRADIUS 
> w/ LEAP to work ;)
> 
> --On Friday, March 28, 2003 2:25 PM -0800 david tran
> 
> <[EMAIL PROTECTED]> wrote:
> 
> > All,
> > Thanks to everyone in this group, I've been able
> to
> > use LEAP via FreeRadius to authenticate wireless
> users
> > to access my wireless network.  I've a question,
> > abeit a dumb one, that may be someone can help me
> > with.
> >
> > In the users file, this is what I have:
> >
> > "dtran" Auth-Type := EAP, User-Password ==
> "123456"
> >
> > With this configuratiion, LEAP works fine.
> >
> > User "dtran" also has a Unix account,"dtran", on
> the
> > FreeRadius Server and I would like to use that
> account
> > and password for Cisco LEAP instead of having to
> > specify a different password in the users file.
> > However, if I do this:
> >
> > "dtran" Auth-Type := SYSTEM
> >
> > Then LEAP stops working.  I also make following
> > changes
> > in the radiusd.conf file:
> >
> >                #  To force the module to use the
> > system password functions,
> >                 #  instead of reading the files,
> > comment out the 'passwd'
> >                 #  and 'shadow' configuration
> entries.
> >  This is required
> >                 #  for some systems, like FreeBSD,
> and
> > Mac OSX.
> >                 #
> >                 #       passwd = /etc/passwd
> >                 #       shadow = /etc/shadow
> >                         group = /etc/group
> >
> >
> > It still doesn't work.  Can someone tell me if it
> can
> > be done?  And if so, how can I make it happen?
> >
> > Many thanks.
> > David
> >
> > __________________________________________________
> > Do you Yahoo!?
> > Yahoo! Platinum - Watch CBS' NCAA March Madness,
> live on your desktop!
> > http://platinum.yahoo.com
> >
> > -
> > List info/subscribe/unsubscribe? See
> > http://www.freeradius.org/list/users.html
> >
> 
> 
> 
> --
> Matt Peterson         another.geek.without.a.life
> [EMAIL PROTECTED]       http://matt.peterson.org/
> -------------------------------------------------


__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to