Linux限制特定端口上的连接

我遵循iptables连接限制来限制服务器可以在端口80上获得连接的数量。例如,我试过:

/sbin/iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT --reject-with tcp-reset 

这似乎限制了每个IP的连接。 有没有办法通过IPTables或可能sysctl来限制全球连接数量。 这意味着如果说主机A堵塞了所有10个可用会话,那么其他主机将无法连接?

您可以通过添加选项--connlimit-mask 0来修改规则。 这有效地使您能够在全球范围内限制连接,并且所有IP将被毫无区别地对待。

相反,IPv4的默认值32意味着单独匹配每个IP。

正如@JayMcTee所build议的那样,您可以使用Web服务器级解决scheme来限制连接限制。 例如,你可以看看apache的 MaxClients选项。