Hi, I followed your instructions. Now I get the following errors: (2) [-sql] = ok (2) [expiration] = noop (2) [logintime] = noop (2) WARNING: pap : Auth-Type already set. Not setting to PAP (2) [pap] = noop (2) dailycounter : Entering module authorize code (2) ERROR: dailycounter : %{sql:SELECT SUM(acctsessiontime) FROM radacct WHERE username = '%{User-Name}' AND acctstarttime BETWEEN FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')} (2) ERROR: dailycounter : ^ Invalid variable expansion (2) [dailycounter] = fail (2) } # authorize = fail (2) Using Post-Auth-Type Reject /etc/freeradius/mods-enabled/sqlcounter sqlcounter dailycounter{ counter_name = "Daily-Session-Time" check_name = "Max-Daily-Session" reply_name = "Session-Timeout" sql_module_instance = "sql" key = "User-Name" reset = "daily" cache-size = 5000 query = "SELECT SUM(acctsessiontime) FROM radacct WHERE username = '%{${ key}}' AND acctstarttime BETWEEN FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')" } On Mon, May 12, 2014 at 11:27 PM, Russell Mike <radius.sir@gmail.com> wrote:
Do the following
STEP 1:
nano counters.conf
sqlcounter dailycounter {
counter-name = "Daily-Session-Time"
check-name = "Max-Daily-Session"
reply-name = "Session-Timeout"
sqlmod-inst = "sql"
key = "User-Name"
reset = "daily"
cache-size = 5000
query = "SELECT SUM(acctsessiontime) FROM radacct WHERE username = '%{%k}' AND acctstarttime BETWEEN FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')"
}
STEP 2:
nano radiusd.conf
instantiate {
dailycounter
}
STEP 3:
nano sites-available/default
authorize {
dailycounter
}
STEP 4:
accounting {
sql
}
STEP 5: LOOK, THIS MUST BE *CHECK & REPLY* ITEM NOT CHECK ONLY. BOB IS ALLOWED FOR 60 MINUTES, VALUE IS IN SECONDS.
Max-Daily-Session := 3600
STEP 6: Restart Radius Daemon RM --
On Mon, May 12, 2014 at 11:28 AM, * <zhex900@gmail.com> wrote:
Hi,
I have to follow this tutorial to get the the session limit working. But looking at the debug output it seems the sql counter is not executed. No Session-Timeout is sent to NAS as well.
Accounting is working fine. I can see all the accounting information radacct time.
Here is my configuration. Please let me know if I should provide more information.
Jake He
FreeRADIUS V. 3
mods-enabled/sqlcounter
sqlcounter noresetcounter { sql_module_instance = sql #dialect = ${sql_module_instance}.dialect dialect = mysql counter_name = Daily-Session-Time check_name = Max-Daily-Session reply_name = Session-Timeout key = User-Name reset = never query = “SELECT SUM(AcctSessionTime) FROM radacct where UserName=’%{%k}’” }
sites-enabled/default:
authorize {
preprocess chap mschap suffix eap files sql pap noresetcounter }
radcheck: Max-Daily-Session:=60 for the user bob
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html