服务器 TCP 访问控制与连接限制怎么配

胖婷同学_1350

胖婷同学_1350

2026-08-11

620人浏览

原创

服务器tcp访问控制与连接限制采用分层防护:操作系统层保障资源底线,防火墙层控制流量入口,应用层实现精细调度;合理配置可有效防御暴力扫描和dos攻击且不误伤正常用户。

服务器 tcp 访问控制与连接限制怎么配

服务器 TCP 访问控制与连接限制,本质是分层防护:操作系统层管资源底线,防火墙层控流量入口,应用层做精细调度。配得合理,既能防暴力扫描和 DoS 攻击,又不误伤正常用户。


一、系统级 TCP 连接数与端口范围调整(Linux)

这是底层基础,不调好,上层限制再严也容易被耗尽。

  • 文件描述符限制(每个连接占一个 fd)

    # 查看当前限制
    ulimit -n
    # 临时提高(当前会话)
    ulimit -n 200000
    # 永久生效:编辑 /etc/security/limits.conf
    * soft nofile 1048576
    * hard nofile 1048576
    # 并确保 /etc/pam.d/common-session 包含:
    session required pam_limits.so
  • 内核参数优化(影响监听队列、TIME_WAIT、端口复用)
    编辑 /etc/sysctl.conf:

    net.core.somaxconn = 65535          # 监听队列最大长度
    net.ipv4.ip_local_port_range = 1024 65535  # 扩大客户端可用端口范围
    net.ipv4.tcp_tw_reuse = 1           # 允许 TIME_WAIT 套接字重用(仅对客户端有效)
    net.ipv4.tcp_fin_timeout = 30       # 缩短 FIN_WAIT2 超时时间
    fs.file-max = 2097152               # 系统级最大文件句柄数

    执行 sysctl -p 生效。

⚠️ 注意:tcp_tw_reuse 在服务端对“主动发起连接”的场景才起作用;若你主要是 Web 服务(被动接受连接),更关键的是 net.ipv4.tcp_max_syn_backlog 和 somaxconn。


二、防火墙层连接数限制(iptables / firewalld)

适合做粗粒度拦截,比如单 IP 并发过高、SYN 泛洪。

  • iptables 限制某端口并发连接数(如 HTTP 80 端口最多 100 个)

    iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 100 -j REJECT

    补充:加 --connlimit-saddr 可按源 IP 限(避免误杀 NAT 后用户)。

  • firewalld 实现等效规则(CentOS/RHEL 7+)

    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" limit value="100/second" reject'
    firewall-cmd --reload

✅ 优势:规则生效快、不依赖应用重启;❌ 缺点:无法区分合法请求与恶意请求,只认连接数。

宝塔Linux面板11.3.0
宝塔Linux面板11.3.0

宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。

下载

三、Nginx 应用层访问控制与连接限制

最灵活,可基于 IP、URL、Header 等维度做细粒度控制。

  • 限制单 IP 并发 TCP 连接数(limit_conn)

    http {
        limit_conn_zone $binary_remote_addr zone=addr:10m;  # 按客户端 IP 哈希建区
        server {
            location /api/ {
                limit_conn addr 5;  # 每个 IP 最多 5 个并发连接
                limit_conn_log_level warn;
                limit_conn_status 429;
            }
        }
    }

    ? 注意:limit_conn 统计的是“已建立且正在处理请求的连接”,不是 TCP 握手数,也不含 Keep-Alive 空闲连接。

  • 限制单 IP 请求频率(limit_req,防接口刷)

    http {
        limit_req_zone $binary_remote_addr zone=req_rate:10m rate=10r/s;
        server {
            location /login {
                limit_req zone=req_rate burst=20 nodelay;
            }
        }
    }

    burst=20 允许突发 20 次,nodelay 表示不排队延迟,超了直接 503。

  • 结合 geo + map 实现黑白名单或分级限流
    例如:国内 IP 限 50r/s,海外限 5r/s,特定运营 IP 白名单不限。


四、额外建议:监控与验证是否生效

  • 查看当前 ESTABLISHED 连接数:

    ss -s | grep "estab"
    netstat -an | grep :80 | grep ESTABLISHED | wc -l
  • 检查 Nginx 限流日志(需在 location 中配置 access_log 或 error_log):

    limit_conn_log_level warn;  # 触发限流时记 warn 日志
  • 用 ab 或 wrk 模拟压测,观察返回状态码(429 / 503)和连接数变化。

不复杂但容易忽略

相关文章

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

2732

5

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

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

2023.10.09

916

5

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

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

2023.10.17

809

5

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

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

2023.10.17

414

3

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

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

2023.10.18

2476

4

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

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

2023.10.20

4572

4

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

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

2023.10.20

747

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程