0

0

Linux网络带宽如何限速_tc流量控制教程【教程】

舞夢輝影

舞夢輝影

发布时间:2025-12-20 17:45:08

|

543人浏览过

|

来源于php中文网

原创

linux下限速主要依靠tc工具,工作在内核出口方向,通过qdisc、class、filter三层结构实现;仅能限制本机发出流量,无法直接限制入向带宽。

linux网络带宽如何限速_tc流量控制教程【教程】

Linux 下限速主要靠 tc(Traffic Control) 工具实现,它工作在内核网络的出口方向(即发包侧),通过队列规则(qdisc)、流量分类(class)和过滤匹配(filter)三层结构完成精细控制。限速本身不难,但需理解“控发不控收”的基本前提——tc 只能限制本机**发出**的流量,无法直接限制进入本机的下行带宽(入向需配合 ingress + police 或在上游设备配置)。

基础限速:给整张网卡设固定带宽

适合快速压测或全局限流场景,用最简的 TBF(Token Bucket Filter)队列:

  • 限 eth0 出口为 500kbit/s
    tc qdisc add dev eth0 root tbf rate 500kbit burst 15kb latency 50ms
  • 查看效果tc -s qdisc ls dev eth0(带 -s 可看实时统计)
  • 清除规则tc qdisc del dev eth0 root

TBF 简单可靠,适合单一流量整形;burst 和 latency 参数影响突发容忍度与排队延迟,调小 burst 可让限速更“硬”,但可能增加丢包。

按目标 IP 或网段限速

使用 HTB(Hierarchical Token Bucket)支持分层带宽分配,再配合 u32 过滤器定向匹配:

  • 先建根队列:
    tc qdisc add dev eth0 root handle 1: htb default 10
  • 设总带宽类(如 10Mbit):
    tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbit
  • 为特定 IP(如 192.168.1.100)单独建子类:
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit ceil 3mbit
  • 绑定流量到该类:
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.100 flowid 1:10

注意:ceil 表示该类最大可用带宽(空闲时可突破 rate),default 10 指未匹配流量默认归入 1:10 类——若不想影响其他流量,建议设为一个宽松的兜底类。

免费语音克隆
免费语音克隆

这是一个提供免费语音克隆服务的平台,用户只需上传或录制一段 5 秒以上的清晰语音样本,平台即可生成与用户声音高度一致的 AI 语音克隆。

下载

端口或协议限速(如只限 HTTP 流量)

关键在 u32 匹配条件中指定端口字段,适用于服务级 QoS:

  • 限制所有发往 TCP 80 端口的流量(即本机作为服务器时的响应流量):
    tc filter add dev eth0 protocol ip parent 1:0 prio 2 u32 match ip dport 80 0xffff flowid 1:10
  • 限制本机主动发起的源端口为 7003 的 TCP 流量(如某客户端程序):
    tc filter add dev eth0 protocol ip parent 1:0 prio 3 u32 match ip sport 7003 0xffff flowid 1:20

匹配语法中 0xffff 是掩码,表示精确匹配 16 位端口号;若要匹配 UDP,把 protocol ip 改为 protocol udp 即可。

模拟真实网络环境(延时 + 丢包 + 限速)

netem 模块专为网络模拟设计,常用于测试弱网表现:

  • 同时加 100ms 延迟、5% 丢包、1mbit 带宽限制:
    tc qdisc add dev eth0 root netem delay 100ms loss 5% rate 1mbit
  • 仅添加延迟(不干扰带宽):
    tc qdisc add dev eth0 root netem delay 200ms
  • 替换已有规则(避免重复报错):
    tc qdisc replace dev eth0 root netem ...

netem 必须作为 root qdisc 使用,不能嵌套在 HTB 下;如需组合使用,应将 netem 放在 HTB 子类的 leaf 队列中(需额外配置)。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6607

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

842

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1092

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

2112

2024.03.01

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

443

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

605

2023.08.10

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

870

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

30

2025.12.06

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.5万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号