2017-06-20 36 views
0

我在我的linksys WRT1900AC V1(mamba-mvebu平台)上运行Openwrt CHAOS CALMER(15.05.1,r48532)。Freeradius acct_unique模块包在OpenWrt上不可用CC-15.05.1

我已经安装FreeRADIUS的服务器版本2.2.8,我面临与ACCT唯一的会话ID是所有的时间空的烦恼:

rlm_sql_mysql: MYSQL check_error: 1062 received 
[sql] Couldn't insert SQL accounting STOP record - Duplicate entry '' for 
key 'acctuniqueid' 
rlm_sql_mysql: MYSQL check_error: 1062 received 
rlm_sql_mysql: Cannot store result 
rlm_sql_mysql: MySQL error 'Duplicate entry '' for key 'acctuniqueid'' 
rlm_sql (sql): Released sql socket id: 9 
++[sql] = fail 
+} # group accounting = fail 
Finished request 21. 
Cleaning up request 21 ID 5 with timestamp +1271 
Going to the next request 
Ready to process requests. 

阅读FreeRADIUS的邮件列表,似乎唯一的解决办法是使用“acct_unique”模块,该模块不能使用OpenWrt控制台中的opkg安装工具进行下载。 我恳求任何拥有这个软件包的人(ipk已经为mvebu平台编译过)或者他拥有OpenWrt构建系统,他可以交叉编译这个模块来帮助我分析我的问题,帮助我为我的平台获取这个模块。

欢迎使用freeradius守护进程使用shell脚本调用来解决此问题的其他任何解决方案。

这里是封装形式的列表中的freeradius:

[email protected]:~# opkg find '*freeradius*' freeradius2 - 2.2.8-2 - A flexible RADIUS server (version 2) freeradius2-common - 2.2.8-2 - common files freeradius2-democerts - 2.2.8-2 - Demo certificates to test the server freeradius2-mod-always - 2.2.8-2 - Always module freeradius2-mod-attr-filter - 2.2.8-2 - ATTR filter module freeradius2-mod-attr-rewrite - 2.2.8-2 - ATTR rewrite module freeradius2-mod-chap - 2.2.8-2 - CHAP module freeradius2-mod-detail - 2.2.8-2 - Detailed accounting module freeradius2-mod-eap - 2.2.8-2 - Base EAP module freeradius2-mod-eap-gtc - 2.2.8-2 - EAP/GTC module freeradius2-mod-eap-md5 - 2.2.8-2 - EAP/MD5 module freeradius2-mod-eap-mschapv2 - 2.2.8-2 - EAP/MS-CHAPv2 module freeradius2-mod-eap-peap - 2.2.8-2 - EAP/PEAP module freeradius2-mod-eap-tls - 2.2.8-2 - EAP/TLS module freeradius2-mod-eap-ttls - 2.2.8-2 - EAP/TTLS module freeradius2-mod-exec - 2.2.8-2 - EXEC module freeradius2-mod-expiration - 2.2.8-2 - Expiration module freeradius2-mod-expr - 2.2.8-2 - EXPR module freeradius2-mod-files - 2.2.8-2 - Module using local files for authorization freeradius2-mod-ldap - 2.2.8-2 - LDAP module freeradius2-mod-logintime - 2.2.8-2 - Logintime module freeradius2-mod-mschap - 2.2.8-2 - MS-CHAP and MS-CHAPv2 module freeradius2-mod-pap - 2.2.8-2 - PAP module freeradius2-mod-passwd - 2.2.8-2 - Rlm passwd module freeradius2-mod-preprocess - 2.2.8-2 - Request pre-processing module freeradius2-mod-radutmp - 2.2.8-2 - Radius UTMP module freeradius2-mod-realm - 2.2.8-2 - Realms handling module freeradius2-mod-sql - 2.2.8-2 - Base SQL module freeradius2-mod-sql-mysql - 2.2.8-2 - MySQL module freeradius2-mod-sql-pgsql - 2.2.8-2 - PostgreSQL module freeradius2-mod-sql-sqlite - 2.2.8-2 - SQLite module freeradius2-mod-sqlcounter - 2.2.8-2 - Generic SQL Counter module freeradius2-mod-sqllog - 2.2.8-2 - SQL Logging module freeradius2-utils - 2.2.8-2 - Misc. client utilities

亲切的问候

回答

1

编辑raddb/policy.conf

添加

acct_unique { 
    update request { 
      Acct-Unique-Session-Id := "%{md5:%{User-Name},%{Acct-Session-ID},%{NAS-IP-Address},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}" 
    } 
} 

您可以将呼叫再加入到在preacct {}部分的顶部,输入,raddb/sites-available/default,以生成Acct-Unique-Session-ID属性。

+0

嗨@Arran,我跟着你的提示,但现在它抱怨md5模块。以下是FR控制台日志:'#执行文件/ etc/freeradius2/sites/default中的节preacct +组preacct {policy} acct_unique {+}更新请求{\ ttfamily}警告:未知模块“md5”在字符串中展开“%” +++}#update request = noop ++}#policy acct_unique = noop +}#group preacct = noop'。看来这个模块也不可用。亲切的问候 – user3072470

+0

嗨@Arran [链接](http://lists.freeradius.org/pipermail/freeradius-devel/2013-July/008329.html)。在这个环节中,我发现了剩下的部分让每件事情都起作用。令人惊叹的工作先生。非常感谢你的宝贵帮助。 – user3072470