• 返回
  • 最后更新
  • 2020-10-03 21:34:28 +0800 CST

ToughRADIUS 商业版安装与升级指导

本文档阅读对象为相关的系统管理员, 需要具备一定的 linux 系统操作能力, 熟悉使用 linux 下的各种指令.

  • latest 最新开发构建版本, 最新源代码的构建版本, 部署在测试环境或允许迭代的环境
  • va.b.c.d 是稳定版本, 通过 toughradius -v 可以查看当前的版本信息

版本的选择

如果是直接用在生产环境, 建议尽量选择稳定版, 测试环境可以直接选在 Latest 版本, 可以更快了解到最新功能.

如果您实在不确定选择哪个版本, 请通过邮件或微信方式向我们咨询, 联系方式在 “授权许可” 子页面查看 “服务支持信息”

全新安装

  • 安装和配置数据库
  • 安装主程序

数据库安装配置

ToughRADIUS 首选 MySQL 数据库作为数据存储,MySQL8,MySQL5.x版本均可, 生产环境建议采用 MySQL8,获取更好地性能。

对于MySQL的安装运行本章节不再描述,请参考第三方文档完成, Linux 可参考Centos7 下安装 MySQL8

这里主要讲解如何创建 ToughRADIUS 的数据库以及执行初始化。

假如现在要安装 Latest 版本, 请下载以下数据库脚本

MySQL数据库建表SQL toughradius-latest.initdb.sql

创建数据库

create schema if not exists toughradius collate utf8mb4_unicode_ci; 

创建用户,默认用户名密码 toughradius/Green!2020

CREATE USER IF NOT EXISTS 'toughradius'@'localhost' identified by 'Tough!2020'; 
GRANT ALL PRIVILEGES ON toughradius.* TO 'toughradius'@'localhost'; 

// Mariadb 5.x  请使用以下脚本
GRANT ALL ON toughradius.* TO toughradius@'127.0.0.1' IDENTIFIED BY 'Tough!2020' WITH GRANT OPTION;FLUSH PRIVILEGES; 

创建所有数据表, 请使用 MySQL 客户端工具执行 toughradius-latest.initdb.sql

请注意以上操作的顺序。

Linux 下安装

curl https://gstatic.toughstruct.net/enterprise/toughradius-latest?v=202010 -o /tmp/toughradius

chmod +x /tmp/toughradius 

cd /tmp && ./toughradius -install

以上操作自动初始化配置文件, 并创建systemd 服务脚本, 并创建 /usr/local/bin/toughradius 可执行文件

由于 CDN 缓存原因,请修改 url 参数 v=202010xx 来下载最新版本

linux 下快速创建数据库技巧

toughradius -initdb  #可以快速创建数据库以及用户名密码,数据库授权,还有所有数据表和初始化数据, 执行过程需要交互式输入 mysql root 密码

toughradius -rebuild  #可以快速重建数据库,注意,会清空表和所有数据,执行过程需要交互式输入 mysql root 密码

在 windows 下安装

仅支持 x64 , 以 Latest 版本为例

toughradius-latest.exe

toughradius-latest.exe.md5

下载到本地后执行 install,比如下载到 C:\toughradius-latest.exe

C:\> toughradius-latest.exe install 

如果自定义配置文件, 可以设置环境变量来指定位置 GREENRADIUS_CONFIG_FILE 具体为配置文件路径, 比如 c:\etc\toughradius.yaml,

系统统开机会自动启动服务, 或者在命令行输入 net start ToughRADIUS 启动服务

启动服务

c:\> net start ToughRADIUS

停止服务

c:\> net stop ToughRADIUS

升级版本

数据库升级

  • Latest 版本并不保证向前兼容, 也不提供数据库结构变更通知, 除非确认数据库结构一直, 可以直接升级程序
  • 对于稳定版本, 如果升级到某个版本有数据结构的变化, 会同时提供数据库升级脚本 SQL 文件
  • 在数据库升级脚本执行前, 请务必完整备份数据库
  • 执行数据库升级成功后, 即可升级应用程序文件

Linux 下升级

以升级 Latest 版本为例

curl https://gstatic.toughstruct.net/enterprise/toughradius-latest?v=202010 -o /tmp/toughradius

chmod +x /tmp/toughradius

systemctl stop toughradius

cd /tmp && ./toughradius -install

systemctl start toughradius

Linux 下的升级过程其实和安装是一致的

windows 下升级

下载新的程序发布文件覆盖原来的即可

比如直接覆盖 C:\toughradius-latest.exe

请注意升级前备份, 简单拷贝即可

系统配置文件

  • Linux 默认配置文件位置 /etc/toughradius.yaml
  • Windows 配置文件为 C:\etc\toughradius.yaml,也可通过环境变量 GREENRADIUS_CONFIG_FILE 来配置

以下是系统默认配置文件:

system:
  appid: ToughRADIUS
  workdir: /var/toughradius
  syslog_addr: ""
  version: latest
  debug: true
web:
  host: 0.0.0.0
  port: 1816
  debug: true
  jwt_secret: 9b6de5cc-1111-4bf1-0000-0f568ac9da37
database:
  type: mysql8
  host: 127.0.0.1
  port: 3306
  max_conn: 1024
  max_idle: 120
  name: toughradius
  user: toughradius
  passwd: Tough!2020
  debug: true
filemanage:
  root: /var/toughradius
  port: ""
  preview: ""
  log_expire_days: 30
  upload_limit: 88080384
  readonly: true
grpc:
  host: 0.0.0.0
  port: 18169
radiusd:
  host: 0.0.0.0
  auth_port: 1812
  acct_port: 1813
  debug: true
portal:
  host: ""
  web_port: 0
  portal_port: 0
  ac_port: 0
  jwt_secret: ""
  debug: false

配置文件需要注意安全的地方

  • web.jwt_secret 生产环境请不要使用默认配置,避免安全隐患
  • database 配置, 生产环境请修改默认配置
  • radiusd 在公网环境请使用非标准端口

一些保留配置, 这些配置在初期的版本中还未正式启用

  • system.syslog_addr 用户发送远程 syslog
  • database.encyrpt 用户数据库密码加密
  • grpc 用于提供给第三方的接口

安全事项

  • 将本系统部署为 HTTPS 模式加强安全性, 只需要在文件管理界面上传证书与密钥重启服务即可, 文件名默认为 bssweb.tls.crt, bssweb.tls.key
  • MySQL 不要提供外网访问, root密码尽量安全, 不要使用root来作为本系统的数据库用户名
  • 如果部署在公网, 尽量不要使用标准的 RADIUS (1812,1813) 端口
  • 系统登录密码不要过于简单, 可以根据情况开启操作员的 MFA 动态认证, 需要手机端安装谷歌验证器或者FreeOTP

访问系统

安装完成后,即可通过浏览器直接访问系统

浏览器访问 http://ip:1816

默认用户名密码 admin/root

ToughRADIUS 管理控制台