Freeradius服务器的搭建流程

Radius、Firewall 安装配置

1、说明

  • 使用 freeradius 和 mariadb 配置 Radius 认证服务器

2、安装命令

  • 使用在线 yum 源安装,保证网络畅通,执行以下命令等待安装完成
yum install -y freeradius freeradius-utils freeradius-mysql mariadb-server
  • 验证安装,使用如下命令,如下图所示
rpm -qa |grep mariadb
rpm -qa |grep freeradius

在这里插入图片描述

3、启动服务、设置开机自启

systemctl start mariadb.service  #启动数据库
systemctl enable mariadb.service #添加开机自启动
systemctl start radiusd.service  #启动 radiusd 服务
systemctl enable radiusd.service  # 添加开启自启动

4、调整服务开机启动顺序

  • 在 radiusd.service 文件中加入 mariadb.service ,位置如下图所示
vi /usr/lib/systemd/system/radiusd.service

在这里插入图片描述

5、替换配置文件

  • 将 ”users“ 文件 覆盖替换到 /etc/raddb/ 目录下
  • 将 ” radiusd.conf” 文件,覆盖替换到 /etc/raddb/目录下
  • 将 “default” 文件,覆盖替换到 /etc/raddb/sites-available/ 目录下
  • 配置文件见附件

6、数据库配置

  • 1)设置数据库密码、远程访问

  • 设置 mysql 数据库密码,执行以下命令

mysql
MariaDB [(none)]> SET password for 'root'@'localhost'=password('123456');   # 123456 为数据库密码
  • 2)设置远程访问
MariaDB[(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
MariaDB [(none)]> flush privileges;
  • 3)创建 radius 库
 mysql -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 10.3.2-MariaDB-log MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database radius;
Query OK, 1 row affected (0.09 sec)
    MariaDB [(none)]> exit;
Bye

  • 4)导入 Radius 表结构
mysql -u root -p123456 radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
  • 5)验证数据库导入数据,如下图
mysql -uroot -p123456
MariaDB [(none)]> show databases;
MariaDB [(none)]> use radius;
MariaDB [radius]> show tables;
MariaDB [radius]> exit

在这里插入图片描述

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

7、修改 Radius 配置

  • 1)修改 FreeRadius中的mysql 认证配置文件,执行如下命令
cd /etc/raddb/mods-enabled
ln -s ../mods-available/sql
  • 修改 Radius 中的 mysql 配置文件
vi /etc/raddb/mods-available/sql
  • 找到 driver = “rlm_sql_null” 这一行,修改为 driver = “rlm_sql_mysql” 保存并退出,保持与截图一致
    在这里插入图片描述

  • 找到 dialect = “sqlite” 这一行,修改为 dialect = “mysql” 保存并退出,保持与截图一致
    在这里插入图片描述

server : MariaDB 数据库IP地址,若Radius和 MariaDB 同一服务器可默认为 “localhost“
port : MariaDB 数据库端口默认为”3306”
login : MariaDB数据库登录用户名”root”
password : MariaDB数据库root用户登录密码

8、添加测试数据

  • 在数据库中插入测试数据
mysql -uroot -p123456
use radius;
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');
  • 停止 Radius 服务以调试方式运行,如下图所示
systemctl stop radiusd.service
radiusd -X

在这里插入图片描述

在这里插入图片描述

  • 再打开一个新ssh窗口,运行测试工具命令,结果如下图所示,为验证通过!至此 Raduis 服务搭建完成
 radtest test testpwd localhost 1812 testing123

在这里插入图片描述

  • 测试完毕后,按 Ctrl + C 结束调试,使用正常的启动服务命令启动 Radius 服务

附录

  • 开启防火墙-Radius 使用端口 1812-mariadb 使用 3306
systemctl start firewalld.service    #启动
systemctl enable firewalld.service   #开机自启
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=1812/tcp --permanent
firewall-cmd --zone=public --add-port=1812/udp --permanent
firewall-cmd --reload
  • 修改数据库 mariadb 端口号,在 mysqld 增加 port 字段
vi /etc/my.cnf


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=3307  #修改此处
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

  • 若 mysql 启动失败可在 该目录查看 报错日志 /var/log/mariadb/mariadb.log

  • Radius 日志默认路径为 /var/log/radius/radius.log

  • 使用第三方 Radius 工具测试 如 RadiusTest 需要在 Radius 服务器中的 /etc/raddb/clients.conf 配置文件中增加 clients 的请求地址和标示

  • 文中提及的替换文件下载地址 链接: https://pan.baidu.com/s/1IvOlAw53_k9B4LpY841nnw 提取码: hyje

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要搭建 FreeRADIUS 服务器,您可以按照以下步骤进行操作: 1. 安装 FreeRADIUS:您可以使用包管理工具(如apt、yum等)来安装 FreeRADIUS。例如,在 Ubuntu 上,您可以运行以下命令来安装: ``` sudo apt-get install freeradius ``` 2. 配置 FreeRADIUSFreeRADIUS 的配置文件位于 `/etc/freeradius` 目录下。您可以编辑 `radiusd.conf` 文件来配置服务器的全局设置,如监听地址、端口等。另外,您还可以编辑 `clients.conf` 文件来定义允许连接到服务器的客户端。 3. 配置用户认证:FreeRADIUS 使用 `users` 文件来存储用户的认证信息。您可以编辑 `users` 文件,添加用户名和密码的组合来进行认证。另外,您还可以将用户认证信息存储在数据库中,通过编辑 `sql.conf` 文件来配置数据库连接。 4. 配置网络接入设备(NAS):如果您需要允许网络接入设备连接到 FreeRADIUS 服务器,您需要在 `clients.conf` 文件中添加相应的配置。这些配置包括设备的 IP 地址、共享密钥等。 5. 启动和测试:完成以上步骤后,您可以启动 FreeRADIUS 服务器。使用以下命令启动服务: ``` sudo service freeradius start ``` 您可以通过在命令行中使用 `radtest` 命令来测试服务器的运行情况。例如: ``` radtest <用户名> <密码> <服务器IP地址> <共享密钥> ``` 如果测试成功,您将会收到一个成功的响应。 请注意,上述步骤仅提供了一个基本的搭建和配置 FreeRADIUS 服务器的过程。根据您的实际需求,可能还需要进行更多的配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值