在CentOS系统中,您可以使用iptables
和tc
(流量控制)工具来限制带宽使用
- 首先,确保您已经安装了
iproute2
软件包,因为它包含了tc
工具。如果没有安装,请使用以下命令安装:
sudo yum install iproute
- 创建一个新的队列规则(qdisc)并将其附加到网络接口上。例如,我们将限制名为
eth0
的网络接口的带宽:
sudo tc qdisc add dev eth0 root handle 1: htb default 10
这将创建一个层级令牌桶(HTB)分类器,其默认类别为10。
- 为新创建的队列规则分配带宽。例如,我们将为主类别分配1Mbps带宽:
sudo tc class add dev eth0 parent 1: classid 1:10Mbps
- 如果您需要为特定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
作业自动应用这些配置。