• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ToughRADIUS: ToughRADIUS is a radius server

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

ToughRADIUS

开源软件地址:

https://gitee.com/jamiesun/ToughRADIUS

开源软件介绍:

关于 TOUGHRADIUS

             )                        )   (                (       (              (  *   )   ( /(            (        ( /(   )\ )     (       )\ )    )\ )           )\ )              (` )  /(   )\())      (    )\ )     )\()) (()/(     )\     (()/(   (()/(      (   (()/(     (   (    )\ ) ( )(_)) ((_)\       )\  (()/(    ((_)\   /(_)) ((((_)(    /(_))   /(_))     )\   /(_))    )\  )\  (()/((_(_())    ((_)   _ ((_)  /(_))_   _((_) (_))    )\ _ )\  (_))_   (_))    _ ((_) (_))     ((_)((_)  /(_))|_   _|   / _ \  | | | | (_)) __| | || | | _ \   (_)_\(_)  |   \  |_ _|  | | | | / __|    \ \ / /  (_) /  | |    | (_) | | |_| |   | (_ | | __ | |   /    / _ \    | |) |  | |   | |_| | \__ \     \ V /    / _ \  |_|     \___/   \___/     \___| |_||_| |_|_\   /_/ \_\   |___/  |___|   \___/  |___/      \_/     \___/                                          /)    _   __   __   _    _/_  ___       _  (/   _  _/_  __      _ _/_      _  ______    (_(/ (_(/ (_(/  .  (__ (_) (_(_  (_/_/ )_/_)_(__ / (_(_(_(__(__  .  (__(_) // (_                                    .-/                                   (_/

TOUGHRADIUS 是一个开源的Radius服务软件,支持标准RADIUS协议(RFC 2865, RFC 2866),提供完整的AAA实现。支持灵活的策略管理,支持各种主流接入设备并轻松扩展,具备丰富的计费策略支持。

至 6.x 版本开始,基于Java语言重新开发。提供了一个高性能的 RADIUS 处理引擎,同时提供了一个简洁易用的 WEB管理界面,可以轻松上手。

TOUGHRADIUS 的功能类似于 freeRADIUS,但它使用起来更简单,更易于扩展开发。

链接

快速开始

系统环境依赖

  • 操作系统:支持跨平台部署 (Linux,Windows,MacOS等)
  • java 版本: 1.8或更高
  • 数据库服务器:MySQL/MariaDB

数据库初始化

数据库的安装配置请自行完成,首先确保你的数据库服务器已经运行

运行创建数据库脚本以及创建专用用户

create database toughradius DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;GRANT ALL ON toughradius.* TO raduser@'127.0.0.1' IDENTIFIED BY 'radpwd' WITH GRANT OPTION;FLUSH PRIVILEGES;

创建数据库表

create table if not exists tr_bras(    id bigint auto_increment primary key,    identifier varchar(128) null,    name varchar(64) not null,    ipaddr varchar(32) null,    vendor_id varchar(32) not null,    portal_vendor varchar(32) not null,    secret varchar(64) not null,    coa_port int not null,    ac_port int not null,    auth_limit int null,    acct_limit int null,    status enum('enabled', 'disabled') null,    remark varchar(512) null,    create_time datetime not null);create index ix_tr_bras_identifier on tr_bras (identifier);create index ix_tr_bras_ipaddr on tr_bras (ipaddr);create table if not exists tr_config(    id bigint auto_increment primary key,    type varchar(32) not null,    name varchar(128) not null,    value varchar(255) null,    remark varchar(255) null);create table if not exists tr_subscribe(    id bigint auto_increment primary key,    node_id bigint default 0 not null,    subscriber varchar(32) null,    realname varchar(32) null,    password varchar(128) not null,    domain varchar(128) null,    addr_pool varchar(128) null,    policy varchar(512) null,    is_online int null,    active_num int null,    bind_mac tinyint(1) null,    bind_vlan tinyint(1) null,    ip_addr varchar(32) null,    mac_addr varchar(32) null,    in_vlan int null,    out_vlan int null,    up_rate bigint null,    down_rate bigint null,    up_peak_rate bigint null,    down_peak_rate bigint null,    up_rate_code varchar(32) null,    down_rate_code varchar(32) null,    status enum('enabled', 'disabled') null,    remark varchar(512) null,    begin_time datetime not null,    expire_time datetime not null,    create_time datetime not null,    update_time datetime null);create index ix_tr_subscribe_create_time    on tr_subscribe (create_time);create index ix_tr_subscribe_expire_time    on tr_subscribe (expire_time);create index ix_tr_subscribe_status    on tr_subscribe (status);create index ix_tr_subscribe_subscriber    on tr_subscribe (subscriber);create index ix_tr_subscribe_update_time    on tr_subscribe (update_time);

插入测试数据

INSERT INTO toughradius.tr_bras(identifier, name, ipaddr, vendor_id, portal_vendor,secret, coa_port,ac_port, auth_limit, acct_limit, STATUS, remark, create_time)VALUES ('radius-tester', 'radius-tester', '127.0.0.1', '14988',"cmccv1", 'secret', 3799,2000, 1000, 1000, NULL, '0', '2019-03-01 14:07:46');INSERT INTO toughradius.tr_subscribe(node_id,  subscriber, realname, password, domain, addr_pool, policy, is_online, active_num, bind_mac, bind_vlan, ip_addr, mac_addr, in_vlan, out_vlan, up_rate, down_rate, up_peak_rate,  down_peak_rate, up_rate_code,down_rate_code, status, remark, begin_time, expire_time, create_time, update_time)VALUES (0, 'test01', '', '888888',  null, null, null, null, 10, 0, 0, '', '', 0, 0, 10.000, 10.000, 100.000, 100.000,        '10', '10', 'enabled', '', '2019-03-01 14:13:02', '2019-03-01 14:13:00', '2019-03-01 14:12:59', '2019-03-01 14:12:56');

运行主程序

java -jar -Xms256M -Xmx1024M /opt/toughradius-latest.jar  --spring.profiles.active=prod

注意 jar 文件(toughradius-latest.jar)的路径

Linux systemd 服务配置

/opt/application-prod.properties

# web访问端口server.port = 1816# 如果启用 https, 取消以下注释即可#server.security.require-ssl=true#server.ssl.key-store-type=PKCS12#server.ssl.key-store=classpath:toughradius.p12#server.ssl.key-store-password=toughstruct#server.ssl.key-alias=toughradius# 日志配置,可选 logback-prod.xml 或 logback-dev.xml, 日志目录为 /var/toughradius/logslogging.config=classpath:logback-prod.xml# 数据库配置spring.datasource.url=${RADIUS_DBURL:jdbc:mysql://127.0.0.1:3306/toughradius?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true}spring.datasource.username=${RADIUS_DBUSER:raduser}spring.datasource.password=${RADIUS_DBPWD:radpwd}spring.datasource.max-active=${RADIUS_DBPOOL:120}spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

/usr/lib/systemd/system/toughradius.service

[Unit]Description=toughradiusAfter=syslog.target[Service]WorkingDirectory=/optUser=rootLimitNOFILE=65535LimitNPROC=65535Type=simpleExecStart=/usr/bin/java -server -jar -Xms256M -Xmx1024M /opt/toughradius-latest.jar  --spring.profiles.active=prodSuccessExitStatus=143[Install]WantedBy=multi-user.target

如果了解 spring systemd和配置原理,可以根据自己的实际需要进行修改

通过以下指令启动服务

systemctl enable toughradiussystemctl start toughradius

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap