防盾工具箱31 个免费工具
iptables DTCPDump 命令DDoS 攻击模拟报实时 DDoS 攻击我的服务器正被攻击吗

iptables DDoS 防护规则生成器

生成用于 DDoS 缓解的 iptables 规则:SYN 洪水防护、UDP 洪水过滤、ICMP 速率限制等,一键复制即用。

逗号分隔

每行一个,如 203.0.113.7 或 10.0.0.0/8

ddos-protect.sh
#!/bin/bash
# iptables DDoS 防护规则 · 由防盾工具箱生成
# 生成时间: 使用前请先测试, 建议 iptables-apply 验证

# 放行已建立与相关连接
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 回环接口放行
iptables -A INPUT -i lo -j ACCEPT

# 无效包与异常组合直接丢弃
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

# SYN 洪水: 限制每秒新建连接速率
iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 5 --connlimit-mask 32 -j DROP
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

# SYN Proxy (内核代答, 仅当 conntrack 加载时生效)
iptables -A INPUT -p tcp -m multiport --dports 80,443 --syn -m conntrack --ctstate NEW -j TCPMSS --clamp-mss-to-pmtu
iptables -A PREROUTING -t raw -p tcp -m multiport --dports 80,443 --syn -j CT --notrack

# Web 端口速率限制
iptables -A INPUT -p tcp -m multiport --dports 80,443 -m connlimit --connlimit-above 50 --connlimit-mask 32 -j DROP
iptables -A INPUT -p tcp -m multiport --dports 80,443 -m hashlimit --hashlimit-above 200/sec --hashlimit-burst 400 --hashlimit-mode srcip --hashlimit-name web_ddos -j DROP

# UDP 洪水: 非业务端口丢弃 + 业务端口限速
iptables -A INPUT -p udp -m limit --limit 500/s --limit-burst 1000 -j ACCEPT
iptables -A INPUT -p udp -j DROP

# ICMP 速率限制 (ping 洪水)
iptables -A INPUT -p icmp -m limit --limit 5/s --limit-burst 10 -j ACCEPT
iptables -A INPUT -p icmp -j DROP

# 端口扫描防护
iptables -A INPUT -p tcp --tcp-flags ALL ACK -m recent --name portscan --set
iptables -A INPUT -p tcp --tcp-flags ALL ACK -m recent --name portscan --rcheck --seconds 60 --hitcount 20 -j DROP

# 默认策略: 入站丢弃无效, 其余按业务自行放行
iptables -P FORWARD DROP

# 保存: iptables-save > /etc/iptables/rules.v4

同一分类下的其他工具