如何配置CentOS系统以限制并发连接和防止拒绝服务攻击

来源:Android社区作者:沙月恵奈‌头衔:网络博主
导读:本期聚焦于小伙伴创作的《如何配置CentOS系统以限制并发连接和防止拒绝服务攻击》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何配置CentOS系统以限制并发连接和防止拒绝服务攻击》有用,将其分享出去将是对创作者最好的鼓励。

CentOS系统作为常用的服务器操作系统,在面对大量异常并发请求时,如果没有合理的限制策略,很容易遭受拒绝服务攻击,导致正常用户无法访问服务。通过内核参数调整、防火墙规则配置和服务自身限制,可以有效管控并发连接,抵御常见的拒绝服务攻击。

如何配置CentOS系统以限制并发连接和防止拒绝服务攻击

内核参数优化限制系统级并发

通过修改sysctl配置可以调整系统内核的网络相关参数,从系统层面限制连接数和请求频率,减少拒绝服务攻击的影响。

首先编辑sysctl配置文件:

# 编辑sysctl配置文件
vi /etc/sysctl.conf

在文件末尾添加以下参数:

# 开启SYN Cookie防护,应对SYN洪水攻击
net.ipv4.tcp_syncookies = 1
# 允许的最大半连接数
net.ipv4.tcp_max_syn_backlog = 8192
# 系统同时处理的最大连接数
net.core.somaxconn = 4096
# 每个端口最大监听队列长度
net.ipv4.tcp_synack_retries = 2
# 减少TCP连接存活时间,释放无效连接
net.ipv4.tcp_fin_timeout = 30
# 限制单个IP可建立的连接数上限
net.ipv4.tcp_max_tw_buckets = 5000

保存后执行以下命令让配置生效:

# 加载sysctl配置
sysctl -p

使用iptables配置连接限制规则

iptables是CentOS自带的防火墙工具,可以通过规则限制单个IP的并发连接数和请求频率,直接拦截异常流量。

限制单IP并发连接数

以下规则限制单个IP最多只能建立20个SSH连接,超过的连接会被丢弃:

# 限制单个IP的SSH并发连接数为20
iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 20 -j DROP

限制单IP请求频率

使用recent模块限制单个IP在单位时间内的请求次数,以下规则限制单个IP每分钟最多发起10次HTTP请求:

# 创建recent列表记录HTTP请求IP
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set --name http_limit
# 限制每分钟最多10次请求,超过则丢弃
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 --name http_limit -j DROP

配置完成后保存iptables规则,避免重启后失效:

# 保存iptables规则
service iptables save
# 重启iptables服务
service iptables restart

服务自身并发连接限制

除了系统层面和防火墙层面,还可以在常用服务中配置并发连接限制,这里以Nginx为例说明配置方法。

编辑Nginx的配置文件nginx.conf

http {
    # 限制单个IP的并发连接数为10
    limit_conn_zone $binary_remote_addr zone=perip:10m;
    server {
        listen 80;
        server_name localhost;
        # 应用连接限制
        limit_conn perip 10;
        # 限制单个请求的处理速率为每秒1个请求
        limit_req_zone $binary_remote_addr zone=req_limit:10m rate=1r/s;
        limit_req zone=req_limit burst=5 nodelay;
        location / {
            root html;
            index index.html index.htm;
        }
    }
}

修改完成后重新加载Nginx配置:

# 测试Nginx配置是否正确
nginx -t
# 重新加载配置
nginx -s reload

防护策略验证与维护

配置完成后可以通过以下方式验证限制是否生效:

  • 使用ab工具模拟并发请求,观察是否会被拦截
  • 查看/proc/net/ip_conntrack文件确认当前连接数是否符合限制
  • 通过iptables -L -n -v查看防火墙规则的匹配计数

日常维护中需要定期查看系统日志/var/log/messages和服务的访问日志,及时发现异常IP,将恶意IP加入黑名单。同时根据业务实际访问量调整并发限制参数,避免过度限制影响正常用户访问。

CentOS并发连接限制拒绝服务攻击防护iptablessysctl修改时间:2026-06-19 19:03:30

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。