Skip to content

安装部署

获取安装包

从 Gitee Releases 下载最新版本:

https://gitee.com/yunyistudio/Yunyi-RADIUS/releases

提供两种部署包:

部署方式文件名适用场景
Docker 一键部署yunyiradius-docker.tar.gz生产环境(推荐)
二进制部署yunyiradius-binary.tar.gz物理机/虚拟机

环境要求

组件要求是否必须
LinuxCentOS 7+ / Ubuntu 18.04+ / Debian 10+
PostgreSQL14+✅ 生产环境
Redis7+推荐(短信验证码分布式存储)
InfluxDB2.7+可选(监控数据)
Nginx1.18+推荐(反向代理)

开发/小规模试用可使用内置 SQLite,无需 PostgreSQL。


Docker 一键部署(推荐)

1. 解压

bash
tar xzf yunyiradius-docker.tar.gz
cd docker/

2. 修改配置

bash
vim yunyiradius.yml         # 数据库密码、Web 密钥等
vim docker-compose.yml      # 服务端口、数据目录

3. 安装并启动

bash
chmod +x install.sh
./install.sh

服务启动后自动完成数据库初始化、表结构迁移和默认配置创建。


二进制部署

1. 解压

bash
tar xzf yunyiradius-binary.tar.gz
cd binary/

2. 修改配置

bash
vim yunyiradius.yml

关键配置项:

yaml
web:
  host: 0.0.0.0
  port: 1816
  secret: "替换为随机生成的强密钥(至少32位)"

database:
  type: postgres            # 生产环境;开发可选 sqlite
  host: 127.0.0.1
  port: 5432
  user: yunyiradius
  password: "数据库密码"
  name: yunyiradius

redis:
  enabled: true
  addr: 127.0.0.1:6379

radiusd:
  enabled: true
  host: 0.0.0.0
  auth_port: 1812
  acct_port: 1813
  radsec_port: 2083

3. 安装并启动

bash
chmod +x install.sh
./install.sh

二进制部署会自动创建 systemd 服务(yunyiradius.service),使用以下命令管理:

bash
systemctl start yunyiradius      # 启动
systemctl stop yunyiradius       # 停止
systemctl restart yunyiradius    # 重启
systemctl status yunyiradius     # 查看状态
journalctl -u yunyiradius -f     # 查看日志

默认账号

首次启动时系统自动生成随机管理员密码,通过日志获取:

bash
# Docker 部署
docker compose logs app | grep generated_password

# 二进制部署
journalctl -u yunyiradius | grep generated_password

输出示例:

created bootstrap super admin 'admin' with a random password
  username: admin
  generated_password: xxxxxxxxxxxxxxxx

⚠️ 首次登录后务必修改密码! 管理后台 → 右上角头像 → 账户设置。


访问地址

部署完成后通过以下地址访问:

地址说明
http://服务器IP:1816/admin管理后台
http://服务器IP:1816/user-portal用户自助门户
UDP 1812RADIUS 认证端口(NAS 设备对接用)
UDP 1813RADIUS 计费端口
TCP 2083RadSec (RADIUS over TLS)

Nginx 反向代理(推荐)

nginx
server {
    listen 80;
    server_name radius.yourdomain.com;

    client_max_body_size 50m;

    location / {
        proxy_pass http://127.0.0.1:1816;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

配置 HTTPS 后,Cookie Secure 标志会自动启用。


验证 RADIUS 服务

使用 radtest 命令验证 RADIUS 认证是否正常:

bash
# radtest <用户名> <密码> <服务器IP> <端口> <NAS密钥>
radtest testuser testpass 127.0.0.1 0 testing123

预期响应:Access-AcceptAccess-Reject


PostgreSQL 数据库准备(生产环境)

sql
CREATE USER yunyiradius WITH PASSWORD 'your_strong_password';
CREATE DATABASE yunyiradius OWNER yunyiradius;
GRANT ALL PRIVILEGES ON DATABASE yunyiradius TO yunyiradius;

升级指南

Docker 部署

bash
# 1. 停止服务
docker compose down

# 2. 备份数据和配置
cp -r data/ data_backup_$(date +%Y%m%d)/
cp yunyiradius.yml yunyiradius.yml.bak

# 3. 解压新版本
tar xzf yunyiradius-docker-new.tar.gz
cp docker/yunyiradius.yml .  # 恢复原配置

# 4. 启动
docker compose up -d

二进制部署

bash
# 1. 停止服务
systemctl stop yunyiradius

# 2. 备份
cp /opt/yunyiradius/yunyiradius /opt/yunyiradius/yunyiradius.bak
cp /opt/yunyiradius/yunyiradius.yml /opt/yunyiradius/yunyiradius.yml.bak

# 3. 替换二进制
tar xzf yunyiradius-binary-new.tar.gz
cp binary/yunyiradius /opt/yunyiradius/

# 4. 启动
systemctl start yunyiradius

交流与支持

YunyiStudio 版权所有