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