我可以使用 iptables 来限制 ipset 的速率吗?

我可以使用 iptables 来限制 ipset 的速率吗?

是否可以使用 iptable 表来限制 ipset 的速率?

我知道你可以使用 ipset 创建一个名为黑名单

IE

ipset create blacklist hash:ip
iptables -I INPUT -m set --match-set blacklist src -j DROP
ipset add blacklist 1.2.3.4
ipset add blacklist 1.2.3.5

但是你如何限制调用的 ipset黑名单? 就像是 ?

iptables -I INPUT -m set --match-set blacklist src -p TCP --dport 80 -m hashlimit --hashlimit 50/sec --hashlimit-burst 10 --hashlimit-name blacklisthash -j DROP

是否–hashlimit-mode srcip有必要?

谢谢

答案1

是的。

我制造了一个简单的测试使用:

ipset create ratelimit hash:ip hashsize 4096
ipset add ratelimit <ip_address>
iptables -I INPUT -m set --match-set ratelimit src -p tcp --dport 80 -m hashlimit --hashlimit 10/sec --hashlimit-name ratelimithash -j DROP

并且起作用了:

Chain INPUT (policy ACCEPT 1537 packets, 89602 bytes)
    pkts      bytes target     prot opt in     out     source               destination
      64     7562 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set ratelimit src tcp dpt:80 limit: up to 10/sec burst 5

也起作用--hashlimit-mode srcip了。

相关内容