Troubel with Cisco Aironet 1130 and MAC authentication

Christoffer Dahl Petersen cdp at trynix.dk
Mon Sep 18 15:33:01 CEST 2006


Hi!

I'm trying to get a Cisco Aironet 1130 to do MAC authentication with
freeradius and a pgsql as backend.
I Have made my own table in the pgsql witch looks like this:
radius=> select * from maskiner;
 mid |    mnavn     |       mmac         |  mpwd  |  mattr   | mop
-----+--------------+-------------------+------------+-----------+----------+--------+
   9 | 0016cf0157f8 | 0016cf0157f8      | radius | Password | ==  |

where mnavn is the name of the machine, mmac is the MAC of the machine,
mpwd is a password field, mattr is the attribute field, mop is the
operator.

I have tried with an Avaya AP, and it works fine.
Here is the authorize table:
authorize_check_query = "SELECT mid, mmac, mattr, mpwd, mop \
   FROM maskiner WHERE LOWER(mmac) = LOWER('%{SQL-User-Name}') ORDER BY
mid"

Here is the authenticate table:
authenticate_query = "select mpwd from maskiner where mmac =
'%{User-Name}'";

Here is the output from freeradius:
rad_recv: Access-Request packet from host 192.168.250.28:6001, id=3,
length=112
        User-Name = "0016cf0157f8"
        User-Password = "radius"
        NAS-IP-Address = 192.168.250.28
        Called-Station-Id = "00-20-a6-59-ce-93:GandrupII"
        Calling-Station-Id = "00-16-cf-01-57-f8"
        NAS-Port = 0
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_postgresql: query: SELECT mid, mmac, mattr, mpwd, mop    FROM
maskiner
  WHERE LOWER(mmac) = LOWER('0016cf0157f8') ORDER BY mid
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: affected rows =
rlm_sql (sql): Released sql socket id: 4
Login OK: [0016cf0157f8/radius] (from client Demo port 0 cli
00-16-cf-01-57-f8)
Sending Access-Accept of id 3 to 192.168.250.28:6001

Now since the Cisco AP is sending the User-Name and User-Password in
another format we have change freeradius configuration.
Here is the authorize table:
authorize_check_query = "SELECT mid, mmac, mattr, mmac, mop FROM
maskiner \
   WHERE LOWER(mmac) = LOWER('%{SQL-User-Name}') ORDER BY mid"

Here is the authenticate table:
authenticate_query = "select mmac from maskiner where mmac =
'%{User-Name}'";

Here is the output from freeradius:
rad_recv: Access-Request packet from host 192.168.250.35:1645, id=148,
length=115
        User-Name = "0016cf0157f8"
        User-Password = "0016cf0157f8"
        Called-Station-Id = "0017.0f84.8af0"
        Calling-Station-Id = "0016.cf01.57f8"
        Service-Type = Login-User
        NAS-Port-Type = Wireless-802.11
        NAS-Port = 531
        NAS-IP-Address = 192.168.250.35
        NAS-Identifier = "AP-07"
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_postgresql: query: SELECT mid, mmac, mattr, mmac, mop    FROM
maskiner
  WHERE LOWER(mmac) = LOWER('0016cf0157f8') ORDER BY mid
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: affected rows =
rlm_sql (sql): No matching entry in the database for request from user
[0016cf0157f8]
rlm_sql (sql): Released sql socket id: 4
Login incorrect: [0016cf0157f8/0016cf0157f8] (from client Demo port 531
cli
0016.cf01.57f8)

Why won't it work with the Cisco, does it use another dictionary or.... 

Any help is appreciated!!

Thanks in advance,

Christoffer 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20060918/cbe573b8/attachment.html>


More information about the Freeradius-Users mailing list