Struggling - radgroupcheck/radgroupreply

Bryan Martin bmartin at myplaceinspace.com
Tue Oct 23 01:30:28 CEST 2007


I need to have my NetworkGroup get passed one set of attributes and my 
ServerGroup get passed another.  But I have some EnterpriseAdmins who need 
access to both sets so i need to pass the correct attribute back depending 
on which device they try to auth from.

User Joe is a EnterpriseAdmin.  He is a member of the NetworkGroup and the 
ServerGroup so I need him to have the correct attributes passed to him 
depending on which NAS-IP-Address he comes from respectivly.  For instance, 
if joe trys to log in through 192.168.0.50 I need to pass back "Class = 
OU=ServerGroup".  If joe trys to log in through 192.168.0.1 I need to pass 
him "Class = OU=NetworkGroup".  The way it stands no matter which 
NAS-IP-Address he comes from because he is a member of both groups he gets 
both attributes sent back from radgroupreply.

User Sally is a member of the NetworkGroup so I only want radgroupreply to 
send just the attributes for the NetworkGroup.

User Bob is a ServerGroup so I only want bob to get the attributes from the 
ServerGroup.

mysql> select * from radcheck;
+----+----------+----------------------+----+---------------------------------------+
| id | UserName | Attribute            | op | Value 
|
+----+----------+----------------------+----+---------------------------------------+
|  8 | joe      | Password-With-Header | := | 
{md5}928a40033e748ad825e92ec4f9870696 |
|  9 | sally    | Password-With-Header | := | 
{md5}928a40033e748ad825e92ec4f9870696 |
| 10 | bob      | Password-With-Header | := | 
{md5}928a40033e748ad825e92ec4f9870696 |
+----+----------+----------------------+----+---------------------------------------+

mysql> select * from usergroup;
+----------+--------------+----------+
| UserName | GroupName    | priority |
+----------+--------------+----------+
| joe      | NetworkGroup |        1 |
| joe      | ServerGroup  |        2 |
| sally    | NetworkGroup |        1 |
| bob      | ServerGroup  |        1 |
+----------+--------------+----------+

mysql> select * from radgroupcheck;
+----+--------------+----------------+----+--------------+
| id | GroupName    | Attribute      | op | Value        |
+----+--------------+----------------+----+--------------+
|  9 | ServerGroup  | NAS-IP-Address | =  | 192.168.0.50 |
| 10 | ServerGroup  | Auth-Type      | =  | MD5          |
| 11 | NetworkGroup | NAS-IP-Address | =  | 192.168.0.1  |
| 12 | NetworkGroup | Auth-Type      | =  | MD5          |
+----+--------------+----------------+----+--------------+

mysql> select * from radgroupreply;
+----+--------------+-----------+----+-----------------+
| id | GroupName    | Attribute | op | Value           |
+----+--------------+-----------+----+-----------------+
| 17 | NetworkGroup | Class     | := | OU=NetworkGroup |
| 18 | ServerGroup  | Class     | := | OU=serverGroup  |
+----+--------------+-----------+----+-----------------+


Steps to reproduce if needed.
insert into usergroup (UserName, GroupName, priority) VALUES ('joe', 
'NetworkGroup', 1);
insert into usergroup (UserName, GroupName, priority) VALUES ('joe', 
'ServerGroup', 2);
insert into usergroup (UserName, GroupName, priority) VALUES ('sally', 
'NetworkGroup', 1);
insert into usergroup (UserName, GroupName, priority) VALUES ('bob', 
'ServerGroup', 1);

insert into radgroupcheck (GroupName, Attribute, op, value) VALUES 
('ServerGroup', 'NAS-IP-Address', '=', '192.168.0.50');
insert into radgroupcheck (GroupName, Attribute, op, value) VALUES 
('ServerGroup', 'Auth-Type', '=', 'MD5');
insert into radgroupcheck (GroupName, Attribute, op, value) VALUES 
('NetworkGroup', 'NAS-IP-Address', '=', '192.168.0.1');
insert into radgroupcheck (GroupName, Attribute, op, value) VALUES 
('NetworkGroup', 'Auth-Type', '=', 'MD5');

insert into radgroupreply (GroupName, Attribute, op, Value) VALUES 
('NetworkGroup', 'Class', ':=', 'OU=NetworkGroup');
insert into radgroupreply (GroupName, Attribute, op, Value) VALUES 
('ServerGroup', 'Class', ':=', 'OU=serverGroup');

Thanks for your time.




More information about the Freeradius-Users mailing list