背景与目标
本文围绕“怎么给网卡限速”展开,整理可直接复用的步骤、原理说明与排查经验。
核心内容
主题 1. 怎么给网卡限速
给网卡限速有很多种方法,取决于你用的系统(Windows / Linux / macOS),以及你想要的粒度(整个网卡限速、某个程序限速、还是某个端口/协议限速)。我帮你梳理一下常见做法:
在 Linux 上(最灵活)
Linux 内核自带的 tc (traffic control) 工具就是专门干这个的:
# 假设网卡是 eth0,把下行限速到 10Mbps
sudo tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms
rate:限速值burst:突发流量缓冲latency:最大延迟
如果要删除规则:
sudo tc qdisc del dev eth0 root
更高级的玩法是配合 iptables + tc,可以给不同 IP、端口分流量,甚至限制某个进程的带宽。
在 Windows 上
- 组策略 (QoS 策略)
- 运行
gpedit.msc→ 计算机配置 → Windows 设置 → 基于策略的 QoS - 可以针对程序或端口限制带宽,不过比较麻烦。
- 运行
- 第三方工具
- NetLimiter:功能很强大,可以直接对每个网卡、应用、IP 限速。
- cFosSpeed:偏向于流量整形和限速。
在 macOS 上
- 自带没有方便的 GUI 工具,可以用
pf防火墙 + dummynet 来限速。
比如:
sudo dnctl pipe 1 config bw 5Mbit/s
sudo pfctl -E
echo "dummynet out proto tcp from any to any pipe 1" | sudo pfctl -f -
这样就把所有 TCP 流量限到 5Mbps。
路由器端限速
如果你是想限制整个设备的带宽,而不是单台电脑上操作:
- 大部分路由器都支持 QoS/带宽控制(如 TP-Link、小米、OpenWrt)。
- 在路由器的管理界面里绑定设备的 MAC 地址/网卡,然后给它分配最大带宽。
你想要的限速是 本机软件级别限速(比如给某个下载软件限速),还是 整个设备网卡限速(不管什么软件都受限),还是 通过路由器给特定设备限速。
这样我可以帮你写一套最合适的命令或工具教程。
Powered by ChatGPT Exporter
实施与验证清单
- 执行前先确认环境、版本和依赖与文中前置条件一致。
- 涉及系统级变更时,先备份关键配置或创建快照。
- 完成操作后按验证步骤确认结果,再执行清理或覆盖动作。