CentOS 下 FreeRADIUS+daloradius+OpenPortal 的详细配置过程以及实现流量控制的方法

1、安装 PHP 7

  • 先删除现有PHP:yum remove php*
  • 然后更新yum源:
 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
 rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
  • 执行yum语句,安装PHP:
 yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel
  • 适配Apache:
  vim /etc/httpd/conf/httpd.conf
  • 在Apache的配置文件httpd.conf的<IfModule mime_module></IfModule>块里增加一行
AddType application/x-httpd-php .php
  • 解析php文件有效方法:
    下载php扩展
yum install mod_php

1、找到:

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

在后面添加:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .php5

2、找到: <IfModule dir_module> DirectoryIndex index.html </IfModule>
添加: <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
3、找到: #ServerName www.example.com:80
修改为: ServerName 127.0.0.1:80或者ServerName localhost:80 记得要去掉前面的“#”

2、安装 apache

  1. 查看linux自带的apache:rpm -qa|grep httpd;
  2. 卸载自带的apache:yum remove httpd*
  3. 安装apache:yum -y install httpd
  4. yum list|grep httpd在这里插入图片描述
    正常有这四个插件,若没有请手动去官网下载
  5. 关闭防火墙:service iptables stop
  6. 打开目录:cd /var/www/html
  7. 建立文件:vim hello.html
<html>
<head>
<title>
My first  apache
</title>
</head>
<body>
<h1>
Hellow world
</h1>
</body>
</html>
  1. 查看主机的ip接口:ifconfig
    图中192.168.1.133为虚拟机ip的接口。
    在这里插入图片描述
  2. 启动apache,访问网页
    service httpd start
    打开外部浏览器,http://localhost/hello.html

3、安装 freeradius 和 mysql 并且导入数据库

  1. 安装freeradius-mysql键入
yum install -y freeradius freeradius-mysql freeradius-utils
  1. 打开防火墙端口:
iptables -A INPUT -p udp --dport 1812 -j ACCEPT
iptables -A INPUT -p udp --dport 1813 -j ACCEPT
  • 查看端口是否开放: iptables -L -n | grep 181
  1. 测试freeradius是否安装成功
  • 修改vim /etc/raddb/users

    把里面steve Cleartext-Password := "testing"附近几句反注释

  • 进入radiusd -X(其中-X是指从调试模块启动,会打印相关的调试信息),如果出现以下错误信息表示ssl库版本不对应,修改对应的配置文件:

vim radiusd.conf将allow_vulnerable_openssl = no修改为allow_vulnerable_openssl = yes

另外打开一个终端,输入radtest steve testing localhost 0 testing123
若接收到Access-Accept表示请求成功

  1. 安装完整的mysql
yum -y install mysql
yum -y install mysql-server mysql-devel
  • 启动mysql服务
service mysqld start
mysql -uroot -p

会提示输入密码,该密码就是之前安装时候的密码
4. 修改mysql密码

use mysql;
update user set password=password(“你的新密码”) where user=“root”;
flush privileges;
quit;
  1. 进行freeradius与mysql的关联
  • 进入mysql,创建储存freeradius的数据库取名radius
create database radius;
  • 导入数据表(下载freeradius后自带)
cd /etc/raddb/sql/mysql
mysql -u root -p123456 radius < schema.sql;
mysql -u root -p123456 radius < nas.sql;
mysql -u root -p123456 radius < ippool.sql;
mysql -u root -p123456 radius < wimax.sql;
mysql -u root -p123456 radius < cui.sql;
  • 新建组信息
insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type',':=','Framed-User');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
  • 新建用户信息
insert into radcheck (username,attribute,op,value) values ('test','User-Password',':=','test');
  • 将用户与组相关联
insert into radusergroup (username,groupname) values ('test','user');
  • 添加用户回复信息
insert  into radreply(username,attribute,op,value) values('test','Reply-Message','=','Yes,Good!');
  • 退出mysql后执行:
cp /usr/lib64/freeradius/rlm_sql_mysql-2.2.6.so /usr/lib64/freeradius/rlm_sql_mysql.so
  • 修改sql 模块连接数据库信息:
vim /usr/local/etc/raddb/mods-available/sql

31行改为:driver =“rlm_sql_mysql”
87行改为:dialect =“mysql”
91行改为:server =“localhost”
92行改为:port =3306
93行改为:login =“radius”
97行改为:radius_db =“radius”
245行修改为:read_clients = yes

  • 检查模块目录启用
 vim /usr/local/etc/raddb/radiusd.conf

确保以下内容没有被注释

$INCLUDE mods-enabled/
$INCLUDE sites-enabled/
$INCLUDE sql.conf

  • 开启sql模块的支持
vim /usr/local/etc/raddb/sites-available/default

去掉下面行sql注释,这里的注释是‘-’,找到去掉即可
405行修改为: sql
640行修改为: sql
738行修改为: sql
843行修改为: sql

  • 配置客户端信息
vim /usr/local/etc/raddb/clients.conf

添加

client alladdress {
        ipaddr =0.0.0.0/0
        secret = supperadmin
}
  • 更改配置文件使其与mysql连接
vim /usr/local/etc/raddb/sql.conf

server=”localhost”
login=”root”
password=”mysql的root的密码123456”
radius_db=”radius”
取消readclients = yes 前的注释

  • 测试是否关联成功:
radiusd -X
radtest test test localhost 0 testing123

若出现Access-Accept packet from host 127.0.0.1 port 1812, id=121, length=4,则关联成功(若无法启动有可能端口被占用,需要用kill-9【pid(进程号)】杀掉原来的进程查看进程号 netstat -apn | grep [端口号])
此时已经支持了sql.conf,注释了file,所以就无法通过uesr文件里的用户名进行Freeradius验证登入。若出现问题,则可关闭调试模式,直接键入radius,在运行模式下使用,然后根据错误日志排查问题,在搜索引擎上搜索。

4、安装 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
  1. 解压压缩包,修改文件夹名称
 unzip master.zip
 mv daloradius-master/ daloradius
  1. 下载daloradius-0.9-9.tar.gz,解压后合并到daloradius文件夹中
Wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
unzip master.zip
mv daloradius-master/ daloradius
  1. 进入daloradius目录,导入daloradius数据库
cd /var/www/html/daloradius
mysql -u root -p123456< contrib/db/fr2-mysql-daloradius-and-freeradius.sql 
mysql -u root -p123456 < contrib/db/mysql-daloradius.sql

(若是安装radius)

cd /var/www/daloradius/contrib/db
mysql -uradius -pradpass radius < ./mysql-daloradius.sql
  1. 设置daloradius目录用户组和用户,设置daloradius.conf.php权限
chown -R apache:apache /var/www/daloradius/
chmod 664 /var/www/daloradius/library/daloradius.conf.php
  1. 打开daloradius.conf.php文件,修改CONFIG_DB_USER,CONFIG_DB_PASS,CONFIG_DB_NAME。
vim /var/www/html/daloradius/library/daloradius.conf.php
  1. 重启服务
service radiusd restart 
service mysqld restart
service httpd restart
  1. 安装php-pear
yum install php-pear
pear install DB
  1. 登录web
默认用户名: administrator
密码: radius
http://ip-address/daloradius/login.php

5、安装 OpenPortal

先在在window上安装Filezilla,用于linux和window上的文件传输。
在这里插入图片描述
将虚拟机的ip地址,输到主机中,端口22。
在linux上创建新的目录:mkdir/opt/soft
将OpenPortalServer 传到soft下,压缩包放在 /opt/soft

  1. 安装java开发的相关组件yum -y install java-1.7.0-openjdk*

  2. service mysqld start

  3. unzip OpenPortalServer\ V3.10.0.0\ 2017-07-01.zip

  4. cd OpenPortalServer\ V3.10.0.0\ 2017-07-01

  5. mv OpenPortalServer/ /usr/openporttal

  6. cd /user/openportal

  7. vim webapps/ROOT/WEB-INF/classes/properties/jdbc.properties

  8. mysql -uroot -p+mysql密码 radius </usr/openporttal/OpenPortalServer.sql

  9. cd /usr/openporttal/

  10. 设置权限:chmod 777 *.*

  11. echo "/usr/openportalserver/bin/startup.sh" >> /etc/rc.d/rc.local

  12. echo “source /ect/profile”>>/ect/rc.d/rc.local

  13. 设置权限chmod 777 /usr/openporttal/bin/startup.sh

  14. 设置权限:chmod 777 /usr/openporttal/bin/*.sh

  15. 关闭防火墙:service iptables stop

  16. 在浏览器打开 ip网站
    在这里插入图片描述

总结:配置过程中肯定还会有意想不到的报错,可以根据错误百度解决办法,如果要解锁freeradius的更多功能,可以去阅读官方的文档。关于用户控制和流量监控这部分高级功能网上的资料因为VPN的问题一直没有实现。关于交换机、AP以及防火墙的配置我这个小菜鸡是不能解答了,希望这篇博客可以让大家少踩一些坑,一路向前!

发布了11 篇原创文章 · 获赞 21 · 访问量 650

猜你喜欢

转载自blog.csdn.net/weixin_43510080/article/details/104493199