1.
整体部署思路概览
- 将香港高防(提供清洗/Anycast/专线能力)作为前端流量入口,后端用美国VPS承载业务节点。
- 前端做清洗与速率限制,后端做业务处理与更细粒度防护;必要时在美国VPS上启用二次规则。
- 先与高防提供商确认清洗阈值、告警API、BGP/Anycast或GRE隧道接入方式。
2.
申请与网络链路准备
- 与香港高防厂商沟通:确认是否支持将清洗流量通过专线或GRE/ECMP导向你的美国VPS,获取对端IP和路由政策。
- 若使用BGP/Anycast:准备好你的公网网段或申请IP段,配置对端ASN和MD5、keepalive等细节;若无BGP,使用GRE隧道或VPN将流量回传。
3.
操作系统与内核优化(美国VPS)
- 编辑 /etc/sysctl.conf,加入并执行 sysctl -p:
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_max_syn_backlog=4096
net.core.somaxconn=65535
net.netfilter.nf_conntrack_max=262144
net.ipv4.ip_forward=1(如需路由)
- 调整 conntrack 和文件描述符:ulimit -n 200000,修改 /etc/security/limits.conf。
4.
iptables + ipset 快速阻断规则
- 安装 ipset:apt-get install ipset;创建集合并加载到iptables:
ipset create ddos_blacklist hash:ip maxelem 65536
iptables -N DDOS_BLOCK && iptables -A INPUT -m set --match-set ddos_blacklist src -j DROP
- 基本限速规则示例(SYN flood 限制):
iptables -N SYN_FLOOD && iptables -A INPUT -p tcp --syn -m limit --limit 25/s --limit-burst 100 -j ACCEPT
iptables -A INPUT -p tcp --syn -j SYN_FLOOD
5.
使用hashlimit/hashlimit-match精细限速
- 针对UDP洪泛或单IP高并发:
iptables -A INPUT -p udp -m hashlimit --hashlimit 200/s --hashlimit-burst 500 --hashlimit-mode srcip --hashlimit-name udp_limit -j ACCEPT
- 超过阈值的IP用脚本加入 ipset:使用 conntrack/iptables 计数器,cron 轮询或 fail2ban 调用。
6.
Nginx层面限流与连接管理(示例)
- Nginx conf:在 http 块加入:
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=req:10m rate=10r/s;
- 在 server 或 location 中应用:limit_conn addr 10; limit_req zone=req burst=20 nodelay;
- 对于Websocket或API,可按 URI 分区限流。
7.
自动化阻断与日志告警
- 部署 fail2ban:创建 /etc/fail2ban/filter.d/ddos.conf 匹配高频请求日志,再在 jail.local 中调用 ipset-block 脚本。
- 编写脚本 sample_block.sh:检测短时间内连接数超过阈值的 IP,加入 ipset 并写入白名单/黑名单时间。将脚本设为 systemd timer 或 cron。
8.
与香港高防配合的具体流程
- 事先商定触发清洗的阈值(比如每秒 PPS/带宽)与切换API。
- 当流量接近阈值时,高防进行清洗并通过专线或GRE回传正常流量;在此期间后端开启严格限流与报警,避免资源耗尽。
- 测试流程:制造低强度攻击(压力工具)来验证清洗触发和业务无感切换。
9.
监控与取证操作
- 部署监控:使用 Prometheus + node_exporter、vnStat、iftop、ss、netstat。设置带宽/连接数阈值报警。
- 攻击发生时抓包保存样本:tcpdump -s 0 -w attack.pcap port 80 或 ip proto udp 保存例证,供高防分析。
10.
演练与恢复策略
- 定期演练:模拟不同向量(SYN、UDP、HTTP GET flood),验证清洗、回传、限流、黑名单机制的协同工作。
- 恢复流程:攻击结束后自动逐步放宽限流(脚本解除 ipset),并保留日志用于溯源。
11.
常见问题与优化建议(问答1)
Q: 香港高防清洗后为何仍会影响美国VPS性能?
A: 可能是回传的流量仍包含大量噪音或VPN/GRE未做速率限制,建议在回传链路做二次过滤(在美国VPS上用iptables/ipset限速)并调整清洗阈值,或要求高防做更严格的7层清洗。
12.
部署成本与适用场景(问答2)
Q: 这种架构适合所有业务吗,成本如何控制?
A: 适合对延迟敏感且需要跨境访问的业务(如游戏/金融/外贸站)。成本由高防带宽清洗、专线/BGP与美国VPS实例决定,建议按峰值流量议价并结合CDN与WAF削峰降成本。
13.
快速上手要点与最后建议(问答3)
Q: 快速上手最重要的三步是什么?
A: 1) 与高防确认接入方式与清洗阈值;2) 在美国VPS启用内核优化、iptables+ipset自动化脚本与Nginx限流;3) 部署监控与演练并保留抓包证据以便供应商调优。
来源:高防优势详解 香港高防美国vps应对DDoS攻击的部署策略