使用 iptables 限制端口的最大传入连接数

Har*_*ley 3 iptables port

我有一台服务器,它有 apache 监听多个端口。一些端口用于配置服务器,另一个用于下载大文件。

我的问题是,当我有大量客户端下载文件时,无法访问 Web 界面。我想限制在“大文件”端口上连接的客户端数量,以便 apache 始终有可用的连接来配置服务器。REJECT 没问题,尝试下载文件的客户端将退出并稍后重试。每个客户端一次只能打开一个与服务器的连接,因此通过 IP 进行限制是行不通的。

我知道我可以在 apache 前面放一些东西来管理这个,但我真的很想在 iptables 中做到这一点,而不需要添加更多软件。

小智 5

您可以尝试--connlimit使用将--connlimit-mask掩码设置为 0的选项。

iptables -A INPUT -p tcp --dport XXY -m connlimit --connlimit-above 5 --connlimit-mask 0 -j REJECT
Run Code Online (Sandbox Code Playgroud)

XXY您要限制连接速率的端口在哪里。