我想限制从同一个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