前言
FreeRADIUS是GNU通用公共许可证开发的高性能开源RADIUS服务器。FreeRADIUS是世界上使用最多的RADIUS服务器。FreeRADIUS带有基于Web的用户管理工具,是模块化,可扩展性和丰富的功能集。
注意:本文所有命令均在root命令下执行。
安装CentOS-7-X86_64-Minimal和配置静态IP这里就不多叙述(IP设置为192.168.1.211,后边的radius IP填写也是这个)
在开始安装之前,建议关闭SELinux或将其设置为disabled,最好建议永久关闭SELinux:
# sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
重启系统:reboot,重启完成后查看SELinux
查看防火墙状态,启动状态才能添加规则,centos7中默认防火墙就是firewall
# firewall-cmd --state
关闭防火墙及关闭开机启动防火墙:
直接关闭防火墙
# Systemctl stop firewalld.service
禁止firewall开机启动
# Systemctl disable firewalld.service
一、安装Apache服务器
1、安装
# yum -y install httpd httpd-devel
2、设置开机启动和启动Apache服务
# systemctl enable httpd
# systemctl start httpd
3、启动之后浏览器中输入本机ip,可以看到Apache主页
二、安装MariaDB
为什么不用Mysql?
答:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
1、安装
# yum install -y mariadb-server mariadb
2、设置MariaDB开机启动和启动MariaDB服务
# systemctl start mariadb
# systemctl enable mariadb
3、查看MariaDB状态,running已经运行
# systemctl status mariadb
4、初始设置MariaDB,设置root密码;
出于安全考虑,考虑删除匿名用户和禁用远程根登录,参见下面的示例配置,
# mysql_secure_installation
Set root password? [Y/n] y
New password: Re-enter new password:
Password updated successfully! Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
5、创建Radius数据库和用户名密码
# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE radius;
MariaDB [(none)]> GRANT ALL ON radius.* TO [email protected] IDENTIFIED BY "radius";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
三、安装PHP7
1、安装
# curl 'https://setup.ius.io/' -o setup-ius.sh
# bash setup-ius.sh
# yum remove php-cli mod_php php-common
# yum -y install mod_php70u php70u-cli php70u-mysqlnd php70u-devel php70u-gd php70u-mcrypt php70u-mbstring php70u-xml php70u-pear
2、查看php版本
# php -v
3、测试PHP
Apache网站跟目录下新建info.php网页,按Ins输入内容后按esc,:wq 保存退出。
# vi /var/www/html/info.php
填入以下测试内容:
<?php phpinfo(); ?>
4、重启Apache服务器
打开info.php网页,显示php信息即正常。IP/info.php
# systemctl restart httpd.service
四、安装FreeRadius
1、安装
# yum -y install freeradius freeradius-utils freeradius-mysql
2、启动radius和设置开机启动
# systemctl start radiusd.service
# systemctl enable radiusd.service
3、配置FreeRadius
3.1、导入Radius数据库到maiadb数据库中
# mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
3.2、为/etc/raddb/mods-enabled创建软连接
# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
3.3、配置SQL模块/ raddb/mods-available/ SQL,并更改数据库连接参数,以适合环境:
# vi /etc/raddb/mods-available/sql
sql {
# The sub-module to use to execute queries. This should match
# the database you're attempting to connect to.
#
# * rlm_sql_mysql
# * rlm_sql_mssql
# * rlm_sql_oracle
# * rlm_sql_postgresql
# * rlm_sql_sqlite
# * rlm_sql_null (log queries to disk)
driver = "rlm_sql_mysql"
dialect = "mysql"
# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "radius"
# Database table configuration for everything except Oracle
radius_db = "radius"
......
# Set to 'yes' to read radius clients from the database ('nas' table) # Clients will ONLY be read on server startup.
read_clients = yes
其他配置默认无需更改。
3.4、然后,将/etc/raddb/mods-enabled/sql所属组更改为radiusd:
# chgrp -h radiusd /etc/raddb/mods-enabled/sql
3.5、添加启动服务,调整FreeRadius与MariaDB的启动顺序,FreeRadius必须在MariaDB启动之后启动,在[Unit]部分,增加After=mariadb.service,如下图所示:
# systemctl enable radiusd.service
# vi /etc/systemd/system/multi-user.target.wants/radiusd.service
After=mariadb.service
3.6、添加客户端连接设置,添加允许所有用户接入,如需特定ip访问,ip可以*更改。
# vi /etc/raddb/clients.conf
client all_client {
ipaddr = 0.0.0.0/0
secret = testing123
require_message_authenticator = no
}
五、安装FreeRADIUS管理界面Daloradius
1、进入Apache网站根目录,下载源文件
# cd /var/www/html/
# wget https://github.com/lirantal/daloradius/archive/master.zip
如出现 -bash: wget: command not found 等就安装相应软件,没出现忽略这步。
# yum -y install wget unzip zip
2、解压压缩包,修改文件夹名称
# unzip master.zip
# mv daloradius-master/ daloradius
3、下载daloradius-0.9-9.tar.gz,解压后合并到daloradius文件夹中
# unzip master.zip
# mv daloradius-master/ daloradius
4、进入daloradius目录,导入daloradius数据库
# cd daloradius
# mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
# mysql -u root -p radius < contrib/db/mysql-daloradius.sql
5、设置daloradius目录用户组和用户,设置daloradius.conf.php权限
# chown -R apache:apache /var/www/html/daloradius/
# chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
6、设置daloradius数据库连接信息
打开daloradius.conf.php文件,修改CONFIG_DB_USER,CONFIG_DB_PASS,CONFIG_DB_NAME。
# vi /var/www/html/daloradius/library/daloradius.conf.php
7、重启服务
# systemctl restart radiusd.service
# systemctl restart mariadb.service
# systemctl restart httpd
如果提示:Warning: radiusd.service changed on disk. Run ‘systemctl daemon-reload’ to reload units
没有上面提示就忽略此步
# systemctl daemon-reload
# systemctl restart radiusd.service
8、安装php-pear
# yum install php-pear
# pear install DB
9、登录web界面
默认用户名: administrator
密码: radius
http://ip-address/daloradius/login.php
登录后在Management创建一个用户wisoft用于测试
至此FreeRadius+Daloradius+web管理界面已经安装成功
六、测试
利用第三方测试工具Radiustest来验证服务器是否安装成功,成功界面如下,附件https://download.****.net/download/qq_29056051/10544899
七、路由器AP设置
(华硕固件RT-N56U)
Reset重置设备后,进入管理页面 http://192.168.123.1/
1、更改路由的操作模式为AP模式
2、设置无线2.4GHz的RADIUS设置
3、设置无线网络的授权方式
参考博文:
https://blog.****.net/zy517863543/article/details/78914150
官网:
有一体的虚拟机,尚未测试