Ubuntu iptables如何限制带宽使用

1128
2025/3/8 6:31:29
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu系统中,您可以使用iptablestc(traffic control)工具来限制带宽使用。以下是一个简单的示例,说明如何使用这些工具限制特定IP地址的带宽。

  1. 首先,确保您已经安装了iproute2软件包,它包含了tc工具。如果没有,请运行以下命令安装:
sudo apt-get update
sudo apt-get install iproute2
  1. 创建一个名为1:0的htb(Hierarchical Token Bucket)队列规则。这将作为根队列规则,用于管理带宽限制。以下命令将创建一个最大带宽为1Mbps的队列规则:
sudo tc qdisc add dev eth0 root handle 1: htb default 30

请将eth0替换为您要限制带宽的网络接口名称。

  1. 为特定IP地址创建一个子队列规则,并设置带宽限制。例如,要限制IP地址为192.168.1.100的设备的带宽为128kbps,请运行以下命令:
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 128kbps ceil 128kbps
  1. 使用iptables标记要限制带宽的数据包。在这个例子中,我们将标记从IP地址192.168.1.100发出的数据包:
sudo iptables -t mangle -A OUTPUT -s 192.168.1.100 -j MARK --set-mark 1
  1. 将标记的数据包与之前创建的子队列规则关联起来:
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 1 fw flowid 1:1

现在,IP地址为192.168.1.100的设备应该受到128kbps的带宽限制。

要删除或更改限制,您可以使用tciptables命令进行相应的调整。请注意,这些更改在系统重启后可能会丢失。要使更改永久生效,您可以将这些命令添加到启动脚本中。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: SSHFS在Ubuntu上的使用教程是什么