linux如何限制网口速率
linux如何限制网口速率详细介绍
在 Linux 系统中,有多种方式可以限制网口速率,下面为你介绍常用的两种方法。
1. 使用
tc(Traffic Control)工具
tc 是 Linux 内核中用于流量控制的工具,能够对网络接口的入站和出站流量进行速率限制。
操作步骤
- 添加队列规则:为指定的网络接口添加一个根队列规则,这里使用的是 HTB(Hierarchical Token Bucket)队列规则。
bash
tc qdisc dev eth0 root handle : htb default
其中,eth0 是要限制速率的网口名称,你可以根据实际情况进行替换。
- 创建父类:创建一个父类,并为其设置最大带宽。
bash
tc class dev eth0 parent : classid :1 htb rate 10mbit ceil 10mbit
此命令将 eth0 网口的最大带宽设置为 10Mbit/s。
- 创建子类:创建一个子类,继承父类的带宽限制。
bash
tc class dev eth0 parent :1 classid :10 htb rate 10mbit ceil 10mbit
- 添加过滤器:添加一个过滤器,将所有流量导向子类。
bash
tc filter dev eth0 protocol parent : prio u32 match dst .0.0/0 flowid :10
删除规则
若要删除之前设置的规则,可使用以下命令:
bash
tc qdisc del dev eth0 root
2. 使用
wondershaper 工具
wondershaper 是一个基于 tc 的脚本,能更方便地进行流量控制。
操作步骤
- 安装
wondershaper:
bash
wondershaper
- 限制速率:
bash
wondershaper eth0
这里的 eth0 是网口名称,10000 表示速率限制为 10Mbit/s(10000 kbit/s),第一个参数是下行速率,第二个参数是上行速率。
清除限制
bash
wondershaper eth0
912 wondershaper eth0
通过上述两种方法,你可以在 Linux 系统中对网口速率进行限制。使用 tc 工具能够进行更细致的流量控制,而 wondershaper 则提供了更便捷的操作方式。