我想限制连接到端口“12871/12881”的人们每 5 秒使用 IPTABLES 1 个连接。我试图找到它的规则,但收效甚微。
答案1
这应该有帮助:
iptables -A INPUT -p tcp --syn --dport 12871:12881 -m connlimit --connlimit-above 15 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
这将拒绝来自一个源 IP 的超过 15 个连接。
iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 150/second --limit-burst 160 -j ACCEPT
在应用每秒 150 个新连接(数据包)的限制之前,允许 160 个新连接(实际上是数据包)。
iptables -A INPUT -p tcp --syn --dport 12871:12881 -m connlimit --connlimit-above 3 -j REJECT
这限制每个 IP 最多有 3 个连接。
得到的信息来自:使用 iptables 限制每个 IP 地址的最大连接数和每秒新连接数
示例:限制每秒连接数
如果 IP 在 5 秒内对端口 12871:12881 进行超过 3 次连接尝试,以下示例将丢弃传入连接。
iptables -A INPUT -p tcp --dport 12871:12881 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 12871:12881 -i eth0 -m state --state NEW -m recent --update --seconds 5 --hitcount 3 -j DROP
只需将 eth0 更改为您的接口 ID...
点击次数和秒数可以根据您的需要进行定制。