DDoS攻击防护配置:从零搭建可落地的服务器防护方案

DDoS攻击防护配置的核心思路是分层拦截:先靠云厂商的高防清洗大流量,再在服务器上用 Nginx 和 iptables 限制异常连接,最后通过日志和监控验证效果。
本文按零基础用户能直接照做的顺序,讲清每一步的命令和配置。

先判断你面对的是哪种攻击

DDoS 是分布式拒绝服务攻击的简称,攻击者用大量机器同时请求你的服务器,把带宽或连接数占满,正常用户就访问不了。
动手配置前,先确认攻击类型,否则可能配错方向。

  • 流量型攻击:带宽被占满,表现为网站完全打不开、ping 超时。这类攻击单靠服务器配置挡不住,必须上云高防或 CDN 清洗。
  • 连接型攻击:大量 TCP 连接堆积,表现为服务器负载飙升、连接数异常。iptables 和系统内核参数能缓解。
  • 应用层攻击:模拟正常请求刷接口或页面,表现为 CPU 高、数据库慢,但带宽正常。Nginx 限速和限连接数更有效。

登录服务器后,
先用 top 看 CPU 和负载,
用 netstat -an | awk '/tcp/ {print $6}' | sort | uniq -c 统计连接状态,
判断是哪种类型。

服务器侧的基础防护配置

这部分配置适合连接型和应用层攻击,操作前建议先备份现有配置。

调整内核参数抗连接堆积

编辑 /etc/sysctl.conf,加入或修改以下内容:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65000

执行 sysctl -p 让配置生效。tcp_syncookies 能缓解 SYN Flood,tcp_max_syn_backlog 增大半连接队列。

用 iptables 限制单 IP 连接数

下面规则限制单个 IP 对 80 和 443 端口的并发连接不超过 50,超过就丢弃:

iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 50 -j DROP

保存规则:
CentOS 用 service iptables save,
Ubuntu 用 iptables-save > /etc/iptables/rules.v4。注意:
阈值要按自己业务调整,
设太低会误伤正常用户,
建议先观察正常峰值连接数再定。

Nginx 限速和限连接

在 nginx.conf 的 http 块中加入:

limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn_limit:10m;

在 server 块中加入:

limit_req zone=req_limit burst=20 nodelay;
limit_conn conn_limit 20;

执行 nginx -t 检查语法,再 nginx -s reload 重载。rate=10r/s 表示每 IP 每秒 10 个请求,burst=20 允许突发 20 个。
这个值需要根据实际业务压测后微调。

云防护接入与流量清洗

流量型攻击靠服务器自身配置很难扛住,正确做法是接入云厂商的高防 IP 或 CDN。

操作路径(以主流云厂商为例):登录云控制台,进入 DDoS 高防或 Web 应用防火墙产品页,购买高防 IP 实例,把域名解析指向高防 IP,再在高防控制台配置回源地址为你的真实服务器 IP。
配置完成后,攻击流量先到高防节点清洗,正常流量回源。

宝塔面板用户如果已安装 Nginx 防火墙插件,可以在面板的“软件商店”中找到“Nginx 防火墙”,在“全局配置”里开启 CC 防护,并设置单 IP 访问频率。
这属于应用层防护,不能替代高防。

配置后怎么验证有没有生效

验证分三步,缺一步都可能误判。

  • 看连接数:执行 netstat -an | grep :80 | wc -l,对比配置前后的并发连接数,异常连接应明显下降。
  • 看 Nginx 日志:tail -f /var/log/nginx/access.log,观察是否有单一 IP 高频请求被限制,返回 503 或 429 说明限速生效。
  • 看防护面板:云高防控制台通常有流量清洗报表,能看到攻击流量和被清洗的峰值。

如果配置后网站仍打不开,
先检查 iptables 规则是否误封了自己的 IP,
用 iptables -L -n --line-numbers 查看,
必要时用 iptables -D INPUT 规则编号 删除。

容易踩的几个坑

  • 限速阈值照抄网上数值:不同业务并发差异很大,建议先用监控工具记录正常峰值,再设置比峰值高 20% 到 30% 的阈值。
  • 只配服务器不接高防:面对大流量攻击,服务器配置只是辅助,高防清洗才是主力。
  • 改完配置不重载:Nginx 改完必须 nginx -s reload,iptables 规则重启后会丢失,务必保存。
  • 忘记放行自己 IP:配置 iptables 时建议先加一条放行自己管理 IP 的规则,避免把自己关在门外。

DDoS 防护没有一劳永逸的方案,配置完成后要定期查看日志和监控,根据攻击特征调整阈值。
如果攻击持续且流量很大,及时联系云厂商升级防护套餐,比在服务器上硬扛更有效。

分享到:
上一篇
WAF防火墙部署配置:从零搭好Nginx+ModSecurity防护
下一篇
服务器防SQL注入配置:从代码到WAF的完整实操指南
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意