安装部署
获取安装包
从 Gitee Releases 下载最新版本:
提供两种部署包:
| 部署方式 | 文件名 | 适用场景 |
|---|---|---|
| Docker 一键部署 | yunyiradius-docker.tar.gz | 生产环境(推荐) |
| 二进制部署 | yunyiradius-binary.tar.gz | 物理机/虚拟机 |
环境要求
| 组件 | 要求 | 是否必须 |
|---|---|---|
| Linux | CentOS 7+ / Ubuntu 18.04+ / Debian 10+ | ✅ |
| PostgreSQL | 14+ | ✅ 生产环境 |
| Redis | 7+ | 推荐(短信验证码分布式存储) |
| InfluxDB | 2.7+ | 可选(监控数据) |
| Nginx | 1.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: 20833. 安装并启动
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 1812 | RADIUS 认证端口(NAS 设备对接用) |
| UDP 1813 | RADIUS 计费端口 |
| TCP 2083 | RadSec (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-Accept 或 Access-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交流与支持
- 💬 技术交流 QQ 群:1038824705 点击加入
- 📧 商务合作邮箱:hfyunyi@foxmail.com