Skip to content

套餐与认证策略配置

YunyiRADIUS 的策略体系由三层组成:RADIUS 模板 (Profile) → 套餐计划 (Plan) → 接入策略 (Access Policy)

RADIUS 模板 (Profile)
    ↓ 定义网络参数
套餐计划 (Plan)
    ↓ 定义计费规则
接入策略 (Access Policy)
    ↓ 定义产品模式
Portal 认证页面

网络节点统一管理(关联模型)

系统采用网络节点(Node)作为唯一统一管理入口,取代了原先独立的「网络组」概念。一个网络节点集中编排以下关联要素:

要素说明
产品模式 (mode)public(公共访客)/ tenant(租户),在节点上设定
关联设备该节点下的 NAS/BAS 设备(设备关联在节点内维护,保存时为全量替换
套餐组 (plan_groups)节点关联的套餐集合;公共模式下默认使用套餐组中第一个公共套餐作为访客套餐(原 guest_plan_id 字段已移除)
用户组 (user_groups)节点下的用户分组;用户未分组时归入节点默认用户组(默认组不可删除)
接入策略 (default_policy_id)节点级默认认证策略

公共模式与租户模式不再是两个割裂的体系,而是同一网络节点上的两种 mode 配置。设备、套餐、用户、策略都通过节点统一编排,避免了原先「网络组」与「节点」概念并存导致的关联混乱。

接入策略的生效优先级(设备级 → 节点级 → 系统级)详见下文「三、接入策略」。


一、RADIUS 模板 (Profile)

RADIUS 模板是网络策略参数的集合,定义了用户接入时的网络限制,是所有套餐和用户的基础配置。

模板参数详解

参数类型说明默认值示例
模板名称string标识名称基础10M模板
上行速率 (Kbps)int用户上传带宽限制1024010240 (10Mbps)
下行速率 (Kbps)int用户下载带宽限制2048020480 (20Mbps)
在线设备数int并发在线设备数,0=无限制35
地址池stringIP 地址分配池名称pool-guest
DNS 服务器string下发给用户的 DNS114.114.114.114
VLAN 绑定boolean是否强制 VLAN 绑定true
VLAN ID1int外层 VLAN0100
VLAN ID2int内层 VLAN (QinQ)0200
MAC 绑定boolean是否强制 MAC 绑定true
IPv6 前缀池stringIPv6 地址池pool-v6
域 (Domain)string域名后缀hotel.com
自定义属性string扩展 RADIUS 属性见下文

自定义 RADIUS 属性

在「自定义属性」字段中可以添加额外的 RADIUS 响应属性,格式:

Vendor-Specific = "2011;WISPr-Bandwidth-Max-Up=10240000"
Vendor-Specific = "2011;WISPr-Bandwidth-Max-Down=20480000"
Cisco-AVPair = "ip:traffic-class=in gold"
Mikrotik-Rate-Limit = "10M/20M"

每行一个属性,格式为 属性名 = 值Vendor-Specific = "厂商代码;子属性名=值"

模板的带宽参数如何传递到设备

Profile: UpRate=10240, DownRate=20480 (Kbps)

认证阶段 enhancer 转换

华为设备:   Huawei-Input-Average-Rate  = 10240 × 1024 = 10,485,760 bps
           Huawei-Output-Average-Rate = 20480 × 1024 = 20,971,520 bps
H3C设备:    H3C-Input-Average-Rate     (同上)
锐捷设备:   Ruijie-Input-Rate          (同上)
标准设备:   Filter-Id = "profile_10M"  (通过 Filter-Id 引用)

模板与厂商的关系

模板参数是厂商无关的,系统根据 NAS 设备的 vendor_code 自动转换为厂商私有 VSA:

模板参数华为 VSAH3C VSA锐捷 VSA标准
上行速率HW-Input-Average-RateH3C-Input-Average-RateRuijie-Input-RateFilter-Id
下行速率HW-Output-Average-RateH3C-Output-Average-RateRuijie-Output-RateFilter-Id
VLANNAS-Port-IdNAS-Port-IdNAS-Port-IdNAS-Port-Id
DNSHW-DNS-Server标准属性标准属性标准属性

二、套餐计划 (Plan)

套餐计划是面向用户的产品化计费配置,将 RADIUS 模板包装为可销售的商品。

套餐类型

类型计费方式示例适用场景
时长包按有效期7天/30天/365天酒店、公寓
流量包按流量10GB/50GB/100GB校园网、公共WiFi
周期包按账单周期月付/季付/年付运营商宽带
免费体验赠送24小时试用营销获客

套餐参数

参数说明示例
套餐名称产品名称畅享30天
套餐描述营销文案30天不限流量,尽情畅享高速网络
关联模板RADIUS Profile基础10M模板(选择关联)
是否公共套餐在 Portal 页面展示
是否允许自动续费到期自动扣费

定价方案

一个套餐可以有多个定价,例如:

有效期 (天)价格 (元)原价 (元)流量上限 (GB)首月优惠
3030400 (不限)
90801200 (不限)
3652804000 (不限)200

定价参数说明

参数说明
有效期 (天)套餐购买后的有效天数
价格 (元)实际售价
原价 (元)划线价(营销展示用)
流量上限 (GB)0 = 无限流量
首月优惠首次购买优惠价
自动续费到期是否自动从余额扣费

公共套餐 vs 私有套餐

特性公共套餐 (is_public=true)私有套餐 (is_public=false)
Portal 可见✅ 在用户门户展示❌ 仅管理员分配
用户自助购买✅ 在线支付
管理员分配
适用模式public / tenanttenant only

套餐定价规则

用户余额 ≥ 套餐价格 → 购买成功 → 激活套餐 → 开始上网
用户余额 < 套餐价格 → 提示余额不足 → 引导充值

三、接入策略 (Access Policy)

接入策略定义了认证方式Portal 行为,是认证流程的"总开关"。

接入策略

策略参数全解

参数说明可选值默认
策略名称标识string
产品模式认证模式tenant / publicpublic
归属节点策略绑定的网络节点(节点的 mode 决定 public/tenant)下拉选择系统默认
访客套餐公共模式默认套餐。新版由节点套餐组中第一个 public 套餐自动推断,通常无需单独设置选择公共 Plan
会话时长 (分钟)单次会话最大时长,0=不限int0
每日重认证每天需重新短信验证booleanfalse
Portal 模板自定义认证页面选择模板全局默认
短信签名策略级短信签名string全局配置
短信模板代码策略级短信模板string全局配置
备注说明文字string

产品模式对比

特性tenant (租户模式)public (公共模式)
认证方式用户名+密码手机号+短信验证码
用户体系注册账号 → 购买套餐 → 上网输入手机号 → 验证码 → 上网
套餐购买Portal 页自助选购管理员预配置访客套餐
在线支付✅ 支持支付宝❌ 免费或管理员后台充值
适用场景酒店长住、公寓、校园酒店WiFi、商场、餐厅
Portal 流程注册 → 选套餐 → 支付 → 上网手机号 → 验证码 → 上网

策略生效范围(优先级从高到低)

1. 设备级 (NAS/BAS 的 policy_id)
   ↓ 覆盖
2. 节点级 (NetNode 的 default_policy_id)
   ↓ 覆盖
3. 系统级 (node_id = 0 的全局策略)

优先级逻辑 (resolveEffectivePolicy):

go
if 设备有 policy_id → 使用该策略
else if 节点有 default_policy_id → 使用该策略
else → 使用系统默认策略 (node_id=0)

策略配置示例

酒店公共 Wi-Fi

yaml
策略名称: "酒店公共WiFi"
产品模式: public
访客套餐: "免费4小时体验"
会话时长: 240 (4小时)
每日重认证: true (每天需重新验证)
Portal模板: "酒店品牌模板"
短信签名: "XX酒店"

企业办公网络

yaml
策略名称: "企业办公认证"
产品模式: tenant
归属节点: node-office
会话时长: 0 (不限时)
每日重认证: false
Portal模板: "企业办公模板"
接入策略: 绑定 LDAP 二次认证

校园网计费

yaml
策略名称: "校园网认证"
产品模式: tenant
访客套餐: — (无)
会话时长: 0
每日重认证: false
Portal模板: "校园网模板"
支持在线购买套餐 (自助选购30天/90天/365天)

四、参数关联关系图

网络节点 (Node) ── mode: public | tenant ── 唯一统一管理入口
 ├─ devices[] ──────────→ NAS/BAS 设备(节点内全量关联)
 ├─ plan_groups[] ──────→ 套餐组
 │     └─ 公共模式取第一个 public 套餐(取代原 guest_plan_id)
 ├─ user_groups[] ─────→ 用户组(无组 → 默认用户组)
 └─ default_policy_id ─→ 接入策略 (AccessPolicy)


                       RadiusPlan ←──profile_id── RadiusProfile
                            │                          │
                            │ pricings[]               │ up_rate / down_rate
                            ▼                          ▼
                       定价方案 (30天¥30)            带宽参数 (10M/20M)


                       用户购买 → 余额扣减 → 激活套餐 → 上网

五、配置检查清单

部署前逐项核对:

  • [ ] RADIUS 模板已创建(带宽、设备数、VLAN)
  • [ ] 套餐计划已创建(名称、定价、有效期)
  • [ ] 接入策略已创建(模式、套餐绑定、Portal 模板)
  • [ ] 策略已关联到正确的节点或 NAS 设备
  • [ ] SMS 网关已配置(公共模式必须)
  • [ ] Portal 模板已设置(品牌 Logo、背景、色调)
  • [ ] 测试用户已创建并验证认证流程
  • [ ] 支付宝配置已完成(如需在线支付)

YunyiStudio 版权所有