linux

Linux防火墙如何限制访问速度

小樊
44
2025-07-19 16:37:55
栏目: 智能运维

在Linux系统中,可以使用tc(Traffic Control)工具来限制访问速度。以下是一个简单的示例,说明如何使用tc限制网络接口的上传和下载速度。

  1. 首先,确保已经安装了iproute2软件包,它包含了tc命令。在Debian/Ubuntu系统上,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install iproute2

在CentOS/RHEL系统上,可以使用以下命令安装:

sudo yum install iproute
  1. 创建一个名为1:1的qdisc(排队规则):
sudo tc qdisc add dev eth0 root handle 1: htb default 30

这里,eth0是要限制速度的网络接口。请根据实际情况替换为相应的网络接口名称。

  1. 为上传和下载速度创建两个类(class),并设置带宽限制。例如,限制上传速度为1Mbps,下载速度为2Mbps:
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 2mbit ceil 2mbit
sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1mbit ceil 1mbit
  1. 为每个类创建一个过滤器(filter),以便将流量分配给相应的类。这里,我们将所有出站流量(egress)分配给上传类(1:10),将所有入站流量(ingress)分配给下载类(1:10):
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 0.0.0.0/0 flowid 1:10
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:10
  1. 若要删除限制,可以使用以下命令:
sudo tc qdisc del dev eth0 root

请注意,这些更改在系统重启后将丢失。要使更改永久生效,请将上述命令添加到系统启动脚本中,例如/etc/rc.local文件。

这个示例仅用于演示目的,实际应用中可能需要根据具体需求进行调整。在使用tc命令时,请务必谨慎操作,以免意外中断网络连接。

0
看了该问题的人还看了