15
2019
07
15:22:40

FreeRADIUS 3.0安装配置

这个配置 radius可以跑起来测试也OK

 

PHP交流群:294088839,

Python交流群:652376983

 

1.系统要求

1.1操作系统

CentOS 7.0 x86_64
网址:http://www.centos.org/

 

1.2所需软件

1.FreeRADIUS 3.0
网址:http://freeradius.org/
目前最新版本为3.0.6

 

 

2. MariaDB
网址:https://mariadb.com/
目前最新版本为10.0.
注:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。MariaDB虽然被视为MySQL数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。

1.3注意事项

本文提到的所有操作,需要以root身份执行。

 

2FreeRADIUS 3.0的安装

 

 


根据官网上的说明,建议采用二进制安装包的形式安装,而不推荐从源代码编译的方式。因此,本次采用二进制安装包的形式安装。.

 

2.1安装FreeRADIUS 3.0 服务器程序

1.以root身份登录到终端,执行以下命令:
yum install freeradius
正常情况下,会输入下图的信息:

 

2. 输入“y”,继续安装。
3. 安装完毕。

 

2.2安装FreeRADIUS工具包(freeradius-utils)

这个工具包是用于测试freeradius的,后面会用到。安装方法同前,执行一下命令:
yum install freeradius-utils

 

3FreeRADIUS 3.0的测试

 

3.1修改用户管理配置文件

该文件是/etc/raddb/users,使用vi工具打开,命令如下:
vi /etc/raddb/users
打开文件后,查找 steve Cleartext-Password :="testing" (76-84行), 取消该段内容的注释。

 

 

 

 

 

3.2修改防火墙配置

修改防火墙配置,允许freeradius所使用的端口1812,1813通过。命令如下:
iptables -A INPUT -p udp --dport 1812 -j ACCEPT
iptables -A INPUT -p udp --dport 1813 -j ACCEPT

 

 

 

 

 

3.3以调试方式启动freeradius

执行以下命令:
radiusd –X
正常情况下,会输出如下图所示的信息:

 

 

 

 

3.4使用测试工具测试

再打开一个新的终端,以root身份登录,执行如下命令:
radtest steve testing localhost 0 testing123
正常情况下,应该输出如下图所示的信息:

 

 

 

如果输出"Access-Accept packet" 表示成功了,"Access-Reject" 表示失败了。

 

4MariaDB的安装

默认情况下,CengOS 7.0已经安装了mariadb,版本为5.5.35。如果想安装最新版的Mariadb,装方法与FreeRADIUS类似,执行如下命令,系统会升级到最新版本:
yum intsall mariadb

 

5FreeRADIUS与MariaDB的对接

 

5.1安装freeradius-mysql组件

使用如下命令:
yum install freeradius-mysql

 

5.2激活和启动mariadb服务

默认情况下,mariadb并没有被激活,使用如下命令激活服务:
systemctl enable mariadb

然后,使用如下命令,启动mariadb:
systemctl start mariadb

使用如下命令,查询mariadb服务的状态:
systemctl status mariadb

 

 

 

 

 

5.3创建数据库

命令如下:
mysql -u root –p
要求输入密码时,直接回车即可。

 

mysql>create database radius;
mysql>grant all on radius.* to radius@localhost identified by "radpass"; 
mysql>exit;
 

5.4导入表结构

命令如下:
mysql -u root radius < /etc/raddb/mods-config/sql/main/mysql/scheama.sql

上面的指令,共导入了7个表,分别是:
radcheck 用户检查信息表
radreply 用户回复信息表
radgroupcheck 用户组检查信息表
radgroupreply 用户组检查信息表
radusergroup 用户和组关系表
radacct 计费情况表
radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。

 

5.5建立组信息和用户信息

输入mysql -u root radius,打开数据库,在 mysql> 提示符下,执行如下命令:
1.建立组信息:(在此新建组名称为user)
insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local'); 
insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type',':=','Framed-User'); 
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255'); 
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');

2.建立用户信息:(在此新建用户名为test,密码为testpwd)
insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

 

 


3. 将用户加入组中:
insert into radusergroup (username,groupname) values ('test','user');
 

5.6修改 FreeRADIUS中的mysql 认证配置

执行如下命令:
cd /etc/raddb/mods-enabled
ln -s ../mods-available/sql
 

 

5.7修改 FreeRADIUS中的mysql 配置文件

该配置文件位于/etc/raddb/mods-available目录,名称为sql
可以通过vi来修改,命令如下:
vi /etc/raddb/mods-available/sql
找到driver = “rlm_sql_null”这一行,修改为driver = “rlm_sql_mysql”。保持并退出。

 

 

5.8测试通过数据库做用户认证

1.重新以调试方式运行freeradius:

 

 

radiusd -X

2. 再打开一个新的终端,运行测试工具命令:
radtest test testpwd localhost 1812 testing123

 

完毕。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/840.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: