【CentOS】搭建Radius服务器

背景

在项目中需要用到Radius服务器作为数据库代理用户的外部验证服务器,做以下总结。

简介:Radius是什么?

  • Radius认证是一种应用最广泛的AAA协议,即认证(Authentication)、授权(Authorization)和计费(Accounting),是网络安全中进行访问控制的一种安全管理机制。Radius是一种C/S结构的协议,该协议认证机制灵活,简单明确,可扩充,可以采用PAP、CHAP或者Unix登录认证等多种方式。
  • 协议定义了基于UDP的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。

在这里插入图片描述

Radius服务器验证原理

接入设备作为RADIUS客户端,负责收集用户信息(例如:用户名、密码等),并将这些信息发送到RADIUS服务器。RADIUS服务器则根据这些信息完成用户身份认证以及认证通过后的用户授权和计费。用户、RADIUS客户端和RADIUS服务器之间的交互流程如下:
在这里插入图片描述
参考链接: RADIUS协议基础原理

搭建Radius服务器

环境信息

系统内核版本
CentOS Linux 7.93.10.0-1160.71.1.el7.x86_64

yum在线安装

使用yum命令在线安装FreeRadius,如果要离线安装,请参考链接: Radius服务端搭建、运行及测试

yum install -y freeradius freeradius-mysql freeradius-utils

查看服务状态:一般为未启动,默认的安装及配置文件路径:/etc/raddb

ps -ef|grep radius

在这里插入图片描述

前台启动Radius服务:

sudo radiusd -X

在这里插入图片描述

打开新窗口,本机测试:

radtest testing password localhost 0 testing123
#注:radtest命令由5个参数组成:
#1、第一个参数为用户名(testing)
#2、第二个参数为密码(password)
#3、第三个参数为服务器IP地址(localhost)
#4、第四个参数为NAS端口(0)
#5、第五个参数为共享密钥(testing123)

在这里插入图片描述
此处访问被拒绝,通过前台服务打印的内容可以看到:
在这里插入图片描述
原因在于:

  • 没有配置允许与 RADIUS 服务器通信的客户端设备
  • 没有配置允许访问RADIUS 服务器的用户

这两个是需要根据实际情况配置的,是合理的。

配置FreeRADIUS相关文件

clients.conf文件

FreeRADIUS 中 clients.conf 文件用于定义允许与 RADIUS 服务器通信的客户端设备(如网络接入设备、路由器、AP 等),并配置其安全参数

vim /etc/raddb/clients.conf

修改client字段内容为下如所示:10.0.2.0/24代表允许该网段访问,testing123为Radius的秘钥,后续users文件中添加的用户登录Radius服务,需要使用这个密码秘钥

client 10.0.2.0/24 {
        secret          = testing123
}

users文件

FreeRADIUS 中users 文件用于本地用户认证和动态策略控制的核心配置文件。它允许管理员直接在文件中定义用户账户、认证规则以及授权返回的 RADIUS 属性(如 VLAN、带宽限制等)。

vim /etc/raddb/users

添加如下内容,确保此用户可以登录Radius服务:

# 设置任意账号密码认证通过
DEFAULT Auth-Type := "Accept"
# 用户名:test 密码:123456
test Cleartext-Password:= "123456"

在这里插入图片描述

重启服务

重启服务,让配置生效

sudo radiusd -X

在这里插入图片描述
Radius服务器最基础的功能已配置完毕。

验证

之前我们配置了:

  • 允许与 RADIUS 服务器通信的客户端设备为10.0.2.0/24网段的设备
  • 并且允许访问RADIUS 服务器的用户:test 密码:123456

用10.0.2.0/24网段`的设备进行测试:

radtest test 123456 10.0.2.15 0 testing123
#注:radtest命令由5个参数组成:
#1、第一个参数为用户名(test)
#2、第二个参数为密码(123456)
#3、第三个参数为服务器IP地址(10.0.2.15)
#4、第四个参数为NAS端口(0)
#5、第五个参数为共享密钥(testing123)

在这里插入图片描述
登陆成功

参考链接

参考链接: Linux(centos7.9)搭建Radius服务器
参考链接: RADIUS协议基础原理

搭建一个 Radius 服务器平台,你可以按照以下步骤进行操作: 1. 选择合适的 Linux 发行版:首先,选择一个适合你的需求和熟悉程度的 Linux 发行版,比如 Ubuntu、CentOS 等。 2. 安装 Freeradius:使用包管理工具(如apt、yum等)安装 Freeradius。在 Ubuntu 上,你可以运行以下命令进行安装: ``` sudo apt-get update sudo apt-get install freeradius ``` 3. 配置 Radius 服务器:根据你的需求,编辑 Freeradius 的配置文件。主要配置文件是 `/etc/freeradius/radiusd.conf` 和 `/etc/freeradius/clients.conf`。你可以使用文本编辑器(如vi或nano)打开并进行相应的修改。 4. 配置用户认证信息:在 `/etc/freeradius/users` 文件中,你可以添加用户的认证信息。每个用户的认证信息可以包括用户名、密码和权限等。 5. 启动 Radius 服务器:启动 Freeradius 服务并确保它能够自动启动。在 Ubuntu 上,你可以运行以下命令启动服务: ``` sudo service freeradius start sudo systemctl enable freeradius ``` 6. 测试 Radius 服务器:使用 Radius 客户端工具(如 radtest)来测试你的 Radius 服务器是否正常工作。运行以下命令来进行测试: ``` radtest <用户名> <密码> localhost 0 testing123 ``` 如果一切设置正确,你应该会看到认证成功的消息。 这些步骤应该可以帮助你搭建一个基本的 Radius 服务器平台。根据你的具体需求,你还可以进一步进行配置和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值