1. 概述与目标
目标:评估香港 CN2 100M 链路在遭受大流量(SYN/UDP/HTTP Flood)时的清洗与防护能力,并给出可执行的运维流程。
要点:明确清洗点(云端/第三方/本地)、测量指标(丢包率、带宽利用、响应时延、清洗恢复时间)、以及应急流程(引流、清洗、回流)。
2. 环境与权限准备
1) 获取 AS、前缀授权与 BGP 登录凭证;2) 准备运维主机,安装 tcpdump、hping3、iperf、netstat、nfdump;3) 与清洗厂商确认 BGP community 与引流协议;4) 测试窗口与变更审批到位。
3. 基线流量采集步骤
1) 在接入设备启用 NetFlow/sFlow,5min/1min 轮询;2) 使用 tcpdump 抓包(示例:tcpdump -i eth0 -w /tmp/capture.pcap);3) 统计连接数与速率(ss -s、netstat -an | wc -l);4) 记录正常峰值作为评估基线。
4. BGP 引流前检查
1) 确认可被引流的前缀(/24 更稳定);2) 与承载方确认 AS_PATH 政策和社区标签;3) 备份路由器配置,记录原始路由优先级;4) 在维护窗口做一次模拟 announce/withdraw 测试(只限实验用前缀)。
5. BGP 引流(到清洗中心)的实操步骤
1) 在边界路由器上添加更高优先级路由或向清洗厂商发起 BGP 会话;2) 使用 route-map或community设置将流量导向清洗出口;3) 监控 BGP 会话状态(show ip bgp summary);4) 验证流量已经到达清洗中心(从 NetFlow 或清洗方提供的流量视图确认)。
6. 清洗规则部署与本地防护配置
1) 在清洗平台配置基线规则(协议/端口白名单、阈值);2) 本地边界使用 iptables/nftables 做速率限制(示例:iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 100 -j DROP);3) 使用 tc 做带宽 shaping(tc qdisc add dev eth0 handle 1: root htb ...);4) 对应用使用反向代理/负载均衡(Nginx、HAProxy)做 HTTP 层限流与验证。
7. 清洗验证与流量一致性检查
1) 验证清洗后仍能正常访问业务(curl 测试多接口);2) 使用抓包对比入站与清洗后的包头,确认没有异常丢失合法流量;3) 监控 CPU/内存/队列长度,避免设备在清洗压力下过载;4) 记录清洗时间点与规则变更日志。
8. 回流(withdraw)和恢复步骤
1) 在确认攻击缓解后,通过撤回 BGP announce 将流量回流(withdraw 或恢复原路由优先级);2) 逐步放宽清洗规则,观察流量恢复情况;3) 验证无丢包与业务指标正常;4) 恢复配置并保存变更记录。
9. 监控、告警与自动化
1) 建立实时监控(Prometheus+Grafana),采集流量、会话数、丢包率、延迟;2) 设置阈值告警(如 PPS、流量占用超过 80%);3) 使用脚本或自动化工具(Ansible)在触发时自动执行封堵或引流动作;4) 定期演练告警与自动化流程。
10. 性能评估方法与指标
评估指标:清洗最大吞吐(Mbit/s)、最大并发连接、合法流量保留率、清洗启动时间与恢复时间、误判率。方法:在实验室用 iperf/hping3 逐步放大流量,记录以上指标并生成报告。
11. 实操测试建议(问)
问题:如何在不影响线上业务的前提下做流量清洗演练?
11. 实操测试建议(答)
回答:在测试环境或使用非生产前缀做 BGP 引流演练;若必须在生产环境,选择维护窗并提前设置流量镜像而非直接引流;使用分阶段、低阈值的流量注入并逐步放大,实时监控业务响应,确保可快速回滚。
12. 常见风险与缓解(问)
问题:引流到清洗中心可能带来哪些风险,如何缓解?
12. 常见风险与缓解(答)
回答:风险包括误封合法流量、清洗链路拥塞、回流错配。缓解措施:使用白名单、逐步调优规则、与清洗方明确 SLA、在清洗期间持续校验业务可用性与日志、保留快速回滚机制。
13. 能力评估与决策(问)
问题:如何判断香港 CN2 100M 在实际攻击下是否足够?
13. 能力评估与决策(答)
回答:通过压力测试模拟峰值攻击并对照关键指标(链路利用率、丢包率、业务响应);如果清洗平台能在保证 >95% 合法请求成功率下吸收峰值流量且恢复时间可控,则认为能力合格;否则需考虑多线路备份、扩容或使用更大规模的清洗服务。
来源:运维角度解析香港cn2 100m流量清洗与防护能力评估