我可以使用iptables来限制一个ipset吗?

是否有可能使用iptable表来限制一个ipset的速度?

我知道你可以使用ipset创build一个名为黑名单的块列表

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甚至需要?

谢谢

是的。

我做了一个简单的testing,使用:

 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工作。