Linux如何限制网卡的速率和带宽

使用tc命令结合htb可限制Linux网卡出站带宽,如将eth0上传限速至1Mbps;通过ifb设备间接限制入站流量,实现下载限速;也可用wondershaper简化操作。

linux如何限制网卡的速率和带宽

在Linux系统中限制网卡的速率和带宽,通常使用(Traffic Control)命令结合(Hierarchical Token Bucket)队列规则来实现。这种方法可以精细控制网络接口的上传和下载速度,适用于测试环境、带宽管理或防止某个服务占用过多网络资源。

限制从本机发出的数据速率(即上传速度),可以通过在指定网卡上设置规则来完成。

例如:将网卡的出站带宽限制为1Mbps。

说明:

  • 添加一个队列规则,表示作用于网卡根队列。
  • 是该队列的标识符。
  • 是常用的可控制带宽的队列类型。
  • 定义一个类,限制速率为1mbit(即1Mbps)。

如果规则已存在,需要先清除:

Linux如何限制网卡的速率和带宽

不能直接限制入站流量(inbound),因为数据在进入网卡后才被系统控制。但可以通过(Intermediate Functional Block)设备来间接实现。

步骤如下:

  1. 加载模块并创建虚拟设备:

  1. 将入口流量重定向到:

  1. 在上设置限速规则(如限制为512kbps):

Linux如何限制网卡的速率和带宽

查看当前网卡的队列规则:

删除所有规则(恢复原始状态):

Linux如何限制网卡的速率和带宽

也可以使用更简单的工具如,适合快速上手。

安装(以Ubuntu为例):

限制上传1000kbps,下载500kbps:

清除限制:

基本上就这些。使用能更灵活地控制网络流量,而适合快速部署简单限速策略。

以上就是Linux如何限制网卡的速率和带宽的详细内容,更多请关注php中文网其它相关文章!