Freeradius with daily counter

Fajar A. Nugraha list at fajar.net
Wed Jul 16 04:23:44 CEST 2014


I assume you already read the wiki page which has examples for time limits?

If you only enforce one of time or BW, you can adjust the counter
(i.e. dailycounter) to use the one you need. The column that holds BW
information from radacct should be acctinputoctets and
acctoutputoctets (doublecheck with your actual schema).

Try something like this (untested, from memory)

sqlcounter dailycounter {
    ...
    query = "SELECT SUM(acctinputoctets + acctoutputoctets) FROM
radacct WHERE UserName='%{${key}}' AND UNIX_TIMESTAMP(acctstarttime) +
acctsessiontime > '%b'"
}

see sql.counter.conf for more details (including what '%b' is, and a
more sql-friendly query).

-- 
Fajar

On Wed, Jul 16, 2014 at 5:29 AM, Ali Jawad <alijawad1 at gmail.com> wrote:
> Dear Fajar
> That worked beautifully, thanks ! Can you point me in the direction of
> setting up daily BW limits as well please ?
> Regards
>
>
> On Tue, Jul 15, 2014 at 1:59 PM, Fajar A. Nugraha <list at fajar.net> wrote:
>>
>> On Tue, Jul 15, 2014 at 6:33 PM, Ali Jawad <alijawad1 at gmail.com> wrote:
>> > Hi Fajar
>> > Thanks for the input, so if I use dailycounter instead of daily, and of
>> > course dailycounter is defined in sql/mysql/counter.conf does freeradius
>> > automatically know that it should look into sql counter.conf, or should
>> > I
>>
>> Have you read the configuration file (i.e. radiusd.conf)? If not, please
>> do.
>>
>> Here's the upstream version (I assume you use distro-bundled FR-2.x):
>>
>> https://github.com/FreeRADIUS/freeradius-server/blob/v2.x.x/raddb/radiusd.conf.in#L746
>>
>>
>>
>> > comment out counter without db ?
>>
>> In general, only use/activate the modules you need. Do you need the
>> counter module?
>>
>> --
>> Fajar
>>
>> > Regards
>> >
>> >
>> > On Tue, Jul 15, 2014 at 1:25 PM, Fajar A. Nugraha <list at fajar.net>
>> > wrote:
>> >>
>> >> On Tue, Jul 15, 2014 at 5:59 PM, Ali Jawad <alijawad1 at gmail.com> wrote:
>> >> > counter daily {
>> >> >
>> >> >         filename = ${db_dir}/db.daily
>> >>
>> >>
>> >> > rlm_counter: Failed to open file /etc/raddb/db.daily: Permission
>> >> > denied
>> >> >
>> >> > /etc/raddb/modules/counter[71]: Instantiation failed for module
>> >> > "daily"
>> >>
>> >> > What strikes me as weird is  why does freeradius try to look in
>> >> > db.daily
>> >> > which does not exist, instead of the MySQL table radacct ?
>> >>
>> >> counter -> store data in a file (gdbm)
>> >> sqlcounter -> use accounting data stored in sql
>> >>
>> >>
>> >> > Any pointers in the right directions please?
>> >>
>> >> Try http://wiki.freeradius.org/modules/Rlm_sqlcounter
>> >>
>> >> --
>> >> Fajar
>> >> -
>> >> List info/subscribe/unsubscribe? See
>> >> http://www.freeradius.org/list/users.html
>> >
>> >
>> >
>> > -
>> > List info/subscribe/unsubscribe? See
>> > http://www.freeradius.org/list/users.html
>> -
>> List info/subscribe/unsubscribe? See
>> http://www.freeradius.org/list/users.html
>
>
>
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html


More information about the Freeradius-Users mailing list