Hi, I am using freeradius 2.1.12 and the rlm_counter module for counting amount of time. So an user has got only 60min per day, week, month or forever. As far as I can see that this is working as it should. User cannot reconnect if he used more time than allowed.
This is how my counter module looks like: ------------------------------------------- counter daily { filename = ${raddbdir}/db.daily key = User-Name count-attribute = Acct-Session-Time reset = daily counter-name = Daily-Session-Time check-name = Max-Daily-Session reply-name = Session-Timeout cache-size = 5000 } ------------------------------------------- The corresponding "users" file looks like that. Limit is 3600 seconds. ------------------------------------------- "username" Cleartext-Password := "password", Max-Daily-Session := 3600 ------------------------------------------- Then I thought I could just simple make a traffic counter with this module and I did that: ------------------------------------------- counter maxdailydownload { filename = ${raddbdir}/db.maxdailydownload key = User-Name count-attribute = Acct-Output-Octets reset = daily counter-name = Daily-Output-Octets check-name = Max-Daily-Output reply-name = Acct-Output-Octets cache-size = 5000 } ------------------------------------------- The corresponding "users" file looks like that. Limit is 1000000000 which should be ~1GB ------------------------------------------- "username" Cleartext-Password := "password", Max-Daily-Output := 1000000000 ------------------------------------------- But as I know now this isn't working. The main problem is - as far as I understand this - that the module counts time and replies "Session-Timeout" and this makes problem when counter should reset daily. Unfortunately I didn't understand it completly. Somewhere on the mailing-list I found I thread where they discussed about that problem and that it should work when using "reset = forever". I tried that but it seems not to work. The user only can download much less than 1GB. Perhaps this could be a problem of my NAS (pfSense Captive Portal which perhaps sends wrong "Acct-Output-Octets" values). The other problem is that if the check-item value of "Max-Daily-Output" is too hight - probably 32bit limit - it doesn't work, too. Then I bought a book about freeRadius "FreeRADIUS - Beginners Guide by Dirk van der Walt" and he is describing the same problem with the rlm_counter and counting traffic. He wrote a perl script which counts traffic but the "problem" is that he is using an SQL database. The NAS I am using for this is - I mentioned it above - pfSense CaptivePortal. It sends Acct-Input-Octets, Acct-Input-Octets, Acct-Input-Gigawords, Acct-Output-Gigawords. My question is now: 1. Is it possible in general to create a data counter without using any external database but just with tools freeradius2 comes with ? 2. Has somebody coded such a module, script oder something als and could post this here ? 3. Will there be an (easier) way on freeradius3 or a module which covers this feature ? Thank you very much in advance for your help and answers! Alexander - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html