如何限制从同一个IP到本地端口的开放TCPstream的数量?

我想限制从同一个IP到服务器(本地)端口的并发打开TCPstream的数量。 假设4个并发连接。

这怎么能用ip表来完成?

最近的事情,我发现是: 在Apache中,有没有办法限制每秒/小时/天的新连接数量?

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 86400 --hitcount 100 -j REJECT 

但是这个限制只是衡量一段时间内新连接的数量。 这可能对控制HTTPstream量很有帮助。 但这对我来说不是一个好的解决scheme,因为我的TCPstream通常有5分钟到2小时的使用期限

非常感谢您的回复:)

只需在iptables中签出connlimit即可: http ://unixhelp.ed.ac.uk/CGI/man-cgi?iptables+8

 # allow 2 telnet connections per client host iptables -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT 

iplimit的优点是,你不必安装一些东西。 它会跳出盒子

看起来你可以用iplimit iptables扩展来做到这一点。 像这样的东西:

 iptables -A INPUT -p tcp --syn --dport http -m iplimit --iplimit-above 4 -j REJECT