赞
踩
freeradius是GNU/GPL(通用公共许可证)的原则下,开发的高性能开源radius服务器。常见的radius服务器种类不多,比较强大的当属开源的freeradius,世界上大部分的radius服务器都是基于freeradius开发而来的。
freeradius可以对支持radius协议的网络设备进行账户认证、授权和记账管理,常见的开源路由器操作系统:如Openwrt,DD-wrt等,都支持radius协议,常见的电信运营商的宽带账户,上网账户管理,记账,也都是使用的radius服务器进行鉴权记账的。
在另一台可在线安装的相同环境下的主机下载freeradius离线安装包
ps:相同环境是指 操作系统内核相同,若安装不同环境的rpm包会导致底层错乱/系统崩溃
ps:不一定要在实体机中安装,可在docker容器中安装(开通服务端口1812和1813即可(UDP))
Centos7服务器1:
#安装yum-utils
$ yum -y install yum-utils
#下载 ansible 全量依赖包
$ repotrack freeradius
Centos7服务器2:
#通过FTP等方式将下载的离线安装包上传到被安装主机上,并进入到目录内利用rpm安装。
$rpm -Uvh --force --nodeps *.rpm
注意:若安装不成功,有可能是相对路径不对,请使用绝对路径安装(rpm安装需要使用绝对路径)
rpm -Uvh --force --nodeps /绝对路径/*.rpm
通过配置/etc/raddb/clients.conf,增加如下字段可以允许任意IP以正确的密钥连接FreeRadius。
client 0.0.0.0/0 {
secret=testing123 #连接密钥 }
通过配置/etc/raddb/users可以增加、删除用户,以及配置当用户连接时,FreeRadius端回复的信息。
#第一行:为设置用户名和用户密码,也可设置限制用户的IP,例如增加Framed-IP-Address =173.16.3.55
#之后行:为FreeRedius回复给客户端的信息 #用户1: admin Cleartext-Password := "admin123" 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 #用户2: aa Cleartext-Password := "admin" 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
3.3 服务器端开启udp1812,udp1813端口,1812为认证端口,1813为计费端口,可根据具体需求开启端口。
#开放1812端口
systemctl start firewalld.service
firewall-cmd --zone=public --add-port=1812/udp --permanent
firewall-cmd --reload
systemctl stop firewalld.service
sudo radiusd -X
注意:可能会报证书错误,而无法开启,解决方法:① cd /etc/raddb/certs/ ② ./bootstrap即可。
若出现如下回显,则radius配置成功,有请求则直接在前台显示:
service radiusd start
ps:FreeRadius想要能够写log日志,就不能使用radiusd -X 启动;转为后台启动,日志查看需要配置,如下节:
/etc/raddb/radiusd.conf
在该文件的log字段中进行修改:
Log{
auth = yes
auth_badpass = yes
auth_goodpass = yes
}
tailf /var/log/radius/radius.log
(这里仅是认证的日志,没有计费)
对Radius认证的测试可使用radtest测试或RadTest工具进行测试:
旧版的Freeradius安装后只有radius服务没有radtest工具,新版radtest会随Freeradius一同安装。
网络问题,查看客户端连接服务端的UDP端口是否连通:nc -vuz 10.48.93.106 1812、在服务端抓取UDP端口数据:tcpdump udp port 1812
在config文件radius_client.py中配置好IP、port、共享秘钥、账户及密码,使用命令/opt/work/web/sensor/env/bin/python2.7 radius_client.py进行测试
查看config中dictionary和dictionary.freeradius文件是否存在
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。