Freeradius安装配置

技术文章 2019-10-23 1948 次浏览 次点赞

freeradius简介

freeradius一般用来进行账户认证管理,记账管理,常见的电信运营商的宽带账户,上网账户管理,记账,都是使用的radius服务器进行鉴权记账的。
常见的radius服务器种类不多,比较强大的当属开源的freeradius,世界上大部分的radius服务器都是基于freeradius开发而来的。
Freeradius包含一个radius服务器和radius-client,可以对支持radius协议的网络设备进行鉴权记账,常见的开源路由器操作系统:如Openwrt,DD-wrt等,都支持radius协议,对PPPOE,热点,VPN等服务器进行账户管理认证,记账。
freeradius功能十分强大,支持众多的数据库。
Freeradius操作稍显麻烦,内置diaup_admin简单web管理,需要更简单易用的管理功能可以使用第三方的管理程序对Freeradius进行账户管理,系统配置等。

如何编译安装freeradius

下载需要的组件和工具
环境:centos7
freeradius版本:3.0.17

安装gcc:yum install gcc -y
安装freeradius数据库支持组件:yum install -y mysql-devel
安装libtalloc:yum install libtalloc -y
安装:yum install libtalloc-devel -y
安装openssl:yum install openssl openssl-devel -y
安装wget:yum install wget -y
安装解压工具:yum install unzip -y

编译安装freeradius

下载freeradius安装包,以下两种方法
1.执行命令 wget https://github.com/FreeRADIUS/freeradius-server/archive/release_3_0_17.zip
2.直接把我给的freeradius-server-release_3_0_17.zip文件上传到服务器
unzip v3.0.17.zip
解压完后把我给的rlm_sqlippool.c文件去替换解压出来的这个文件,文件地址是/media/freeradius-server-release_3_0_17/src/modules/rlm_sqlippool
cd freeradius-server-3.0.17/
./configure
make
make install

安装完后freeradius的目录在 /usr/local/etc/raddb

freeradius编译安装完后需要的一些操作

编辑/etc/group文件,添加radiusd组

vi /etc/group
在末尾加上一行  radiusd:x:95:

编辑/etc/passwd文件,添加radiusd用户

vi /etc/passwd
在文件末尾加上一行  radiusd:x:95:95:radiusd user:/var/lib/radiusd:/sbin/nologin

创建radius日志文件夹

cd /var/log
mkdir radius

给radiusd用户freeradius文件夹和日志文件夹的权限

chown -R radiusd:radiusd /usr/local/etc/raddb
chown -R radiusd:radiusd /var/log/radius

给需要用到的模块做软连接

cd /usr/local/etc/raddb/mods-enabled
ln -s /usr/local/etc/raddb/mods-available/sql ./
ln -s /usr/local/etc/raddb/mods-available/sqlippool ./

防火墙允许freeradius用到的端口通过
添加radius端口到防火墙 注意,是添加udp协议
1812是认证授权端口,1813是计费端口

firewall-cmd --zone=public --add-port=1812/udp --permanent
firewall-cmd --zone=public --add-port=1813/udp --permanent

添加mysql端口到防火墙 注意,是添加tcp协议

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙生效

firewall-cmd --reload

如果需要更改默认端口

vi /etc/services
找到radius的1812、1813那几行,把1812和1813改成你想用的端口
防火墙允许这两个端口通过

创建数据库并附件给的sql文件导入

mysql -uroot -p密码 数据库名 </数据库文件路径

把sql里面的数据库连接信息改成你数据库的

vi /usr/local/etc/raddb/mods-enabled/sql
把里面的连接地址端口数据库账号密码改成你数据库的

把附件的文件放到freeradius的目录里全部替换原有的

users、radiusd.conf、clients.conf 这三个文件替换到/usr/local/etc/raddb目录下

inner-tunnel、default 这两个文件替换到/usr/local/etc/raddb/sites-enabled目录下

filter 替换到/usr/local/etc/raddb/policy.d目录下

sqlippool模块替换到/usr/local/etc/raddb/mods-enabled

sql模块替换到/usr/local/etc/raddb/mods-enabled 替换前先编辑sql模块把数据库连接信息改成你的数据库的连接信息

sqlippool模块里的queries.conf文件替换到/usr/local/etc/raddb/mods-config/sql/ippool/mysql目录下

sql模块里的queries.conf文件替换到/usr/local/etc/raddb/mods-config/sql/main/mysql目录下

使radius服务开机启动并成为系统服务

1把配置文件里的radiusd.service文件放到/usr/lib/systemd/system目录,然后运行下面2个命令添加服务。
2#systemctl enable radiusd.service
3#service radiusd start
(#后是命令)

运行radius服务

radius开启调试模式

radiusd -X

开启关闭重启radiusd服务

service radiusd start   #开启radiusd服务
service radiusd stop   #停止radiusd服务
service radiusd restart   #重启radiusd服务
service radiusd status   #查看radiusd服务当前状态

本文由 shuaiqi 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论