Centos7信息
安装freeradius
freeradius、freeradius-utils、freeradius-mysql
yum -y install freeradius freeradius-utils freeradius-mysql
配置freeradius
安装完成会创建一个"radiusd"用户,
我们即将操作的目录:"/etc/raddb/",
需要有和它相同权限。
授权
sudo chown dev.radiusd /etc/raddb/*
clients.conf配置
/etc/raddb/clients.conf
添加客户端:private-network,
0.0.0.0/0:表示可以从任意IP发起访问,
testing123:当前实例的秘钥。
default配置
/etc/raddb/sites-available/default
修改
accounting {}中
“-sql"改为"sql”
authorize {}中
“-sql"改为"sql”
session {}中
“# sql"改为” sql"
inner-tunnel配置
/etc/raddb/sites-available/inner-tunnel
修改
authorize {}中
“-sql"改为"sql”
post-auth {}中
“-sql"改为"sql”
session {}中
“# sql"改为” sql"
数据库配置
(我用的是mysql数据源)
/etc/raddb/mods-available/sql
创建硬连接
(radius启动时会去访问)
cd /etc/raddb/mods-enabled/
ln ../mods-available/sql ./
驱动
将driver = "rlm_sql_null"这一行注释,
添加:driver = “rlm_sql_mysql”;
方言
将dialect = "sqlite"注释,
添加:dialect = “mysql”;
数据源
在"# Connection info:"下边另起一行,添加数据源配置:
server = “192.168.1.123”
port = 3306
login = “x”
password = “y”
创建mysql数据库
CREATE DATABASE radius;
创建表
在数据库执行文件:
/etc/raddb/mods-config/sql/main/mysql/schema.sql
初始化数据
-- 用户组
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');
-- 用户
insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');
-- 将用户添加进用户组
insert into radusergroup (username,groupname) values ('test','user');
radiusd -X,debug模式启动
测试
另起一个窗口,radtest命令测试,
test:用户名,
testpwd:用户密码,
localhost 1812:radius地址,1812为默认端口号,
testing123:当前实例的秘钥。
pap模式(默认)
radtest test testpwd localhost 1812 testing123
收到Access-Accept响应算成功
在radpostauth表会添加记录
让我们测试个错误的,把密码写错:testpwdhhh
radtest test testpwdhhh localhost 1812 testing123
变成了Access-Reject
把数据库中的密码修改为:testpwdhhh
刚才测试的记录也都保存了
chap模式
radtest -t chap -x test testpwd 192.168.1.123 1812 testing123
-t chap:
指定chap模式,
-x:
输出debug信息。
systemctl启动
先退出radiusd -X,再执行
systemctl start radiusd
设置开机自启动
systemctl enable radiusd
不当之处,请予指正。
参考文章:
cluniquecui:FreeRADIUS 3.0安装配置
h11345p:Freeradius+mysql+daloradius简单安装配置
gocgocgo:CentOS6.5搭建freeradius服务器
松晨:Linux搭建Radius服务器
hiwill:Centos 7上编译安装freeradius3.0