1.yum install openssl
2.yum install openssl-devel
=============================================================================
JRadius 服务端安装
3.在/usr目录下创建jradius目录,把server.zip包上传到jradius目录下
4.通过unzip server.zip 解压zip包
5.通过cd命令进入server目录
6.在 /usr/jradius/server/scripts目录下有start.sh文件但是无法启动,找不到类,vim start.sh打开
(cd `dirname $0`; classpath=".:./lib"
for jar in /data/jradius/server/target/lib/*.jar; do
classpath="$classpath:$jar"
done
CLASSPATH="$classpath" java net.jradius.StartSpring)
#把上面的/data/jradius修改成/usr/jradius, 再把 /usr/jradius/server/config下的所以配置文件copy到/usr/jradius/server/scripts的目录下,
7.给start.sh文件授权:chmod a+x start.sh,通过/usr/jradius/server/scripts/start.sh运行jradius服务
#忽略出现的ERROR [net.jradius.log.Log4JRadiusLogger] - No command found for null错误
=============================================================================
FreeRADIUS 服务端安装
8.在/usr目录下创建freeradius目录,把freeradius-server-2.2.10.tar.gz上传到freeradius下。
9.执行下面的命令
tar zxf freeradius-server-2.2.10.tar.gz
cd freeradius-server-2.2.10
echo rlm_jradius >> src/modules/stable #有freeradius对jradius的支持模块了。
./configure
make
make install
10.vim /usr/local/etc/raddb/users
查找 steve Cleartext-Password := "testing" (76-84行), 取消该段内容的注释。
steve Cleartext-Password := "testing"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 172.16.3.33,
Framed-IP-Netmask = 255.255.255.0,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "std.ppp",
Framed-MTU = 1500,
Framed-Compression = Van-Jacobsen-TCP-IP
11./usr/local/sbin/radiusd -X
# 大写X,意思是以debug模式运行。 如果有出现(
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on proxy address * port 1814表明正常启动成功了
12./usr/local/bin/radtest steve testing localhost 0 testing123
#新开一个窗口执行,看到 "Access-Accept packet" 表示成功了,"Access-Reject" 表示失败了。
============================================================================
FreeRadius MySQL 模块配置
13.vim /usr/local/etc/raddb/radiusd.conf
# 查找"sql.conf”(743行),去掉#号
#设置FreeRadius写log日志
Log{
auth = yes #第476行
auth_badpass = yes #第484行
auth_goodpass = yes #第485行
}
#日志位置在/usr/local/var/log/radius
#添加jradius支持 放在760行后面
modules {
...
# configure the rlm_jradius module
jradius {
name = "example" # The "Requester" name (a single
# JRadius server can have
# multiple "applications")
primary = "localhost" # Uses default port 1814
secondary = "192.168.0.1" # Fail-over server
tertiary = "192.168.0.1:8002" # Fail-over server on port 8002
timeout = 1 # Connect Timeout
onfail = NOOP # What to do if no JRadius
# Server is found. Options are:
# FAIL (default), OK, REJECT, NOOP
keepalive = yes # Keep connections to JRadius pooled
connections = 8 # Number of pooled JRadius connections
}
}
14.创建 radius 数据库及表
mysqladmin -uroot -ppeople2000 create radius;
# people2000是mysql的root密码
#修改radius帐号的密码
cd /usr/local/etc/raddb/sql/mysql
sed -i 's/radpass/123456/g' admin.sql
sed -i 's/radpass/123456/g' /usr/local/etc/raddb/sql.conf
mysql -uroot -ppeople2000 < admin.sql
mysql -uroot -ppeople2000 radius < ippool.sql
mysql -uroot -ppeople2000 radius < schema.sql
mysql -uroot -ppeople2000 radius < wimax.sql
mysql -uroot -ppeople2000 radius < cui.sql
mysql -uroot -ppeople2000 radius < nas.sql
#freeRadius自带8张表
#nas nas配置表
#radcheck 用户检查信息表
#radreply 用户回复信息表
#radgroupcheck 用户组检查信息表
#radgroupreply 用户组回复信息表
#radusergroup 用户和组关系表
#radacct 计费情况表
#radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。
#FreeRadius数据表详解:https://blog.csdn.net/ChinaSanDuo/article/details/46630567
15.打开从数据库查询nas支持
默认从 "/usr/local/etc/raddb/clients.conf" 文件读取,开启后可从数据库nas表读取
sed -i 's/\#readclients/readclients/g' /usr/local/etc/raddb/sql.conf
16.打开在线人数查询支持
vim /usr/local/etc/raddb/sql/mysql/dialup.conf
#查找simul_count_query将290-294行注释去掉
17.修改sites-enabled目录配置文件
vim /usr/local/etc/raddb/sites-enabled/default
找到authorize {}模块,注释掉files(170行),去掉sql前的#号(177行)
找到accounting {}模块,注释掉radutmp(396行),注释掉去掉sql前面的#号(406行)。
找到session {}模块,注释掉radutmp(450行),去掉sql前面的#号(454行)。
找到post-auth {}模块,去掉sql前的#号(475行),去掉sql前的#号(577行)。
#设置FreeRadius写log日志
Authorize{
auth_log #去掉前面的#号(第94行 )
}
post-auth{
reply_log #去掉前面的#号(第469行 )
}
#日志位置在/usr/local/var/log/radius
#各个模块添加jradius关键字
authorize {
jradius
}
post-auth {
jradius
Post-Auth-Type REJECT {
jradius
}
}
preacct {
jradius
}
accounting {
jradius
}
vim /usr/local/etc/raddb/sites-enabled/inner-tunnel
找到authorize {}模块,注释掉files(125行),去掉sql前的#号(132行)。
找到session {}模块,注释掉radutmp(252行),去掉sql前面的#号(256行)。
找到post-auth {}模块,去掉sql前的#号(278行),去掉sql前的#号(302行)。
============================================================================
用户权限管理
18.数据库操作
mysql -uroot -ppeople2000;
#people2000是数据库密码
use radius;
#使用 radius 数据库
#添加用户demo,密码demo,注意是在radchec表
INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('demo','Cleartext-Password',':=','demo');
# 将用户demo加入users用户组
INSERT INTO radusergroup (username,groupname) VALUES ('demo','user');
# 限制同时登陆人数,注意是在radgroupcheck表
INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('normal','Simultaneous-Use',':=','1');
# 其他
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-Protocol',':=','PPP');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-MTU',':=','1500');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-Compression',':=','Van-Jacobson-TCP-IP');
#添加用户回复信息
INSERT INTO radreply(username,attribute,op,value) VALUES('demo','Reply-Message','=','SUCCESS');
19.设定数据库类型,帐号,密码,数据库,根据实际情况修改
vi /usr/local/etc/raddb/sql.conf
修改文件第36-39行
36 server = "localhost" #数据库地址
37 port = 3306 #数据库端口
38 login = "root" #数据库用户名称
39 password = "people2000" #数据库用户密码
20. 找到 readclients = yes取消前面的注释(第108行),取消该注释主要是启用nas表查询,clients.conf就可以不需要了
============================================================================
21.通过ps aux|grep radius 命令查询是否有进程,通过kill -9 进程号 杀掉所有radius进程进程
22.启动jradius 和 freeradius服务
jradius服务:
通过/usr/jradius/server/scripts/start.sh&启动服务
通过kill -9 进程号停止服务
freeradius服务:
通过/etc/init.d/radiusd start 命令启动服务
通过/etc/init.d/radiusd stop 命令停止服务
23.用刚才插入数据库的用户名和密码来检验
radtest demo demo localhost 1812 testing123
# 出现 rad_recv: Access-Accept packet字样说明安装已经成功
# 可以在radius数据库radpostauth看到日志
资料连接地址下载:https://download.csdn.net/download/weixin_38501485/10931709