Mysql Freeradius sqlcounter不';行不通
我正在使用freeradius和mysql以及choovachilli来实现captive portal。我目前正在尝试使用rlm_sqlcounter实现每日帐户,但没有成功。以下是我包含在全局配置中的配置文件:Mysql Freeradius sqlcounter不';行不通,mysql,freeradius,captivenetwork,coovachilli,Mysql,Freeradius,Captivenetwork,Coovachilli,我正在使用freeradius和mysql以及choovachilli来实现captive portal。我目前正在尝试使用rlm_sqlcounter实现每日帐户,但没有成功。以下是我包含在全局配置中的配置文件: sqlcounter dailycounter { counter-name = 'Daily-Session-Time' check-name = 'Max-Daily-Session' sql_module_instance = 'sql' key
sqlcounter dailycounter {
counter-name = 'Daily-Session-Time'
check-name = 'Max-Daily-Session'
sql_module_instance = 'sql'
key = 'User-Name'
reset = daily
query = "SELECT SUM(acctsessiontime - GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='%{${key}}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'"
}
authorize {
sql
dailycounter
}
accounting {
sql
}
在freeradius日志中,只有与计数器相关的输出:
Tue Oct 6 13:02:22 2015 : Debug: Module: Linked to module rlm_expr
Tue Oct 6 13:02:22 2015 : Debug: Module: Instantiating module "expr" from file /etc/freeradius/modules/expr
Tue Oct 6 13:02:22 2015 : Debug: (Loaded rlm_counter, checking if it's valid)
Tue Oct 6 13:02:22 2015 : Debug: Module: Linked to module rlm_counter
Tue Oct 6 13:02:22 2015 : Debug: Module: Instantiating module "daily" from file /etc/freeradius/modules/counter
Tue Oct 6 13:02:22 2015 : Debug: counter daily {
Tue Oct 6 13:02:22 2015 : Debug: filename = "/etc/freeradius/db.daily"
Tue Oct 6 13:02:22 2015 : Debug: key = "User-Name"
Tue Oct 6 13:02:22 2015 : Debug: reset = "daily"
Tue Oct 6 13:02:22 2015 : Debug: count-attribute = "Acct-Session-Time"
Tue Oct 6 13:02:22 2015 : Debug: counter-name = "Daily-Session-Time"
Tue Oct 6 13:02:22 2015 : Debug: check-name = "Max-Daily-Session"
Tue Oct 6 13:02:22 2015 : Debug: reply-name = "Session-Timeout"
Tue Oct 6 13:02:22 2015 : Debug: allowed-servicetype = "Framed-User"
Tue Oct 6 13:02:22 2015 : Debug: cache-size = 5000
Tue Oct 6 13:02:22 2015 : Debug: }
Tue Oct 6 13:02:22 2015 : Debug: rlm_counter: Counter attribute Daily-Session-Time is number 3000
Tue Oct 6 13:02:22 2015 : Debug: rlm_counter: Current Time: 1444129342 [2015-10-06 13:02:22], Next reset 1444168800 [2015-10-07 00:00:00]
如果有人能向我解释一下这个计数器是如何工作的,我将不胜感激。我设法理解了check name和reset的含义,但查询选项把我弄糊涂了。我理解查询语法和返回值是什么,但我不理解何时调用该查询,谁将使用其返回值以及如何使用?每日会话时间的解释