Traffic Volume Limit per Month cannot exceed 4Gbytes

chenjiang chenjiang at microshield.com.cn
Thu Mar 19 11:40:15 CET 2015


   Hi! Experts

   I want to achieve user traffic volume limit per month, but found there
   is a limit for user traffic to exceed 4Gbytes.

   Below is my DB structure, you could see the
   "Max-Monthly-Trafficâ groupcheck attribute is 10Gbytes and it type
   is âvarchar", but it seems system deal it like a âinteger" type, so it
   cannot exceed 4Gbytes.

   mysql> desc radgroupcheck;

   +-----------+------------------+------+-----+---------+----------------
   +

   | Field     | Type             | Null | Key | Default | Extra
   |

   +-----------+------------------+------+-----+---------+----------------
   +

   | id        | int(11) unsigned | NO   | PRI | NULL    | auto_increment
   |

   | groupname | varchar(64)      | NO   | MUL |         |
   |

   | attribute | varchar(64)      | NO   |     |         |
   |

   | op        | char(2)          | NO   |     | ==      |
   |

   | value     | varchar(253)     | NO   |     |         |
   |

   +-----------+------------------+------+-----+---------+----------------
   +

   5 rows in set (0.00 sec)

   mysql> select * from radgroupcheck;

   +----+--------------------+-----------------------+----+------------+

   | id | groupname          | attribute             | op | value      |

   +----+--------------------+-----------------------+----+------------+

   |  1 | disabled           | Auth-Type             | := | Reject     |

   | 25 | group2        | Max-Monthly-Traffic   | := | 10737418240|

   | 33 | microshield        | Acct-Interim-Interval | := | 300        |

   +----+--------------------+-----------------------+----+------------+

   3 rows in set (0.00 sec)

   In FreeRADIUS debug mode, we could see that the rlm_sqlcounter
   âcheck_itemâ is always warpped in 4294967296 just like below:

   [monthlytrafficcounter]

   expand: %{sql:SELECT SUM(acctinputoctets+acctoutputoctets) FROM radacct

   WHERE username='lichan' AND UNIX_TIMESTAMP(acctstarttime) >
   '1425139200'} -> 7250810110

   rlm_sqlcounter: (Check item - counter) is less than zero

   rlm_sqlcounter: Rejected user lichan, check_item=2147483648,
   counter=3955842814

   ++[monthlytrafficcounter] returns reject

   And this always leads users been rejected in authentication procedure.

   Do you have any experience in this and could shed some light? Thanks
   for your great help!

   BR!
   Chen Jiang
   Microshield Technology Co., Ltd
   å京å¸æµ·æ·åºè¥¿ä¸ç¯åè·¯50å·è±ªæ大å¦C2座18-19å± 100048
   (86)10-88518768
   (86)18612696123
   [1]chenjiang at microshield.com.cn

References

   1. mailto:chenjiang at microshield.com.cn


More information about the Freeradius-Users mailing list