CentOS7安装FreeRadius+Daloradius web

  • 最近闲来无事,将家里面wifi认证改成”WPA Enterprise”,听起来是要牛逼一些,其实就是使用freeradius这个软件来实现的,开始之前你需要有一个你无线设备能随时访问到的机器,比如刷了LEDE系统的路由器来做,不过LEDE系统安装freeradius3是个软件包始终缺少依赖,就先放弃了,正好我还有一台阿里云的服务器可以来使用,下面是安装步骤:
  1. 安装MYSQL:参照 CentOS7通过yum方式安装mysql8
  2. 安装Nginx: 参照 Nginx源码安装脚本
  3. 安装PHP:参照 CENTOS7通过YUM方式安装PHP7
  4. 安装 Daloradius 和 freeradius
cd /yourWebSiteDir
git clone https://github.com/lirantal/daloradius.git
yum install -y freeradius-utils freeradius-mysql
pear install DB  ## 这个是为了解决Daloradius web依赖的
  1. 编辑”/etc/raddb/mods-available/sql”文件,需要修改以下几个参数
server = "localhost"  ##如果你的数据库不在本地也需要修改这个参数
driver = "rlm_sql_mysql"
dialect = "mysql"
login = "yourDbUsername"
password = "yourPassword"
radius_db = "yourRadiusDb"
  1. 将”/etc/raddb/mods-available/sql”这个文件在”/etc/raddb/mods-enabled”目录下做个软链接
    ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/sql
  2. 修改”/etc/raddb/sites-enabled/default”这个文件分别将authorize {}、accounting{}下的sql去掉注释,并且将file注释掉。
  3. 修改”/etc/raddb/clients.conf”这个文件如下:
#自定义的客户端
client anthorClientIpName {
    ipaddr        = 113.250.0.0/16  ## 这个表示认证的源ip,可以根据自己的情况来,我家用的ip就电信的这个IP段就限制了下
    secret        = yourpassword  ## 填写radius的profiles需要这个共享密钥
}
  1. 使用mysql客户端进入mysql中,创建用户,授权并且导入初始数据
mysql -uroot -p
mysql> CREATE DATABASE yourRadiusDb;
mysql> GRANT ALL ON yourRadiusDb.* TO 'yourDbUsername'@'localhost' IDENTIFIED BY 'yourPassword';
mysql> USE yourRadiusDb;
mysql> source /etc/raddb/mods-config/sql/main/mysql/schema.sql
mysql> source /yourWebSiteDir/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql> source /yourWebSiteDir/daloradius/contrib/db/mysql-daloradius.sql
  1. 修改”/opt/web/daloradius/library/daloradius.conf.php”这个文件的数据库链接信息:
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'yourDbUsername';
$configValues['CONFIG_DB_PASS'] = 'yourPassword';
$configValues['CONFIG_DB_NAME'] = 'yourRadiusDb';
  1. 启动服务,并设置开机启动
systemctl restart radiusd.service
systemctl enable radiusd.service
systemctrl restart mysqld.service 
systemctrl enable mysqld.service
systemctrl restart php-fpm 
systemctrl enable php-fpm
  1. 防火墙放行1812和1813端口,由于我这儿使用的阿里云的机器,还需要在阿里云的安全组放行这两个端口
firewall-cmd --zone=public --add-port=1812/udp --permanent 
firewall-cmd --zone=public --add-port=1813/udp --permanent 
firewall-cmd --reload
  1. 配置nginx,让 Daloradius 跑起来,这个就是搭建站点的方式,这儿不细说了。Daloradius的默认用户名是: administrator ;默认密码是: radius 。生产环境需要马上修改这个密码

最后由于权限问题,Daloradius读取不到radius的日志文件,需要改下”/var/logradius”这个目录和目录下面radius.log这个文件的权限

参考文章:
https://blog.csdn.net/zy517863543/article/details/78914150
https://www.cnblogs.com/cowerss/p/3507900.html