目錄
- 背景
- 簡介: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.9 | 3.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協議基礎原理