如何使用 iptables 全局限制 TCP 连接总数?

如何使用 iptables 全局限制 TCP 连接总数?

我很难弄清楚如何拒绝入站一旦 TCP 连接总数达到全局最大值,则使用 iptables 从具有 iptables 的计算机发出出站连接,而不考虑源或目标端口。必须包含所有源/目标/端口。

使用 iptables 可以实现这个吗?

答案1

iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above <your limit number> --connlimit-mask 0 -j DROP
iptables -A OUTPUT -p tcp --syn -m connlimit --connlimit-above <your limit number> --connlimit-mask 0 -j DROP

答案2

你可以使用 iptables 模块“connlimit”来实现

/sbin/iptables -A INPUT -p tcp --syn --dport $port -m connlimit --connlimit-above N -j REJECT --reject-with tcp-reset

例子:

/sbin/iptables  -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

相关内容