1.
总体架构与选型原则
说明:先明确目标:在亚太及全球不同区域实现低延迟、高可用并能抵抗DDoS攻击的服务。
要点:选新加坡高防节点作为清洗点/中转节点;其他区域用普通云主机+健康检查;使用DNS Geo/Anycast或全局负载均衡器实现流量分配。
建议:优先选择提供BGP Anycast与实时清洗能力的高防服务商,并确认带宽峰值与清洗流量峰值 SLA。
2.
准备工作与资源清单
清单:高防新加坡服务器(公网IP)、各地区应用服务器(IP)、域名管理权、DNS服务支持GeoDNS或LB、监控告警(Prometheus/钉钉/邮件)、可用的反向代理(NGINX/HAProxy)或云LB。
账户:准备好SSH密钥、API Key(用于自动化DNS/防护配置)和运维联系方式。
3.
网络与路由设计
步骤:1) 确定流量入点:将域名A记录指向高防Anycast或GeoDNS策略。2) 在高防节点配置回源IP为各地区LB或源站IP。3) 如果供应商支持Anycast,启用Anycast以减少地域延迟。
注意:回源链路使用私网或加密通道(VPN/IPSec)尽量避免明文公网回源暴露。
4.
DNS层负载均衡配置
实例:使用支持GeoDNS的服务(如Cloudflare、阿里云万网、NS1等)配置:亚洲优先指向新加坡高防IP,欧洲/美洲可指向近端LB。
操作:设置短TTL(60-300s)便于切换;配置健康检查失败时自动切换到备IP;配置权重用于流量控制。
5.
高防服务器上清洗与回源配置
步骤:1) 在高防控制台把域名或IP加入防护策略,配置清洗阈值(如每秒连接数、每秒包量)。2) 配置回源规则:回源到指定源站IP或L4负载均衡IP,端口映射(如TCP 80/443)。
示例:回源使用私网IP或指定出口IP,确保回源端口开放并做限速。
6.
反向代理(NGINX)在多地区LB的配置示例
说明:用NGINX做近端负载均衡,后端指向本区域应用或新加坡高防回源。
示例关键项:upstream 配置后端列表与权重;proxy_next_upstream on; 健康检查用第三方模块或外部脚本。
示例片段(简化):upstream app { server 10.0.0.11 weight=5; server 10.0.0.12 weight=5; } server { listen 443 ssl; proxy_pass http://app; }
7.
使用HAProxy做TCP/UDP层健康检查与切换
步骤:安装HAProxy并写入backend健康检查,举例TCP端口检测。
示例片段:backend webbkti mode tcp option tcp-check server s1 10.0.0.11:443 check inter 2000 rise 2 fall 3
8.
防火墙与内核优化(Linux)
命令:1) 限制SYN:iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 20 -j ACCEPT;2) connlimit:iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 200 -j REJECT;3) 使用ipset封禁恶意IP集合。
内核调整:sysctl -w net.ipv4.tcp_syncookies=1; sysctl -w net.core.somaxconn=10240; sysctl -w net.ipv4.ip_local_port_range="1024 65535"
9.
自动化脚本与监控告警设置
自动化:用脚本通过API修改DNS和高防规则以在流量异常时快速切换。
监控:部署Prometheus+Alertmanager,监控指标包括流量、连接数、错误率、回源延迟;设置阈值触发自动化脚本。
10.
流量测试与故障演练
方法:1) 灰度流量切换测试(二阶DNS切换、回源切换);2) 使用流量发生器(wrk/jmeter/自家流量回放)做并发/突发测试;3) 模拟DDoS(合规环境或供应商提供测试)验证清洗策略。
演练:记录切换时间、回源恢复时间与错误率,优化TTL和健康检查间隔。
11.
日志审计与取证
要求:将高防日志、NGINX/HAProxy访问错误日志集中到ELK或Loki,保留至少7-30天以便事后分析。
操作:配置rsyslog或filebeat将日志推送到集中系统;对黑名单IP做自动更新。
12.
运维注意事项与最佳实践
要点:1) 定期更新清洗规则与阈值;2) 设定回滚方案;3) 与ISP/高防服务商保持沟通渠道;4) 记录每次切换和事件供复盘。
小贴士:对业务做分级保护,静态资源优先走CDN,动态接口走回源清洗链路。
13.
问:为什么选择新加坡高防在多地区负载均衡中作为清洗节点?
新加坡地处亚太枢纽,网络延迟低且出口丰富,供应商通常提供BGP Anycast与大带宽清洗能力,能在攻击发生时把入口恶意流量在新加坡做第一道清洗,减少对源站的影响。
14.
答:如何确保回源正常且不会被清洗误伤(false positive)?
在高防控制台配置回源白名单、保留回源IP和端口、配合健康检查和低误报阈值;回源链路优先使用私网或隧道,测试回源场景并做好日志回溯以调整清洗策略。
15.
问:在切换失败或高防宕机时,如何快速恢复全球访问?
预案:事先在DNS配置中保留备份A记录与短TTL,开启监控与自动化脚本在高防异常时把域名切至备份LB或直接指向源站;演练确保切换时间在可接受范围内并通知用户。
来源:部署经验分享新加坡服务器高防在多地区负载均衡中的应用