Properly using the operators?
Mike
mike-freeradius at tiedyenetworks.com
Sun Dec 17 00:26:10 CET 2006
Dear list,
I'm having a hard time learning how to use the attribute
properties correctly in my mysql/radius database and my test enviroment
is freeradius 1.1.3 / debian etch. What I'm trying to do is to establish
a 'suspended' user group which receives a Framed-IP-Address attribute of
10.10.0.2+, and which overrides any previously assigned
Famed-IP-Address, if present. I know that group processing is happening,
because I can add attributes to the suspended group and my test user
gets those attributes. I am adding the Framed-IP-Address attribute in
the radreply table, but it is not being overwritten from the one set by
radgroupreply. If I remove this from radreply, then the ip assigned in
suspended group is applied. If I change the one in radgroupreply to use
the += operator, then it returns both ip addresses in the reply. But I
can't seem to get := to overwrite like the docs says it does.
Here is a dump of my sample sql tables:
mysql> select * from radcheck ;
+----+----------+---------------+----+-----------------+
| id | UserName | Attribute | op | Value |
+----+----------+---------------+----+-----------------+
| 2 | joe.user | User-Password | == | ididntpaymybill |
+----+----------+---------------+----+-----------------+
mysql> select * from radreply ;
+----+----------+-------------------+----+---------+
| id | UserName | Attribute | op | Value |
+----+----------+-------------------+----+---------+
| 2 | joe.user | Framed-IP-Address | = | 1.2.3.4 |
+----+----------+-------------------+----+---------+
mysql> select * from usergroup ;
+----------+-----------+----------+
| UserName | GroupName | priority |
+----------+-----------+----------+
| joe.user | suspended | 1 |
+----------+-----------+----------+
mysql> select * from radgroupcheck ;
+----+-----------+-----------------+----+-------+
| id | GroupName | Attribute | op | Value |
+----+-----------+-----------------+----+-------+
| 3 | dynamic | Framed-Protocol | == | PPP |
| 4 | suspended | Framed-Protocol | == | PPP |
+----+-----------+-----------------+----+-------+
mysql> select * from radgroupreply ;
+----+-----------+-------------------+----+-----------------+
| id | GroupName | Attribute | op | Value |
+----+-----------+-------------------+----+-----------------+
| 6 | suspended | Framed-Netmask | = | 255.255.255.255 |
| 5 | suspended | Framed-IP-Address | = | 10.10.0.2+ |
| 7 | dynamic | Framed-IP-Address | := | 255.255.255.255 |
+----+-----------+-------------------+----+-----------------+
Here is the results of running radtest on this user:
> radtest joe.user ididntpaymybill localhost 0 testing123
Sending Access-Request of id 140 to 127.0.0.1 port 1812
User-Name = "joe.user"
User-Password = "ididntpaymybill"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=140, length=32
Framed-IP-Address = 1.2.3.4
Framed-IP-Netmask = 255.255.255.255
What I am trying to accomplish is simply to allow us to put
overdue users into the 'suspended' group, which will hand out a
different set of ip addresses than their normal non-suspended
configuration. I realise I could be approaching this all wrong but
right now I simply set those items (framed-ip-address, framed-route, and
etc) in the radreply table and I don't want to remove those items from
the database, just override them.
Any pointers would be greatly appreciated.
Mike-
More information about the Freeradius-Users
mailing list