如何利用Iptables连接数限制模块限制单用户最大TCP连接数

秋墨君_9115

秋墨君_9115

2026-06-07

345人浏览

原创

iptables 可通过 connlimit 模块限制单 ip 并发 tcp 连接数,常用命令为 iptables -a input -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j reject,仅匹配新建连接,支持按端口、子网掩码精细化控制,并推荐使用 --reject-with tcp-reset 提升友好性。

如何利用iptables连接数限制模块限制单用户最大tcp连接数

可以使用 iptables 的 connlimit 模块来限制单个 IP 地址(即单用户)的并发 TCP 连接数,适用于防止滥用、扫描或简单 DoS。

确认内核支持 connlimit 模块

大多数主流 Linux 发行版默认已启用该模块。可通过以下命令验证:

iptables -m connlimit --help

若提示“Unknown argument”或模块未找到,需检查内核是否编译了 CONFIG_IP_NF_MATCH_CONNLIMIT(通常位于 netfilter 相关选项中),并确保对应内核模块已加载:

modprobe xt_connlimit

基本语法与常用限制方式

connlimit 主要通过 --connlimit-above N 匹配连接数超过 N 的源 IP,并配合 --connlimit-mask 指定子网掩码长度(用于聚合匹配,如 /32 表示单 IP)。

堆友AI商品图
堆友AI商品图

堆友AI商品图是一款AI电商图片工具,堆友AI推出AI商品图生成工具。

下载

典型用法(以限制单 IP 最多 50 个并发 TCP 连接为例):

iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
  • --syn:只匹配新建连接(SYN 包),避免影响已有连接的后续包
  • --connlimit-mask 32:精确到单个 IPv4 地址(/32),IPv6 用 --connlimit-mask 128
  • -j REJECT --reject-with tcp-reset:比 DROP 更友好,主动发送 RST 终止新连接请求

按端口或服务精细化控制

可结合 --dport 限制特定服务,例如仅对 SSH 或 Web 服务设限:

# 限制每个 IP 对 22 端口最多 3 个并发 SSH 连接
iptables -A INPUT -p tcp --dport 22 --syn -m connlimit --connlimit-above 3 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
<h1>限制每个 IP 对 80/443 端口合计不超过 20 个连接(需用 multiport)</h1><p>iptables -A INPUT -p tcp -m multiport --dports 80,443 --syn -m connlimit --connlimit-above 20 --connlimit-mask 32 -j REJECT --reject-with tcp-reset</p>

注意事项与调试建议

  • 规则顺序很重要:应放在允许 established/related 连接之后、具体服务规则之前,避免误拦
  • 不要对 ESTABLISHED,RELATED 流量应用 connlimit,它只对新建连接有效
  • 查看当前匹配统计:iptables -L INPUT -n -v | grep connlimit
  • 临时测试建议加 -I INPUT 1 插入最前,并搭配 iptables -D 快速移除,避免锁死 SSH
  • connlimit 统计基于 netfilter 连接跟踪表(conntrack),若 conntrack 表满或老化过快,可能影响准确性

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2832

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

956

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

849

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

434

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2556

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4752

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

767

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux网络安全之防火墙技术汇总
Linux网络安全之防火墙技术汇总

共31课时 | 4.1万人学习