iptables 防御策略:如何限制每秒请求数预防 DDoS

陌晨酱_3146

陌晨酱_3146

2026-07-03

817人浏览

原创

iptables 限制qps需用limit或hashlimit模块:limit基于令牌桶限全局速率,hashlimit按源ip独立限速;firewalld rich rule封装hashlimit更直观;须配合syncookies、connlimit等策略增强防护。

iptables 防御策略:如何限制每秒请求数预防 ddos

直接限制每秒请求数(QPS),iptables 本身不靠 connlimit,它只管并发连接数;真正起作用的是 limit 和 hashlimit 模块,或换用 firewalld 的 rich rule。


用 iptables -m limit 限制新建连接速率(适合基础防护)

limit 模块基于令牌桶算法,对匹配的数据包做简单速率控制,适用于防 SYN Flood 或低强度 HTTP 洪水。

  • 它统计的是“每秒通过的包数量”,不是连接数,但配合 --syn 可间接限制新连接频率。
  • 规则需成对使用:先放行合规流量,再丢弃超限流量。

常见写法:

# 允许每秒最多 5 个新 TCP 连接(SYN 包),突发允许 10 个
sudo iptables -A INPUT -p tcp --syn -m limit --limit 5/s --limit-burst 10 -j ACCEPT

# 其余 SYN 包全部丢弃
sudo iptables -A INPUT -p tcp --syn -j DROP

⚠️ 注意:

  • --limit 5/s 是平均速率,内核会平滑分配令牌;
  • --limit-burst 10 防止合法用户因瞬时请求被误拦;
  • 此规则对 UDP 不生效(UDP 无 SYN);
  • 不能按源 IP 分组限速,所有流量共用一个令牌桶。

用 iptables -m hashlimit 实现按源 IP 限速(推荐用于 CC/UDP 反射防护)

hashlimit 更精准:为每个源 IP 维护独立计数器,支持老化、分组统计,适合防 CC 攻击和 UDP 反射。

典型 HTTP 防护示例:

# 每个源 IP 每秒最多 10 个新连接,突发上限 30,计数器 10 分钟后自动清理
sudo iptables -I INPUT -p tcp --dport 80 --syn -m hashlimit \
  --hashlimit-above 10/sec \
  --hashlimit-burst 30 \
  --hashlimit-mode srcip \
  --hashlimit-name http_per_ip \
  -j DROP

UDP 反射防护示例(如 DNS 端口):

皮卡智能
皮卡智能

一款面向电商和商业视觉创作的AI图片处理平台,提供智能抠图、图片生成和视觉设计等能力,帮助提升图片制作效率。

下载
# 限制每个源 IP 每分钟最多 60 个 UDP 53 端口新建请求
sudo iptables -A INPUT -p udp --dport 53 -m state --state NEW -m hashlimit \
  --hashlimit-above 60/min \
  --hashlimit-burst 5 \
  --hashlimit-mode srcip \
  --hashlimit-name dns_qpm \
  -j DROP

关键参数说明:

  • --hashlimit-mode srcip:按客户端 IP 统计(也可加 dstport 多维分组);
  • --hashlimit-above:超过该值即触发动作(DROP/REJECT);
  • --hashlimit-burst:允许短时突发,避免正常用户卡顿;
  • --hashlimit-name:必须唯一,用于内核哈希表标识;
  • 默认老化时间约 10 分钟(600 秒),可调 --hashlimit-htable-expire(单位毫秒)。

用 firewalld rich rule 实现更直观的 QPS 控制(适合 systemd 环境)

如果你用的是 firewalld(RHEL/CentOS/Fedora 默认),rich rule 封装了 hashlimit 行为,语法更清晰,且支持持久化。

启用每秒 5 个新连接限制:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="80" protocol="tcp" limit value="5/s" accept'
sudo firewall-cmd --reload

补充说明:

  • limit value="5/s" 仅作用于新建连接(SYN 包),等效于 hashlimit --hashlimit-above 5/sec;
  • 不加 --permanent 重启后失效;
  • 超限包默认静默丢弃;如需日志,改用 audit limit value="5/s" reject。

配合其他策略提升实效性

单靠限速不够,需组合使用:

  • 启用 tcp_syncookies=1 缓解 SYN Flood(echo 1 > /proc/sys/net/ipv4/tcp_syncookies);
  • 对 UDP 服务,加长度过滤(如 iptables -A INPUT -p udp -m length --length 0:28 -j DROP);
  • 结合 connlimit 控制并发连接数,弥补 hashlimit 不覆盖长连接的短板;
  • 记录并封禁高频攻击源:用 recent 模块标记 + DROP,或导出日志交由 fail2ban 处理。

不复杂但容易忽略。

相关文章

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

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

下载

相关标签:

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

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

4525

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

395

21

ddos攻击工具有哪些
ddos攻击工具有哪些

ddos攻击工具有LOIC、HOIC、Slowloris、ICMP洪水攻击、SYN洪水攻击和UDP洪水攻击。详细介绍:1、LOIC,可以使用单个用户或多个用户协同工作,形成分布式攻击,从而增加攻击的威力;2、HOIC,可以使用多个代理服务器,从而隐藏攻击者的真实IP地址;3、Slowloris,通过发送大量的半连接请求来占用目标服务器的资源,从而使其无法处理其他合法的连接请求等等。

2023.10.09

1644

8

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

40

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

140

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

140

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

100

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

100

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

120

15

热门下载

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

精品课程

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

共31课时 | 4.1万人学习