FreeRADIUS 802.1X 服务器¶
简介¶
RADIUS 是一种用于管理网络访问的 AAA(身份验证、授权和计费)协议。FreeRADIUS 是 Linux 和其他类 Unix 系统的事实上的 RADIUS 服务器。
先决条件和假设¶
以下为此过程的最低要求
- 能够以 root 用户身份运行命令或使用
sudo
提升权限 - RADIUS 客户端,例如路由器、交换机或 Wi-Fi 接入点
安装 FreeRADIUS¶
您可以从 dnf
仓库安装 FreeRADIUS
dnf install -y freeradius
配置 FreeRADIUS¶
安装完软件包后,您需要首先为 FreeRADIUS 生成 TLS 加密证书
cd /etc/raddb/certs
./bootstrap
随后,您需要添加用户进行身份验证。打开 users
文件
cd ..
vi users
在文件中插入以下内容
user Cleartext-Password := "password"
将 user
和 password
分别替换为所需用户名和密码。
请注意,密码未被哈希,因此如果攻击者获取了 users
文件,他们可能会获得对您的受保护网络的未经授权的访问。
您还可以使用 MD5
哈希或 Crypt
哈希密码。要生成 MD5 哈希密码,请运行
echo -n password | md5sum | awk '{print $1}'
将 password
替换为所需的密码。
您将得到一个哈希值 5f4dcc3b5aa765d61d8327deb882cf99
。在 users
文件中,改为插入以下内容
user MD5-Password := "5f4dcc3b5aa765d61d8327deb882cf99"
您还需要定义客户端。这是为了防止对我们的 RADIUS 服务器进行未经授权的访问。编辑 clients.conf
文件
vi clients.conf
插入以下内容
client 172.20.0.254 {
secret = secret123
}
将 172.20.0.254
和 secret123
分别替换为客户端将使用的 IP 地址和密钥值。对其他客户端重复此操作。
启用 FreeRADIUS¶
完成初始配置后,您可以启动 radiusd
systemctl enable --now radiusd
在交换机上配置 RADIUS¶
设置好 FreeRADIUS 服务器后,您将在作者的 MikroTik 交换机上配置 RADIUS 客户端作为有线 802.1X 客户端
/radius
add address=172.20.0.12 secret=secret123 service=dot1x
/interface dot1x server
add interface=combo3
将 172.20.0.12
替换为 FreeRADIUS 服务器的 IP 地址,将 secret123
替换为之前设置的密钥。
作者:Neel Chauhan
贡献者:Steven Spencer