Greetings;
I've been trying to make FR auth using its SQL module (through MySQL to be
specific) and am having no luck whatsoever.
I've thoroughly consulted the frontios.com/freeradius.html
documentation and just can't seem to make this work.
I swear, if someone helps me work this out, I'll write the freakin'
FreeRADIUS SQL auth documentation myself, 'cos this is bugging me.

The relevant parts of the radiusd.conf:
authorize {
        preprocess
        suffix
        sql
        files
        }

authentication {
        }

preacct {
        preprocess
        suffix
        files
        }

accounting {
        acct_unique
        detail
        unix            # wtmp file
        sql
        radutmp
        }

My SQL data:
mysql> select * from usergroup;
+----+----------+-----------+
| id | UserName | GroupName |
+----+----------+-----------+
|  2 | testuser | dynamic   |
+----+----------+-----------+
mysql> select * from radcheck;
+----+----------+-----------+----+----------+
| id | UserName | Attribute | op | Value    |
+----+----------+-----------+----+----------+
|  2 | testuser | Password  | == | testpass |
+----+----------+-----------+----+----------+
mysql> select * from radgroupreply;
+----+-----------+--------------------+----+---------------------+------+
| id | GroupName | Attribute          | op | Value               | prio |
+----+-----------+--------------------+----+---------------------+------+
|  1 | dynamic   | Auth-Type          | := | Local               |    0 |
|  2 | dynamic   | Service-Type       | =  | Framed-User         |    0 |
|  3 | dynamic   | Framed-Protocol    | =  | PPP                 |    0 |
|  4 | dynamic   | Framed-Compression | =  | Van-Jacobsen-TCP-IP |    0 |
|  5 | dynamic   | Framed-MTU         | =  | 1500                |    0 |
+----+-----------+--------------------+----+---------------------+------+

The command I'm using to test:
[jphindin@server bin]$ ./radtest testuser testpass localhost 66 *password*
Sending Access-Request of id 251 to 127.0.0.1:1812
        User-Name = "testuser"
        User-Password = "\017j\264\354\345\300\311\311\014\317j\215a\310cM"
        NAS-IP-Address = server
        NAS-Port = 66
rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=251, length=20

The relevant 'radiusd -X' output:
rad_recv: Access-Request packet from host 127.0.0.1:33643, id=102, length=60
        User-Name = "testuser"
        User-Password = "testpass"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 66
modcall: entering group authorize
  modcall[authorize]: module "preprocess" returns ok
    rlm_realm: No '@' in User-Name = "testuser", looking up realm NULL
    rlm_realm: No such realm NULL
  modcall[authorize]: module "suffix" returns noop
radius_xlat:  'testuser'
rlm_sql (sql): sql_set_user escaped user --> 'testuser'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE Username = 
'testuser' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 3
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE 
Username = 'testuser' ORDER BY id
radius_xlat:  'SELECT 
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck.op
 FROM radgroupcheck,usergroup WHERE usergroup.Username = 'testuser' AND 
usergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT 
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck.op
 FROM radgroupcheck,usergroup WHERE usergroup.Username = 'testuser' AND 
usergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE Username = 
'testuser' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply WHERE 
Username = 'testuser' ORDER BY id
radius_xlat:  'SELECT 
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op
 FROM radgroupreply,usergroup WHERE usergroup.Username = 'testuser' AND 
usergroup.GroupName = radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT 
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op
 FROM radgroupreply,usergroup WHERE usergroup.Username = 'testuser' AND 
usergroup.GroupName = radgroupreply. GroupName ORDER BY radgroupreply.id
rlm_sql (sql): Released sql socket id: 3
  modcall[authorize]: module "sql" returns ok
    users: Matched DEFAULT at 152
  modcall[authorize]: module "files" returns ok
modcall: group authorize returns ok
  rad_check_password:  Found Auth-Type System
auth: type "System"
auth: Failed to validate the user.
Login incorrect: [testuser/testpass] (from client localhost port 66)

JP


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

Reply via email to