Hi folks, just to report back that I did eventually get this working.
Thanks again for your suggestions/advice!

Here's a summary of what I had to do...  Not saying that this is all
necessary or correct, but it worked for me :-)

First you need to have your APs talking Cisco WDS to each other.  I
made one of my loaned APs into a WDS master, so my config looked like
this on the WDS slave APs:

  wlccp ap username slave1 password 7 XXXXXX

And this on the WDS master AP:

  aaa group server radius FOO
    server-private 1.2.3.4 auth-port 1812 acct-port 1813 key 7 XXXX

  aaa authentication login FOO group FOO
  aaa authorization network FOO group FOO 

  wlccp ap username slave1 password 7 XXXXXX
  wlccp authentication-server infrastructure FOO
  wlccp wds priority 254 interface BVI1
  wlccp wnm ip address 4.3.2.1

The master WDS will try to authenticate the slave APs and the WLSE
via the RADIUS server and secret specified in FOO.  It seems that
you need to put the "wlccp ap username" clause in on the master.  I
don't see the slave APs or the WLSE contacting the RADIUS server,
although I think you can do WLSE Web user interface authentication
via RADIUS if you really want to.

The APs and the WLSE have entries in the 'users' file on the RADIUS
server which look like this:

  slave1          User-Password == "XXXXX"

I actually put a separate user name and password in for each of the
APs and the WLSE, but you probably don't need to do this.  If you're
having problems, it should be easier to debug this way.

You'll need to include your WDS master AP(s) in the RADIUS
clients.conf, as per:

  client 1.2.3.4 {
          secret = XXXXX
          shortname = XXXXXX
          nastype = other
  }

I'm not sure whether the 'shortname' field has to be filled in.  I
set this to be the same as my AP hostname as configured in IOS.

My eap.conf looks like this:

        eap {
                default_eap_type = leap
                timer_expire     = 60
                ignore_unknown_eap_types = no
                cisco_accounting_username_bug = no

                md5 {
                }

                leap {
                }

                mschapv2 {
                }
        }

And my radiusd.conf has:

        instantiate {
                exec
                expr
        }
        
        authorize {
                preprocess
                eap
                files
        }
        
        authenticate {
                eap
        }
        
        preacct {
                preprocess
                acct_unique
                files
        }
        
        accounting {
                detail
                radutmp
        }
        
        session {
                radutmp
        }
        
        post-auth {
        }
        
        pre-proxy {
        }
        
        post-proxy {
                eap
        }
 
I also defined "with_cisco_vsa_hack = yes" in the preprocess section.

Now, the above is fine for the WDS side of things, but the WLSE side
needs the hack from Richard Timsit, i.e.

  http://lists.cistron.nl/pipermail/freeradius-users/2004-September/035796.html

But note Richard's advice that it may need to be tweaked a little for
your installation:

> Once the patch applied, see the log an find such lines :
>    rlm_eap_leap: Stage 6
>    rlm_eap: RT Modif EAP-Type = 17 EAP-LENGTH = XX
> 
> If XX not equal to 30, modify the test of the patch eap.c accordingly.

Will see if my contacts at Cisco can pass on this info to the developers
of the WLSE, as they should be able to fix the problem easily...

Cheers,

Martin



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

Reply via email to