debian

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

小樊
33
2025-04-02 08:25:17
栏目: 智能运维

在Debian系统中,可以使用 iptables 来限制访问速度。具体来说,可以使用 hashlimit 模块来限制每个源IP的速率。以下是一个基本的示例,展示如何限制某个IP的上传速度为1000KB/秒(8Mbps):

iptables -A FORWARD -m limit -d 208.8.14.53 --limit 700/s --limit-burst 100 -j ACCEPT

这条命令的意思是:

还可以使用 hashlimit 来限制连接数,例如限制每个IP每分钟最多建立5个新的SSH连接:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit-name SSH --hashlimit-above 5/min --hashlimit-mode srcip -j REJECT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource -j ACCEPT

第一条命令的意思是:

请注意,使用 hashlimit 模块时,hashlimit-name 必须是唯一的,否则可能会导致数据包被多条规则重复处理。

另外,还可以使用 tc(流量控制)工具来实现更复杂的限速功能。tc 允许你使用令牌桶算法来控制流量速率。以下是一个简单的示例,展示如何使用 tc 限制某个IP的上传速度为100KB/s:

tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip src 208.8.14.53 flowid 1:1

这条命令的意思是:

这些方法可以帮助你在Debian系统中有效地限制访问速度,保护系统资源不被过度占用。

0
看了该问题的人还看了