環境說明:阿里雲ECS服務器Centos7系統,裏面的docker容器又創建了一個Centos7系統,在docker創建的Centos系統中搭建的FreeRadius3
沒有集成mysql,沒有集成ldap等,最下面有踩坑記錄
版本FreeRadius3
一、安裝FreeRadius3
yum install freeradius
- freeradius會被安裝到如下目錄:/etc/raddb/
二、測試安裝是否成功
radiusd -X
- 當最底下輸出:出現 Ready to process requests 則表示服務器正確安裝和配置
- 如果是ctrl+c推出,就不用殺死進程。如果再次啓動 radiusd -X 是出現紅字報錯,可以看下是不是啓動了進程,殺死再啓動即可,下面是查詢命令
ps -ef | grep radius
三、初步測試認證
(1) 、freeradius3官方描述修改users,users修改地址/etc/raddb/mods-config/files/authorize。但是翻看別的帖子時候發現修改的是/etc/raddb/users。後來查看了一下發現是同一個文件,應該是3向下做的兼容,所以這兩個文件改哪一都是一樣的,會看到users添加什麼authorize也會添加同樣的信息
vi /etc/raddb/mods-config/files/authorize
或(兩個是同一個文件)
vi /etc/raddb/users
- 在文檔最上面,添加如下內容:
testing Cleartext-Password := "password"
- 下面是添加完成的
testing Cleartext-Password := "password"
# Configuration file for the rlm_files module.
# Please see rlm_files(5) manpage for more information.
#
# This file contains authentication security and configuration
# information for each user. Accounting requests are NOT processed
# through this file. Instead, see 'accounting', in this directory.
#
(2)、開一個新窗口
- 安裝,freeradius-utils工具包。
yum install -y freeradius-utils
- 運行如下命令(上面不安裝工具,這個會提示command not found )
radtest testing password 127.0.0.1 0 testing123
- 運行成功會看到Access-Accept。
Sent Access-Request Id 29 from 0.0.0.0:56796 to 127.0.0.1:1812 length 77
User-Name = "testing"
User-Password = "password"
NAS-IP-Address = 這裏是ip地址
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "password"
Received Access-Accept Id 29 from 127.0.0.1:1812 to 0.0.0.0:0 length 20
踩坑:
一、 freeradius是UDP協議默認端口1812,1813,在創建Docker容器的時候映射端口記得要加/udp,舉例如下:
docker run -tid --name test -p 8091:1812/udp centos:7 /bin/bash
還有一點是,阿里雲服務器要設置開放映射的udp端口。。
二、upd測試端口是否可以連通時不是用 ping 而是用nc命令,這個命令我在dos上不好使,linux沒問題。
nc -vuz ip地址 端口
三、測試軟件。
1、windows環境測試指定端口是否開放軟件,可以測試tpc/udp。在使用這個測試freeradius是否收到消息時,1、打開軟件點擊客戶端,2、點擊udp通道,連接成功後會在記錄裏提示opened,3、在下面圖片所示輸入框裏,隨便填寫點內容。4、發送,在搭建的freeradius服務端會看到一條紅色信息,表示當前端口是通的。(注意:在測試模式radiusd -X模式下纔可以看到)
2、windows端的freeradius客戶端軟件,可以測試用戶名是否正確。使用教程和下載地址