第七节:daloradius常见问题汇总
1、daloradius无法查看连接日志
如下图所示
解决方法:
vim /var/www/html/daloradius/library/daloradius.conf.php
将 $configValues['FREERADIUS_VERSION'] = '3'; 修改为 $configValues['FREERADIUS_VERSION'] = '2';
注意:如果不关闭,将在daloradius中无法查看日志信息
2、daloradius查看不了radius 日志
解决方法
chmod 755 /var/log/radius/ chmod 644 /var/log/radius/radius.log
注意:如果不关闭,将在daloradius中无法查看日志信息
3、daloradius查看不了linux系统日志
解决方法
chmod 644 /var/log/messages
注意:如果不关闭,将在daloradius中无法查看日志信息
4、Accounting 页面查看不了在线用户,以及历史登陆统计
在daloradius 查看accounting在线用户时,配置调试模式下看到了sql 的错误,找不到表字段。
解决方法:
vi /usr/local/etc/strongswan.d/charon/eap-radius.conf
1)修改 accounting = yes
2)登陆mysql数据库,删除radacct表 并重新建立
mysql -u radius -p
输入密码
在sql中执行如下语句
DROP TABLE radacct; CREATE TABLE radacct ( radacctid bigint(21) NOT NULL auto_increment, acctsessionid varchar(64) NOT NULL default '', acctuniqueid varchar(32) NOT NULL default '', username varchar(64) NOT NULL default '', groupname varchar(64) NOT NULL default '', realm varchar(64) default '', nasipaddress varchar(15) NOT NULL default '', nasportid varchar(15) default NULL, nasporttype varchar(32) default NULL, acctstarttime datetime NULL default NULL, acctupdatetime datetime NULL default NULL, acctstoptime datetime NULL default NULL, acctinterval int(12) default NULL, acctsessiontime int(12) unsigned default NULL, acctauthentic varchar(32) default NULL, connectinfo_start varchar(50) default NULL, connectinfo_stop varchar(50) default NULL, acctinputoctets bigint(20) default NULL, acctoutputoctets bigint(20) default NULL, calledstationid varchar(50) NOT NULL default '', callingstationid varchar(50) NOT NULL default '', acctterminatecause varchar(32) NOT NULL default '', servicetype varchar(32) default NULL, framedprotocol varchar(32) default NULL, framedipaddress varchar(15) NOT NULL default '', PRIMARY KEY (radacctid), UNIQUE KEY acctuniqueid (acctuniqueid), KEY username (username), KEY framedipaddress (framedipaddress), KEY acctsessionid (acctsessionid), KEY acctsessiontime (acctsessiontime), KEY acctstarttime (acctstarttime), KEY acctinterval (acctinterval), KEY acctstoptime (acctstoptime), KEY nasipaddress (nasipaddress) ) ENGINE = INNODB; alter table radacct add acctupdatetime datetime NULL default NULL after acctstarttime, add acctinterval int(12) default NULL after acctstoptime, add KEY acctinterval (acctinterval),drop KEY acctuniqueid, add UNIQUE KEY acctuniqueid (acctuniqueid); exit;
#重启strongswan与radius systemctl restart radiusd systemctl restart strongswan
一切显示正常
6、在daloradius主页面,Server status ip、mask、MAC不显示。
查找web获取本机的server信息时的php页面,发现php文件定义的是ethxxx(当然如果你的centos7中网卡是ethxx,可以忽略下面网卡获取的修改),且mask 和mac 的显示,在该文件的定义中re模块也是centos6.X之前能用的,centos7之后就不能用了。错误显示图如下:
解决:修改监控状态页面的php文件,默认相对(网站)路径:
vim /var/www/html/daloradius/library/exten-server_info.php
将/eth[0-9][0-9]* 修改成 /enp[0-9][0-z][0-9][0-9][0-9][0-9][0-9][0-9]* Ip 地址:203 行、204行 将 /inet addr:[0-9\.]* 修改成 /inet [0-9\.]* 然后将split(":", $match[0]) 修改成 split(" ", $match[0]) Mask 地址: 240 行、241行 将 /mask:[0-9\.]* 修改成 /netmask [0-9\.]* 然后将split(":", $match[0]) 修改成 split(" ", $match[0]) MAC 地址:221 行 将 hwaddr 修改成 ether
修改完成后,显示正常,如下图:
7、radiusd -X 无法启动提示Error binding to port for 0.0.0.0 port 1812错误
Failed binding to auth address * port 1812 bound to server default: Address already in use
/etc/raddb/sites-enabled/default[59]: Error binding to port for 0.0.0.0 port 1812
解决方法:
ps aux | grep radius 找到进程,
[root@Centos7 ~]# ps aux | grep radi
radiusd 3452 0.0 0.7 269376 14372 ? Ssl 08:42 0:00 radiusd root 3955 0.0 0.0 112676 984 pts/1 R+ 09:00 0:00 grep --color=auto radi
kill -9 3452
8、daloradius提示Unknown column ‘acctupdatetime’ in ‘field list’错误,并且无法连接vpn、无法查看在线用户
查看日志显示如下信息
rlm_sql_mysql: MySQL error ‘Unknown column ‘acctupdatetime’ in ‘field list”
解决方法如下:
删除radacct表 并重新建立
mysql -u radius -p
输入密码
在sql中执行如下语句
use radius; DROP TABLE radacct; CREATE TABLE radacct ( radacctid bigint(21) NOT NULL auto_increment, acctsessionid varchar(64) NOT NULL default '', acctuniqueid varchar(32) NOT NULL default '', username varchar(64) NOT NULL default '', groupname varchar(64) NOT NULL default '', realm varchar(64) default '', nasipaddress varchar(15) NOT NULL default '', nasportid varchar(15) default NULL, nasporttype varchar(32) default NULL, acctstarttime datetime NULL default NULL, acctupdatetime datetime NULL default NULL, acctstoptime datetime NULL default NULL, acctinterval int(12) default NULL, acctsessiontime int(12) unsigned default NULL, acctauthentic varchar(32) default NULL, connectinfo_start varchar(50) default NULL, connectinfo_stop varchar(50) default NULL, acctinputoctets bigint(20) default NULL, acctoutputoctets bigint(20) default NULL, calledstationid varchar(50) NOT NULL default '', callingstationid varchar(50) NOT NULL default '', acctterminatecause varchar(32) NOT NULL default '', servicetype varchar(32) default NULL, framedprotocol varchar(32) default NULL, framedipaddress varchar(15) NOT NULL default '', PRIMARY KEY (radacctid), UNIQUE KEY acctuniqueid (acctuniqueid), KEY username (username), KEY framedipaddress (framedipaddress), KEY acctsessionid (acctsessionid), KEY acctsessiontime (acctsessiontime), KEY acctstarttime (acctstarttime), KEY acctinterval (acctinterval), KEY acctstoptime (acctstoptime), KEY nasipaddress (nasipaddress) ) ENGINE = INNODB;
systemctl restart radiusd systemctl restart strongswan