Freeradius 搭建

官网:https://freeradius.org/

1、官方的安装文档

http://wiki.freeradius.org/guide/Getting%20Started

2、启动Radius

radius -x

3、测试

  • 编辑用户文件(在v3中已将其移至raddb / mods-config / files / authorize),并在文件顶部添加以下文本行
    testing Cleartext-Password := "password"
  • 客户端测试工具
    radtest testing password 127.0.0.1 0 testing123
  • 结果显示:
    如果出现Access-Accept 则代表通过 如果出现Access-Reject 则代表未通过
  • 支持协议
    PAP, CHAP, MS-CHAPv1, MS-CHAPv2, PEAP, EAP-TTLS, EAP-GTC, EAP-MD5.

4、WEB控制台管理安装

  • 首先需要安装Mysql支持,这个直接按照安装Mysql的过程即可
  • 创建Freeradius数据库
    CREATE DATABASE radiusdb;
  • 额外安装两个工具
    yum install -y freeradius-utils freeradius-mysql
  • 导入FreeRadius数据库
    mysql -u root -p radiusdb < /etc/raddb/mods-config/sql/main/mysql/schema.sql
  • 配置FreeRadius使用mysql
    启用sql模块:
    ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/ chgrp -h radiusd /etc/raddb/mods-enabled/sql
    配置mysql数据库连接信息:
    # vim /etc/raddb/mods-available/sql
    主要修改内容:
    sql { (...省略...) driver = "rlm_sql_mysql" dialect = "mysql" # Connection info: # server = "localhost" port = 3306 login = "dbuser" password = "mypass" radius_db = "radiusdb" (...省略...) }
  • 添加客户端连接设置
    编辑/etc/raddb/clients.conf文件,为允许连接的客户端设置相应的共享秘钥
    例一:本地localhost接入(一般用于测试),共享秘钥为demoradiussecret:
    client localhost { ipaddr = 127.0.0.1 proto = * secret = demo_radius_secret } \# IPv6 Client client localhost_ipv6 {
    ipv6addr = ::1 secret = demo_radius_secret }

    例二:允许内网192.168.110网段连接该radius,共享秘钥为demoradiussecret: client my_lan { ipaddr = 192.168.110.0/24 secret = demo_radius_secret require_message_authenticator = no }
    例三:允许所有客户端连接:
    client all_client { ipaddr = 0.0.0.0/0 secret = demo_radius_secret require_message_authenticator = no }
  • 启动服务
    \# systemctl start radiusd.service \# systemctl status radiusd.service
  • 安装WEB
    daloRADIUS的官网:http://www.daloradius.com/
  • 搭建LNMP环境
  • 导入使用的数据库
    mysql -u root -p radiusdb < contrib/db/mysql-daloradius.sql
  • 配置WEB数据库连接
    vim vi /opt/www/daloradius/library/daloradius.conf.php
  • 最后使用LNMP的环境进行访问即可

5、下线用户

echo "User-Name=testuser" > dm.txt cat dm.txt |radclient -x 192.168.4.1:3799 disconnect ""

6、压力测试

echo "User-Name = test,User-Password = test " | ./radperf -c 10000 -p 100 192.168.4.100:1812 auth test@test
-p 并发数
-c 请求数

7、FreeRadius的处理能力和CPU及配置有关系

radius的配置文件:maxrequestnum = xxxx
xxx是数量,该数量通过计算得来,数据包一般是256个,这个数量的计算是 同时请求的客户端*256 得出的数值上下浮动
如果有其它程序占用CPU,可能会减少Radius的使用cpu的占比

借鉴文章:http://www.racksam.com/2017/03/02/centos7-install-freeradius/ 802.1x-win7配置:https://wenku.baidu.com/view/e31fb43d80eb6294dd886cf9.html

郝先生

继续阅读此作者的更多文章