centos iptables如何限制带宽使用

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

在CentOS系统中,您可以使用iptablestc(流量控制)工具来限制带宽使用

  1. 首先,确保您已经安装了iproute2软件包,因为它包含了tc工具。如果没有安装,请使用以下命令安装:
sudo yum install iproute
  1. 创建一个新的队列规则(qdisc)并将其附加到网络接口上。例如,我们将限制名为eth0的网络接口的带宽:
sudo tc qdisc add dev eth0 root handle 1: htb default 10

这将创建一个层级令牌桶(HTB)分类器,其默认类别为10。

  1. 为新创建的队列规则分配带宽。例如,我们将为主类别分配1Mbps带宽:
sudo tc class add dev eth0 parent 1: classid 1:10Mbps
  1. 如果您需要为特定IP地址或端口限制带宽,可以使用iptables标记流量,然后将其与相应的tc类别关联。首先,使用iptables标记流量:
sudo iptables -A OUTPUT -t mangle -A PREROUTING -m mark --set-mark 100
sudo iptables -A INPUT -t mangle -A PREROUTING -m mark --set-mark 100

接下来,将这些标记的流量与之前创建的tc类别关联:

sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src <源IP地址> flowid 1:10Mbps
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst <目标IP地址> flowid 1:10Mbps

<源IP地址><目标IP地址>替换为您要限制的特定IP地址。

现在,您已经成功限制了CentOS系统中特定网络接口的带宽使用。请注意,这些限制在系统重启后将丢失。要使限制在重启后保持生效,您可以使用systemd服务或cron作业自动应用这些配置。

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

推荐阅读: 如何重启或关机CentOS系统