基于Rocky Linux搭建RADIUS服务器并实现Web可视化的详细步骤,结合FreeRADIUS和Daloradius方案,适用于企业网络认证场景:
系统更新与依赖安装
sudo dnf update -y
sudo dnf install -y epel-release wget curl unzip
# 更换阿里云镜像源
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' -i.bak /etc/yum.repos.d/Rocky-*.repo
安装LAMP环境
sudo dnf install -y httpd php php-mysqlnd php-gd php-curl php-xml php-mbstring
sudo systemctl enable --now httpd
sudo dnf install -y mariadb-server mariadb
sudo systemctl enable --now mariadb
sudo mysql_secure_installation # 设置root密码并加固
安装FreeRADIUS
sudo dnf install -y freeradius freeradius-utils freeradius-mysql
配置数据库
sudo mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radius_password';
FLUSH PRIVILEGES;
EXIT;
# 导入Daloradius数据库结构
wget https://github.com/lirantal/daloradius/archive/refs/heads/master.zip
unzip master.zip -d /var/www/html/
sudo mysql -u root -p radius < /var/www/html/daloradius-master/contrib/db/fr3-mysql-daloradius-and-freeradius.sql
配置FreeRADIUS连接数据库
sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
sudo nano /etc/raddb/mods-available/sql # 修改以下参数
driver = "rlm_sql_mysql"
server = "localhost"
login = "radius"
password = "radius_password"
radius_db = "radius"
设置客户端访问权限
sudo nano /etc/raddb/clients.conf
client localhost {
ipaddr = 127.0.0.1
secret = your_shared_secret
require_message_authenticator = no
}
配置Apache虚拟主机
sudo nano /etc/httpd/conf.d/daloradius.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/daloradius-master
ServerName radius.example.com
<Directory /var/www/html/daloradius-master>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# 重启服务
sudo systemctl restart httpd
调整Daloradius配置文件
sudo nano /var/www/html/daloradius-master/library/daloradius.conf.php
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'radius_password';
$configValues['CONFIG_DB_NAME'] = 'radius';
汉化界面(可选)
/var/www/html/daloradius-master/lang/zh.php
config-lang.php
添加中文选项:
case "zh": include (dirname(__FILE__)."/lang/zh.php"); break;
启动与测试服务
sudo systemctl restart radiusd
# 测试用户认证
radtest testuser testpassword localhost 0 testing123
防火墙配置
sudo firewall-cmd --permanent --add-service={http,radius}
sudo firewall-cmd --reload
Web管理访问
http://服务器IP/daloradius-master
,默认登录账号:administrator
/radius
SELinux策略调整
sudo setsebool -P httpd_can_network_connect_db on
sudo restorecon -Rv /var/www/html/
日志监控
sudo tail -f /var/log/radius/radius.log # 实时查看认证日志
集成Cockpit监控
sudo dnf install -y cockpit
sudo systemctl enable --now cockpit.socket
/var/www/html/
目录权限为755:apache
mysqldump -u root -p radius > radius_backup.sql
通过以上步骤,可在Rocky Linux上实现完整的RADIUS认证服务及Web可视化管理,满足企业级网络接入控制需求。