Freeradius SQL Daily SQL Counter not working properly + ChilliSpot-Max-Total-Octets

1.9k views Asked by At

I use Freeradius + CoovaChilli + Nginx + Ubuntu.

I nicely configured the Freeradius and everything is working fine.. Except that ChilliSpot-Max-Total-Octets terminate the session after 1 117 000 000 octets used by the Mac address but the Username can log in again.

I was expecting that the Username cannot login until he waits daily reset.

Is it due to the Unique ID session ?

In /etc/freeradius/sql/mysql/counter.php



          sqlcounter chillispot_max_bytes {
            counter-name = ChilliSpot-Max-Total-Octets
            check-name = ChilliSpot-Max-Total-Octets
            reply-name = ChilliSpot-Max-Total-Octets
            reply-message = "C'est pas bien de trop télécharger !!"
            sqlmod-inst = sql
            key = User-Name
            reset = daily
            query = "SELECT SUM(AcctInputOctets) + SUM(AcctOutputOctets) FROM 

    radac$
        }

In /etc/freeradius/site-enabled/default


    Authorize
    {
    ...
            #
            # Counters for Chillispot
            #
            chillispot_max_bytes
            daily
    ...
    }

Second problem similar:

Daily limit : I set up a Session-time end that works perfectly but I would like to have a OFF period daily.


    sqlcounter dailycounter {
            counter-name = Daily-Session-Time
            check-name = Max-Daily-Session
            reply-name = Session-Timeout
            reply-message = "You've used up more than one hour today"
            sqlmod-inst = sql
            key = User-Name
            reset = daily


            # This query ignores calls that started in a previous
            # reset period and continue into into this one. But it
            # is a little easier on the SQL server
            query = "SELECT SUM(acctsessiontime) FROM radacct WHERE \
                    username = '%{%k}' AND acctstarttime > FROM_UNIXTIME('%b')"

    }

Dictionnary :


    $INCLUDE        /usr/share/freeradius/dictionary
    $INCLUDE        /usr/share/freeradius/dictionary.chillispot

    ATTRIBUTE       Max-Daily-Session        30011    integer
    ATTRIBUTE       chillispot_max_bytes    3010    integer

Any idea ?

I was thinking about creating some User group, but I am not sure how to manage that with Radius.

Thank you

0

There are 0 answers