我有一台服务器,其中 apache 监听多个端口。一些端口用于配置服务器,另一个用于下载大文件。
我的问题是,当有大量客户端下载文件时,Web 界面无法连接。我想限制连接到“大文件”端口的客户端数量,以便 apache 始终有可用的连接来配置服务器。REJECT 没问题,尝试下载文件的客户端将退出并稍后重试。每个客户端一次只能打开一个到服务器的连接,因此通过 IP 进行限制不起作用。
我知道我可以在 apache 前面放一些东西来管理这个,但我真的很想在 iptables 中做到这一点,而不需要添加更多的软件。
答案1
您可以尝试--connlimit
将--connlimit-mask
掩码设置为 0。
iptables -A INPUT -p tcp --dport XXY -m connlimit --connlimit-above 5 --connlimit-mask 0 -j REJECT
XXY
您想要限制连接速率的端口在哪里。