secubox-openwrt/package/secubox/luci-app-traffic-shaper/README.zh.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
Add complete French (fr) and Chinese (zh) translations for all documentation:

- Root files: README, CHANGELOG, SECURITY, BETA-RELEASE
- docs/: All 16 core documentation files
- DOCS/: All 19 deep-dive documents including embedded/ and archive/
- package/secubox/: All 123+ package READMEs
- Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/

Total: 346 translation files created

Each file includes language switcher links for easy navigation between
English, French, and Chinese versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 10:00:18 +01:00

8.0 KiB
Raw Blame History

Traffic Shaper - 高级 QoS 控制

English | Francais | 中文

版本: 0.4.0 最后更新: 2025-12-28 状态: 活跃

用于高级流量整形和服务质量QoS管理的 LuCI 应用程序,使用 Linux Traffic Control (TC) 和 CAKE qdisc。

功能

  • 流量类别管理创建和管理带宽分配类别具有保证rate和最大ceil限制
  • 基于优先级的调度8 级优先级系统,用于精细的流量优先级
  • 分类规则:灵活的规则系统,按以下方式分类流量:
    • 端口号(源/目标)
    • IP 地址(源/目标)
    • DSCP 标记
    • 协议类型
  • 实时统计:监控每个类别的数据包计数、字节计数和丢弃统计
  • 快速预设:一键应用优化配置:
    • 游戏和低延迟
    • 视频流
    • 居家办公
    • 均衡(默认)
  • 可视化仪表板:带优先级颜色编码的流量流程图
  • 多接口支持:在 WAN、LAN 或任何网络接口上配置 QoS

安装

opkg update
opkg install luci-app-traffic-shaper
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restart

依赖

  • luci-baseLuCI Web 界面框架
  • rpcd:后端通信的 RPC 守护进程
  • tcLinux 流量控制工具
  • kmod-sched-core:内核流量调度模块
  • kmod-sched-cakeCAKE qdisc 内核模块

使用

访问界面

导航到:网络 -> Traffic Shaper

界面提供 5 个主要视图:

  1. 概览:带状态卡片和流量流程可视化的仪表板
  2. 流量类别:带宽类别的 CRUD 界面
  3. 分类规则:流量匹配规则的 CRUD 界面
  4. 统计:所有流量类别的实时统计
  5. 预设:快速应用优化配置

创建流量类别

  1. 转到 网络 -> Traffic Shaper -> 流量类别
  2. 点击 添加 创建新类别
  3. 配置:
    • 名称:描述性名称(例如"视频流"
    • 优先级1最高到 8最低
    • 保证速率:最小带宽(例如"5mbit"
    • 最大速率Ceil:允许的最大带宽(例如"50mbit"
    • 接口网络接口wan、lan 等)
    • 启用:激活类别
  4. 点击 保存并应用

优先级指南

  • 优先级 1-2关键流量VoIP、游戏、实时应用
  • 优先级 3-4重要流量视频流、VPN
  • 优先级 5-6:正常流量(网页浏览、电子邮件)
  • 优先级 7-8:批量流量(下载、备份)

创建分类规则

  1. 转到 网络 -> Traffic Shaper -> 分类规则
  2. 点击 添加 创建新规则
  3. 配置:
    • 流量类别:选择目标类别
    • 匹配类型端口、IP、DSCP 或协议
    • 匹配值:要匹配的值
    • 启用:激活规则
  4. 点击 保存并应用

规则示例

匹配类型 匹配值 描述
目标端口 80,443 HTTP/HTTPS 网络流量
目标端口 22 SSH 连接
目标端口 53 DNS 查询
源 IP 192.168.1.0/24 来自 LAN 子网的所有流量
目标 IP 8.8.8.8 到 Google DNS 的流量
DSCP EF 加速转发VoIP
协议 udp 所有 UDP 流量

使用预设

  1. 转到 网络 -> Traffic Shaper -> 预设
  2. 查看可用的预设及其配置
  3. 点击所需配置文件上的 应用此预设
  4. 确认操作(这将替换现有配置)

配置

UCI 配置

配置存储在 /etc/config/traffic-shaper

config class 'gaming'
	option name 'Gaming Traffic'
	option priority '1'
	option rate '10mbit'
	option ceil '50mbit'
	option interface 'wan'
	option enabled '1'

config rule 'gaming_ports'
	option class 'gaming'
	option match_type 'dport'
	option match_value '3074,27015,25565'
	option enabled '1'

流量类别选项

  • name:类别的显示名称
  • priority优先级1-8
  • rate:保证的最小带宽(格式:<数字>[kmg]bit
  • ceil:允许的最大带宽(格式:<数字>[kmg]bit
  • interface:网络接口名称
  • enabled:启用/禁用类别0/1

分类规则选项

  • class:流量类别 IDUCI section 名称)
  • match_type:匹配类型(dportsportdstsrcdscpprotocol
  • match_value:要匹配的值
  • enabled:启用/禁用规则0/1

后端 API

RPCD 后端(luci.traffic-shaper)提供以下方法:

状态方法

  • status():获取当前 QoS 系统状态
  • list_classes():列出所有流量类别
  • list_rules():列出所有分类规则
  • get_stats():从 TC 获取每个类别的统计

管理方法

  • add_class(name, priority, rate, ceil, interface):创建新类别
  • update_class(id, name, priority, rate, ceil, interface, enabled):更新类别
  • delete_class(id):删除类别
  • add_rule(class, match_type, match_value):创建分类规则
  • delete_rule(id):删除规则

预设方法

  • list_presets():获取可用预设
  • apply_preset(preset_id):应用预设配置

技术细节

流量控制实现

该模块使用 Linux Traffic Control (TC),具有以下层次结构:

  1. 根 qdiscCAKECommon Applications Kept Enhanced
  2. 类别层次结构HTBHierarchical Token Bucket用于带宽分配
  3. 过滤器:基于规则的 U32 过滤器用于流量分类

CAKE 特性

  • 智能队列:自动管理队列大小
  • 流隔离:防止单个流垄断带宽
  • 延迟降低:最小化缓冲膨胀
  • 每主机公平:确保公平的带宽分配

统计收集

使用 tc -s class show 收集统计并解析以提供:

  • 每个类别的数据包计数
  • 每个类别的字节计数
  • 丢弃计数(由于速率限制而丢弃的数据包)

数据在统计视图中每 5 秒刷新一次。

示例

示例 1居家办公设置

类别:

  • 视频通话:优先级 18mbit 保证50mbit 最大
  • VPN 流量:优先级 210mbit 保证60mbit 最大
  • 网页浏览:优先级 45mbit 保证40mbit 最大

规则:

  • Zoom 端口8801-8810-> 视频通话
  • 带 VPN IP 范围的端口 443 -> VPN 流量
  • 端口 80,443 -> 网页浏览

示例 2游戏 + 流媒体

类别:

  • 游戏:优先级 15mbit 保证40mbit 最大
  • 流媒体:优先级 315mbit 保证70mbit 最大
  • 下载:优先级 72mbit 保证30mbit 最大

规则:

  • 游戏端口3074、27015 等)-> 游戏
  • 到 Netflix/YouTube IP 的端口 443 -> 流媒体
  • 端口 80 -> 下载

示例 3多用户家庭

使用 均衡 预设或创建自定义类别:

  • 高优先级10mbit -> 60mbit优先级 2
  • 正常15mbit -> 80mbit优先级 5
  • 批量5mbit -> 50mbit优先级 7

故障排除

流量整形不工作

  1. 验证 CAKE 模块已加载:

    lsmod | grep sch_cake
    
  2. 检查 TC 配置:

    tc qdisc show
    tc class show dev wan
    tc filter show dev wan
    
  3. 验证接口名称:

    ip link show
    

类别不显示

  1. 重启 RPCD

    /etc/init.d/rpcd restart
    
  2. 检查 UCI 配置:

    uci show traffic-shaper
    
  3. 验证类别已启用:

    uci get traffic-shaper.<class_id>.enabled
    

统计不更新

  1. 检查 TC 统计:

    tc -s class show dev wan
    
  2. 验证轮询是否活跃(检查浏览器控制台)

  3. 确保类别已启用且接口正确

性能注意事项

  • CPU 使用TC 处理在现代路由器上使用最小 CPU
  • 内存:每个类别使用约 1-2KB 内核内存
  • 延迟CAKE 显著降低交互式流量的延迟
  • 吞吐量:对总吞吐量影响最小(<1% 开销)

许可证

Apache License 2.0

维护者

SecuBox Project secubox@example.com

另请参阅