概述

之前说了Freeradius与AD结合进行802.1x认证方面的内容。本例则在之前实验配置的基础之上,将Freeradius与mysql、daloradius结合,实现可以通过web方式管理radius服务器,并通过数据库进行用户认证等信息的存储。本例只适合centos7环境下的freeradius3.0.x版本。

环境准备

  1. FreeRadius服务器,之前已经配置好的。
  2. 组件apache、mariadb(mysql)、daloradius等。

安装配置

  1. 安装必要组件

    yum install freeradius-mysql freeadius-client freeradius-devel php php-gd php-pear-DB php-mysql httpd mariadb
    

【在新版的daloradius中需要安装pear-DB后,前端web才能够与后台数据库连同,否则会打不开页面】

  • 开启服务

    Systemctl enable httpd
    

    Systemctl enable mariadb
    

    Systemctl start httpd
    

    Systemctl start mariadb
    
  1. 配置MySQL

  • 初始化配置及建立radius数据库和用户

mysql_secure_installation #mysql初始安全配置
					

mysql -uroot p

   CREATE DATABASE radius;

   GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radpass";   exit
  • 导入radius数据库架构

    mysql -uroot p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql
    
  1. 配置radius服务器支持mysql

  • 加入符号连接开启功能

    cd /etc/raddb/mods-enabled/
    

    ln s ../mods-available/sql ./   #相当于在Freeradius开启sql功能模块
    
  • 确认 /etc/raddb/radiusd.conf中以下项目已经包含相应目录配置

    modules 
    							

    $INCLUDE mods-enabled/
    

    }
    

    Policy {
    

    $INCLUDE site-enabled/
    

    }
    
  • 在/etc/raddb/sites-available/default中的authroize{}accounting{}session{}post-auth{}Post-Auth-Type REJECT{}中开启sql如下,
  • 在/etc/raddb/sites-available/inner-tunnel中的 authroize{}session{}post-auth{}、中开启sql 如下:

    Authorize {
    

    sql#如有注释则去掉,如有-,也去掉
    							

    }
    
  • 编辑/etc/raddb/mods-avaible/sql,更改数据库连接参数

    sql 
    							

    driver = "rlm_sql_mysql"
    

    server = "localhost"
    

    port =  3306
    

    login = "radius"
    

    password = "radpass"
    

    radius_db = "radius"
    

    }
    

    read_client = yes#允许radius读取数据库里面的nas信息
    							

    client_table = "nas"#指定存储nas信息的表
    							
  1. 安装配置daloradius

  • 下载并解压daloradius

    Wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.g