🗣 Wd提问: 搭建radius认证服务器
🤖 Ai回答: 搭建一个 RADIUS 认证服务器是一个常见的网络管理任务。下面我将为您提供一个基于 FreeRADIUS(最流行的开源 RADIUS 服务器)在 Linux 系统(以 Ubuntu 20.04/22.04 为例)上的详细搭建指南。
我们将完成一个基础场景:为无线网络(WLAN)或网络设备管理搭建认证,使用本地用户文件进行验证。
方案概览
1、 组件介绍:
* RADIUS 服务器: 我们将安装和配置 FreeRADIUS。
* 客户端: 需要接入 RADIUS 服务的设备,例如:Wi-Fi 接入点(AP)、交换机、防火墙。它们负责将用户的认证请求转发给 RADIUS 服务器。
* 用户存储: 在这个简单示例中,我们使用 FreeRADIUS 自带的文本文件 `users` 来存储用户名和密码。对于生产环境,可以连接到 LDAP(如 Active Directory)、SQL 数据库等。
2、 认证流程:
1、 用户设备(如手机)尝试连接 Wi-Fi。
2、 无线 AP(RADIUS 客户端)向 FreeRADIUS 服务器发送 Access-Request。
3、 FreeRADIUS 检查客户端(AP)的 IP 和共享密钥是否匹配。
4、 如果客户端合法,FreeRADIUS 在 `users` 文件中查找用户名和密码。
5、 验证成功后,服务器返回 Access-Accept,用户设备得以连接。
第一步:安装 FreeRADIUS
使用包管理器安装,这非常简单。
bash
更新系统包列表
sudo apt update
安装 FreeRADIUS 及其相关工具
sudo apt install freeradius freeradius-utils
安装完成后,主要的文件和目录结构通常位于 `/etc/freeradius/3.0/`。
第二步:配置 RADIUS 客户端
客户端指的是你的网络设备(AP/交换机)。你需要告诉 FreeRADIUS 服务器,哪些设备被允许向其发送认证请求。
编辑客户端配置文件:
bash
sudo nano /etc/freeradius/3.0/clients.conf
在文件末尾,添加你的客户端配置。以下是一个示例,允许 IP 地址为 `192.168.1.100` 的无线 AP 接入:
ini
client local-ap {
ipaddr = 192.168.1.100
proto = *
secret = YourSharedSecret123!
require_message_authenticator = no
nas_type = other
}
* `client local-ap`: 为客户段定义一个名称。
* `ipaddr`: 你的网络设备的 IP 地址。可以使用 CIDR 表示法(如 `192.168.1.0/24`)来指定一个网段。
* `secret`: 共享密钥。这是在你的网络设备上配置 RADIUS 服务器时必须填写的相同密钥。请务必使用一个强密码。
* `require_message_authenticator`: 为了兼容性,这里设为 `no`。对于更安全的 EAP 认证,应设为 `yes`。
保存并关闭文件。
第三步:配置用户(认证源)
我们将创建一个测试用户。
编辑用户文件:
bash
sudo nano /etc/freeradius/3.0/mods-config/files/authorize
在文件末尾添加以下行来创建一个用户 `testuser`,密码为 `testpassword`:
testuser Cleartext-Password := testpassword
重要安全提示: `Cleartext-Password` 仅用于测试。在生产环境中,密码应以哈希形式存储,或者连接到外部用户数据库。
你也可以添加更多属性来定义用户权限,例如:
testuser Cleartext-Password := testpassword
Reply-Message = Hello, %{User-Name},
Filter-Id = limited-user
保存并关闭文件。
第四步:调整认证方式(简化配置)
默认情况下,FreeRADIUS 启用了多种认证方法。为了快速测试,我们暂时禁用复杂的 EAP 方法,只使用最基本的 PAP。
编辑主站点配置:
bash
sudo nano /etc/freeradius/3.0/sites-available/default
找到 `authorize` 部分。暂时注释掉(在行首添加 ``)除 `files` 之外的所有行,使其看起来像这样:
authorize {
...
将其他行注释掉,例如:
filter_username
mschap
digest
eap
files
...
}
同样,在 `authenticate` 部分,注释掉除 `Auth-Type PAP` 之外的所有内容:
authenticate {
Auth-Type PAP {
pap
}
注释掉其他部分,例如:
mschap
digest
eap
}
这个简化配置是为了排除干扰,快速验证服务器是否工作。
第五步:启动并测试服务器
1、 启动 FreeRADIUS 服务:
bash
sudo systemctl start freeradius
2、 设置开机自启:
bash
sudo systemctl enable freeradius
3、 检查服务状态:
bash
sudo systemctl status freeradius
确保状态为 `active (running)`。
4、 在服务器本地进行基础测试:
我们使用 `radtest` 工具进行测试。这个命令模拟一个客户端向服务器发送认证请求。
bash
radtest testuser testpassword 127.0.0.1 0 testing123
* `testuser`: 我们在 `authorize` 文件中创建的用户名。
* `testpassword`: 对应用户的密码。
* `127.0.0.1`: RADIUS 服务器的地址(这里测试本机)。
* `0`: NAS-Port。
* `testing123`: 客户端密钥。注意!对于 `clients.conf` 中定义的 `127.0.0.1`(localhost)客户端,FreeRADIUS 通常有一个默认条目并使用 `testing123` 作为密钥。如果测试失败,请检查 `/etc/freeradius/3.0/clients.conf` 中是否已经存在这个默认客户端配置。
成功的结果应该类似于:
Sent Access-Request Id 247 from 0.0.0.0:36300 to 127.0.0.1:1812 length 75
Received Access-Accept Id 247 from 127.0.0.1:1812 to 0.0.0.0:0 length 20
`Received Access-Accept` 表示认证成功!
5、 查看日志:
如果测试失败,日志是解决问题的关键。FreeRADIUS 的日志在:
bash
sudo tail -f /var/log/freeradius/radius.log
在运行 `radtest` 时,观察日志输出,它会提供详细的错误信息。
第六步:配置您的网络设备
一旦本地测试成功,你就可以在真实的网络设备上进行配置了。
以无线 AP 为例,你需要找到 RADIUS 服务器配置部分,并填写以下信息:
* Primary RADIUS Server IP: 你的 FreeRADIUS 服务器的 IP 地址(例如 `192.168.1.50`)。
* RADIUS Port: `1812` (认证)。
* Shared Secret: 你在 `clients.conf` 中为这个客户端设置的密钥(例如 `YourSharedSecret123!`)。
保存配置后,当用户连接 Wi-Fi 时,AP 就会将认证请求发送到你的 FreeRADIUS 服务器。
进阶配置
1、 连接外部数据库:
生产环境不建议使用文件存储用户。你可以安装相应的包并配置模块来连接 MySQL/PostgreSQL 或 LDAP/Active Directory。
* MySQL: `sudo apt install freeradius-mysql`
* LDAP: `sudo apt install freeradius-ldap`
然后编辑 `/etc/freeradius/3.0/mods-available/sql` 或 `ldap`,并在 `sites-available/default` 中启用它们。
2、 启用 EAP 认证:
对于 WPA2/WPA3-Enterprise 无线网络,你需要配置 EAP(例如 PEAP-MSCHAPv2, EAP-TLS)。这比 PAP 更安全。你需要编辑 `/etc/freeradius/3.0/mods-available/eap` 并生成 SSL 证书。
3、 防火墙:
确保服务器的防火墙放行了 RADIUS 端口(UDP 1812)。
bash
sudo ufw allow 1812/udp
故障排除
* 始终检查日志: `tail -f /var/log/freeradius/radius.log`
* 客户端 IP 和密钥不匹配: 这是最常见的问题。确保 `clients.conf` 中的 IP 和密钥与网络设备上的配置完全一致。
* 用户凭证错误: 确保 `authorize` 文件中的用户名
📣 商家广告:





0
IP地址: 139.38.28.27
搜索次数: 0
提问时间: 2025-11-09 01:32:25
🛒 域名购买:
03.gold
touwang.com.cn
2223.com.cn
sou.gg
lw.biz
txqg.cn
w-p.cn
75.gold
c-a.com.cn
ww.fj.cn
❓️ 热门提问:
河北机房网络机柜系统
日本独立站建站
td域名
国外vps提速
国外优惠云主机
云服务器防御ddos
可以图片搜索的引擎
搜索引擎营销的主要方式有什么
java云虚拟主机
搜索引擎语言
豌豆Ai站群搜索引擎系统
🌐 域名评估:
bb.hn.cn
mpgg.cn
hhlg.cn
yj.yn.cn
su8.nm.cn
vtol.sn.cn
umji.cn
catl.gs.cn
h.hl.cn
81g.net
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
站搜
乐山网站建设公司
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。