FreeRadius
Marcel Grandemange
thavinci at thavinci.za.net
Thu Oct 2 11:14:26 CEST 2008
>Hi Marcel
>I don't know if i'm right, or if it's related to your problem, but if you check the source of rlm_sqlcounter (rlm_sqlcounter.c), you may see that this module >seems really time based (Alan will correct me if i'm wrong). Indeed the module contains a function that make it possible for a user to start using its next >month's quota, if the integer returned by the check-name is greater than the number of seconds untill the reset time. In your case this would suggest you >compare bytes your with seconds, and mso maybe you allow sometime user to use their quota twice a month, or something like this.
You would have to explain to me in really basic terms as im a newbie.
I am aware that the module is mostly time based, but is intended for data usage aswell although NOT very well documented.
I struggled for months to get the information to set it up as is.
>Once again what I say here needs to be checked, but i'm almost sure sqlcounter mechanism are time related.
Like I said cannot recall where I eventually did find the docs, but know many use this function on Chillispot hotspot installs.
>Marcel Grandemange a écrit :
>I have a working FreeRadius installation used for PPPOE clients using a Mikrotik NAS (Essentialy Linux)
>I am using Freeradius to limit data a user can send/receive within a month and automatically reset it every month.
>I used an example from chilliuspot hotspot for this.
>However what im noticing is sometimes a customer gets denied access because he has exceeded he’s monthly allowance, however when I check the
>Db this is not the case cause it’s the beginning of month.
>This only happens sometimes so im lost!
>I use sqlcounter.conf for the counter part of things and INCLUDE this from radius.conf.
>sqlcounter monthlytraffic {
> counter-name = Monthly-Traffic
> check-name = Max-Monthly-Traffic
> reply-name = Mikrotik-Xmit-Limit-Gigawords
> sqlmod-inst = sql
> key = User-Name
> reset = monthly
>query = "SELECT SUM(AcctInputOctets - GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0))+ SUM(AcctOutputOctets -GREATEST((%b - >UNIX_TIMESTAMP(AcctStartTime)), 0)) FROM radacct WHERE UserName='%{%k}' AND UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'"
>}
>Anybody for input? I would greately appreciate help here! A Work around is to simply increase he’s allowance till he is allowed to connect!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20081002/ca1a6ca7/attachment.html>
More information about the Freeradius-Users
mailing list