项目背景:
企业无线网络安全升级,需要radius服务器结合AC 802.1X的方式进行企业认证,因此需要搭建radius认证服务器,并且搭建Daloradius实现web管理radius用户。
网上搜索和很多搭建案例,自己按照案例尝试搭建都没有成功,发现问题是daloRADIUS文件的问题,自己发现并解决了问题,因此将成功搭建的经验写下来帮助那些想要搭建的IT同行们。
服务器简介:
FreeRADIUS 的特点
- 灵活的配置可以通过多种方法来选择用户配置。
- 完全支持 RFC 2865 和 RFC 2866 属性。
- 具有 EAP-MD5、EAP-SIM、EAP-TLS、EAP-TTLS、EAP-PEAP 和 Cisco LEAP EAP 子类型的 EAP
- 近百家供应商的供应商特定属性,包括 BinTec、Foundry、Cisco、Juniper、Lucent/Ascend、HP ProCurve、Microsoft、USR/3Com、Acc/Newbridge 等。
daloRADIUS 是什么?
另一方面,daloRADIUS 是一个用 PHP 和 JavaScript 编写的高级 RADIUS Web 管理平台。它主要旨在管理由 FreeRADIUS 服务器支持的热点和通用 ISP 部署。 daloRADIUS 的一些优秀功能包括:
- 拥有数据库抽象层,支持多种数据库系统 – MySQL、SQLite、PostgreSQL、MsSQL 和 Oracle
- 高级用户管理
- 强大的图形报告和会计
- 与 GoogleMaps 集成以实现地理位置
- 有计费引擎
下面进入正题:
在 Ubuntu 22.04/20.04/18.04 上安装 FreeRADIUS 和 Daloradius
先决条件:
1、防火墙放行1812和1813端口
ufw allow to any port 1812 proto udp ufw allow to any port 1813 proto udp #或者 systemctl stop ufw ufw status 为inactive表示防火墙关闭
第一步:升级系统版本和软件版本。
以确保能获取到freeradius版本和PHP版本
sudo apt update sudo apt -y upgrade
第二步:安装 Apache Web 服务器和 PHP
(其中PHP要求8.0版本以上)
#通过运行以下命令安装 Apache Web 服务器和PHP: sudo apt -y install apache2 sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl} #启动apache sudo systemctl restart apache2 sudo systemctl enable apache2 sudo systemctl status apache2
测试:
(1)测试PHP版本,php -v,显示8.0版本以上
(2)测试Apache版本,输入服务器的IP地址,显示Apache界面
第三步:安装和配置MariaDB
MariaDB介绍:是一个开源数据库管理系统,将用作 FreeRADIUS 的后端存储。 在本指南中,freeRADIUS 将使用 MariaDB 来存储用户帐户、设置等
1、安装MariaDB数据库 sudo apt update sudo apt install mariadb-server sudo mysql_secure_installation //配置安全安装 输入密码123(后面配置时候都要),全部选择Y sudo systemctl restart mysql sudo systemctl enable mysql sudo systemctl status mysql 2、配置数据库 数据库规划信息: database name: radius database user: radius database user password: Str0ngR@diusPass 因此如下配置: sudo mysql -u root -p 密码123 CREATE DATABASE radius; //DATABASE后面的是数据库名 GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "Str0ngR@diusPass"; //#@local前面的是用户名,BY后面的是密码 FLUSH PRIVILEGES; quit;
第四步:安装和配置 FreeRADIUS
1.安装:
sudo apt -y install freeradius freeradius-mysql freeradius-utils
2.配置:导入freeradius MySQL数据库方案
sudo su - //切换到root账户 mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql 配置密码:123
测试:
数据库创建8个是否成功 sudo mysql -u root -p -e “use radius;show tables;”
3.在 /etc/freeradius/3.0/mods-enabled/ 下创建sql模块的软链接
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
补充:ln -s 指令用于创建符号链接(也称为软链接),也就是 Windows 中的快捷方式。
4.配置 SQL 模块并更改数据库连接参数以适合您的环境。
sudo vim /etc/freeradius/3.0/mods-enabled/sql
要求: