【CentOS】搭建Radius服务器

目录

  • 背景
  • 简介:Radius是什么?
  • Radius服务器验证原理
  • 搭建Radius服务器
    • 环境信息
    • yum在线安装
    • 配置FreeRADIUS相关文件
      • clients.conf文件
      • users文件
      • 重启服务
    • 验证
  • 参考链接

背景

在项目中需要用到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协议基础原理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33810.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ToB公司找客户专用|大数据获客系统

对于ToB公司而言,找到并吸引合适的潜在客户并非易事。传统的获客手段如参加行业展会、电话推销以及直接拜访等,虽然在过去取得了一定成效,但如今却暴露出诸多问题。首先,这些方法往往成本高昂,无论是时间还是金钱上的投…

Linux 文件权限类

目录 文件属性 从左到右的10个字符表示 rwx作用文件和目录的不同解释 图标: 案例实操 chmod 改变权限 基本语法 经验技巧 案例实操 拓展:可以通过一个命令查看用户列表 chown改变所有者 基本语法 选项说明 案例实操 chgrp 改变所属组 基…

DeepSeek技术解析:MoE架构实现与代码实战

以下是一篇结合DeepSeek技术解析与代码示例的技术文章,重点展示其核心算法实现与落地应用: DeepSeek技术解析:MoE架构实现与代码实战 作为中国AI领域的创新代表,DeepSeek在混合专家模型(Mixture of Experts, MoE&…

vue3:八、登录界面实现-页面初始搭建、基础实现

一、初始工作 1、创建登录文件 在src/views中创建文件LoginView.vue文件 2、创建路由 在router/index.js中增加登录的信息 代码 import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vue const router createRouter({hist…

dify+mysql的诗词助手

目录 数据库表结构: 数据库查询的http服务搭建: 流程引擎搭建: 开始, HTTP查询数据库, LLM数据分析, 直接回复, 效果测试: 下载链接: 数据库表结构:…

jenkins 配置邮件问题整理

版本:Jenkins 2.492.1 插件: A.jenkins自带的, B.安装功能强大的插件 配置流程: 1. jenkins->系统配置->Jenkins Location 此处的”系统管理员邮件地址“,是配置之后发件人的email。 2.配置系统自带的邮件A…

谷歌Chrome或微软Edge浏览器修改网页任意内容

在谷歌或微软浏览器按F12,打开开发者工具,切换到console选项卡: 在下面的输入行输入下面的命令回车: document.body.contentEditable"true"效果如下:

blender使用初体验(甜甜圈教程)

使用blender 建模了甜甜圈,时间空闲了,但愿能创建点好玩的吸引人的东西

Adobe Firefly 技术浅析(三):GANs 的改进

生成式对抗网络(GANs)在图像生成领域取得了显著的进展,但原始的 GANs 在训练稳定性、生成质量以及多样性方面存在一些挑战。Adobe Firefly 在其图像生成技术中采用了多种改进的 GANs 方法,以提高生成图像的质量和多样性。 1. 条件生成式对抗网络(cGANs) 1.1 基本原理 …

go GRPC学习笔记

本博文源于笔者正在学习的gprc,相关配套书籍素材来源是《Go编程进阶实战》,博文内容主要包含了RPC模式讲解,RPC通过htttp访问、拦截器、提高服务端与客户端容错的内容配置 在此之前需要下载protoc,这里不做下载过程 1、RPC模式 …

CentOS 系统安装 docker 以及常用插件

博主用的的是WindTerm软件链接的服务器,因为好用 1.链接上服务器登入后,在/root/目录下 2.执行以下命令安装docker sudo yum install -y yum-utilssudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.reposudo…

MindGYM:一个用于增强视觉-语言模型推理能力的合成数据集框架,通过生成自挑战问题来提升模型的多跳推理能力。

2025-03-13,由中山大学和阿里巴巴集团的研究团队提出了MindGYM框架,通过合成自挑战问题来增强视觉-语言模型(VLMs)的推理能力。MindGYM框架通过生成多跳推理问题和结构化课程训练,显著提升了模型在推理深度和广度上的表…

论文阅读笔记——LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

LoRA 论文 传统全面微调&#xff0c;对每个任务学习的参数与原始模型相同&#xff1a; m a x Φ ∑ ( x , y ) ∈ Z ∑ t 1 ∣ y ∣ l o g ( P Φ ( y t ∣ x , y < t ) ) 式(1) max_{\Phi}\sum_{(x,y)\in Z}\sum^{|y|}_{t1}log(P_{\Phi}(y_t|x,y<t)) \qquad \text{式(…

Umi-OCR 全家桶

介绍&#xff1a; 下载 访问官网地址 https://github.com/hiroi-sora/umi-ocrhttps://github.com/hiroi-sora/umi-ocr 点击下载&#xff08;.exe 文件 安装即可&#xff09; 桌面使用 安装完毕后去安装路径下点击 Umi-OCR.exe &#xff08;默认不会生成桌面的快捷方式&…

oracle中OS BLOCK的含义

在Oracle数据库中&#xff0c;OS BLOCK&#xff08;操作系统数据块&#xff09;是指操作系统层面上的数据块&#xff0c;它与Oracle数据库内部的逻辑存储单元BLOCK&#xff08;数据块&#xff09;有所区别但密切相关。以下是对OS BLOCK的详细解释&#xff1a; 定义与概念 OS BL…

mac部署GPT-SoVITS,生成粤语踩坑点及使用记录

自己录音&#xff0c;普通话或者粤语 注意&#xff1a; 与在其他设备上训练的模型相比&#xff0c;在mac上使用gpu训练的模型的质量明显较低&#xff0c;因此我们暂时使用cpu代替。 Install Xcode command-line tools by running xcode-select --install.Install FFmpeg by …

STM32-SPI通信外设

目录 一&#xff1a;SPI外设简介 SPI框图​编辑 SPI逻辑 ​编辑 主模式全双工连续传输 ​编辑 非连续传输 二&#xff1a;硬件SPI读写W25Q64 1.接线&#xff1a; 2. 代码 SPI外设的初始化 生成时序 一&#xff1a;SPI外设简介 STM32内部集成了硬件SPI收发电路&#…

游戏引擎学习第158天

回顾和今天的计划 我们在这里会实时编码一个完整的游戏&#xff0c;没有使用引擎或库&#xff0c;一切都由我们自己做所有的编程工作&#xff0c;游戏中的每一部分&#xff0c;无论需要做什么&#xff0c;我们都亲自实现&#xff0c;并展示如何完成这些任务。今天&#xff0c;…

指令微调 (Instruction Tuning) 与 Prompt 工程

引言 预训练语言模型 (PLMs) 在通用语言能力方面展现出强大的潜力。然而&#xff0c;如何有效地引导 PLMs 遵循人类指令&#xff0c; 并输出符合人类意图的响应&#xff0c; 成为释放 PLMs 价值的关键挑战。 指令微调 (Instruction Tuning) 和 Prompt 工程 (Prompt Engineerin…

实验三 Python 数据可视化 Python 聚类-K-means(CQUPT)

一、实验目的 Python 数据可视化&#xff1a; 1、学习使用 jieba、wordcloud 等类库生成词云图。 2、学习使用 Matplotlib 库进行数据可视化。 Python 聚类-K-means&#xff1a; 1、理解聚类非监督学习方法的基本原理。 2、掌握 Python、numpy、pandas、sklearn 实现聚类…