Linux搭建Radius服务器

发布时间 2023-05-09 11:26:41作者: 母粒

一、Radius是什么

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

 

二、linux搭建Radius服务器

1.使用yum进行安装

yum install -y freeradius freeradius-mysql freeradius-utils

 2.安装完毕后查看进程运行状态

ps -ef|grep radius

 如果未启动成功,自行手工启动

systemctl start radiusd.service

 

3.测试能否正常运行

  • 启动Radius服务
radiusd -X

注:如果启动失败,大概率是1812端口被占用(如下图)

  • 本机测试
radtest testing password localhost 0 testing123
注:radtest命令由5个参数组成,第一个参数为用户名(testing),第二个参数为密码(password),第三个参数为服务器IP地址(localhost),第四个参数为NAS端口(0),第五个参数为共享密钥(testing123)

如果出现下图则代表安装成功

 

4.配置freeradius

  • 修改clients.conf文件
vim /etc/raddb/clients.conf

添加下图内容,192.168.13.0/24代表允许该网段访问,testing123为Radius的秘钥

  • 添加用户
vim /etc/raddb/users

添加如下内容

DEFAULT Auth-Type := "Accept"    表示允许任意账号密码可以认证使用

test Cleartext-Password:= "123456"    表示指定账号密码可以认证使用

重启服务,让配置生效,Radius服务器最基础的功能已配置完毕。

 

三、Radius服务器验证原理

1.工作原理

 

2.RADIUS报文格式

RADIUS是一种可扩展的协议,所有的交互报文由多个不同长度的ALV(Attribute-Length-Value)三元组组成,新增加属性和属性值不会破坏到协议的原有实现。因此RADIUS协议也支持设备厂商扩充厂家专有属性。

 下图为Radius服务器的一次验证过程

所有内容只为了记录搭建和学习过程,部分内容源于网络。

想要了解更详细的工作原理,推荐访问下方连接

https://blog.csdn.net/m0_73245452/article/details/126481854?ops_request_misc=&request_id=&biz_id=102&utm_term=radius%E6%9C%8D%E5%8A%A1%E5%99%A8&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-126481854.142^v86^insert_down38v5,239^v2^insert_chatgpt&spm=1018.2226.3001.4187

https://blog.csdn.net/qq_38265137/article/details/90723140