直接将/usr/local/src/freeradius-
1.1.3/dialup_admin/文件夹全部拷贝到apach网页目录下/usr/local/apach/htdocs下。
修改dialup_admin/conf/下的admin.conf文件中的如下参数:
sql_type:mysql
sql_server:localhost(sql地址)
sql_port:3306 (默认端口)
sql_username:root
sql_password:root123(密码)
sql_database:radius(数据库名)
重新加载apach配置文件:直接打开linux的“服务配置”工具,找到httpd,选择重新启动
访问:
http://localhost/dialup_admin/htdocs/index.html能正常打开各页面就ok了。呵呵。默认是打开的sql调试模式,所以页面上看上去会有些乱。可以在admin.conf
中找到sql_debug.把true改为false即可关闭。
几点注意:mysql 安装后,默认只能本地访问,需要如下操作:
Host "xxx.xxx.xxx.xxx" is not allowed to connect to this mysql server.
如何解决客户端与服务器端的连接(mysql) :"xxx.xxx.xxx.xxx" is not allowed to connect to
this mysql server.
1、进入mysql,创建一个新用户user:
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to user@10.10.10.10 identified by "user";
查看结果,执行:
use mysql;
select host,user,password from user;
可以看到在user表中已有刚才创建的user用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
将host字段的值改为%就表示在任何客户端机器上能以user用户登录到mysql服务器,建议在开发时设为%。
grant all on *.* to root@'%' identified by "密码" ;
all表示所有权限
update user set host = '%' where user = 'user';
2、 ./mysqladmin -uroot -p密码 reload
./mysqladmin -uroot -p密码 shutdown
3、./mysqld_safe --user-root &
记住:对授权表的任何修改都需要重新reload,即执行第3步。
如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录:
use mysql;
insert into db values
('192.168.88.234','%','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
update db set host = '%' where user = 'user';(如果要赋于全部权限,5.0版本应该是34个Y)
重复执行上面的第2、3步。
下面进行mac地址绑定操作。
为mysql的数据库radius中的表radcheck增加一个mac字段,varchar(20)类型
在上面的radiusd.conf中加多一个步骤
post-auth {
# See "suthentication Logging Queries" in sql.conf
sql #去掉原来的注释语句
}
修改sql.conf中的authorize_check_query为
#这里修改验证方式,加上mac验证(我是使用了大小写不敏感的那条sql语句改写)
authorize_check_query = "SELECT id,UserName,Attribute,Value,op FROM ${au
thcheck_table} WHERE Username = '%{SQL-User-Name}' and (mac='%{Calling-Station-I
d}' or isnull(mac) or mac='') ORDER BY id"
#如果需要对大小写敏感的话使用下面的语句
# authorize_check_query = "SELECT id,UserName,Attribute,Value,op FROM ${au
thcheck_table} WHERE STRCMP(Username, '%{SQL-User-Name}') = 0 and (mac='%{Calling-Station-I
d}' or isnull(mac) or mac='') ORDER BY id"
修改postauth_query语句
#change here 把postauth_query改为记录mac地址的过程了
postauth_query = "UPDATE ${authcheck_table} set mac='%{Calling-Station-I
d}' WHERE Username = '%{SQL-User-Name}' and (mac='' or isnull(mac))"