被打穿了,上个月15号凌晨三点。马尼拉Quadra机房一台跑跨境支付的机器,800G混合流量直接怼上来,本地iptables规则还没反应过来,PLDT那边已经把IP给null route了。业务断了整整47分钟,客户在Telegram群里@我@了二十多条(别问我怎么知道的,问就是当年在Quadra通宵割接过三次,这种场面见多了)。
后来这套菲律宾云清洗防护服务器的3层调度方案,是我花了两个礼拜跟新加坡清洗中心联调出来的。现在稳定跑了5个月,最大一次扛了1.2T,业务侧感知延迟没超过8秒。下面把组网拓扑和参数全摊开讲。
800G打过来到底卡在哪
菲律宾的网络环境跟HK、东京完全两码事。PLDT和Globe两家占了90%以上的transit,国际出口带宽就那么大,清洗中心基本在新加坡或者东京。流量从马尼拉牵引到清洗中心再回注,走的是GRE Tunnel封装,MTU不配对的话丢包率能到3%-5%,这个很要命。
另一个坑是BGP FlowSpec的下发。菲律宾本地ISP对FlowSpec的支持参差不齐,PLDT的AS号能接,但Globe那边到现在还只支持RTBH(远程黑洞路由),粒度粗得离谱,一null就是整个/24段。
- 牵引路径走PLDT transit到新加坡,单程 28-35ms,回注再加一跳
- FlowSpec规则下发到生效,实测 4-7秒,比HK慢一倍不止
- GRE回注MTU必须 压到1400,不然分片丢包教你做人
3种清洗方案实测数据对比
| 方案 | 扛量天花板 | 攻击到生效 | 月均成本 | 错判率 | 适合谁 |
|---|---|---|---|---|---|
| 本地硬件ACL+iptables | 50G 顶天 | 手动,10分钟+ | $0(已有设备) | 看人品 | 小站、偶尔被扫 |
| 运营商纯黑洞null route | 无上限但业务全断 | 30秒自动 | $0 | 100%(全杀) | IP多、能切的业务 |
| 云清洗+GRE回注 | 2T+ | 5-8秒 | $350-$800 | 0.3%-1% | 支付、电商、SaaS |
| 混合三层调度(推荐) | 无上限 | L3/L4 3秒,L7 12秒 | $500-$1200 | 0.1%以下 | 高可用刚需业务 |
混合三层调度的意思是:L3/L4的SYN flood、UDP反射这些,FlowSpec直接在边缘路由器上rate-limit掉;扛不住的超大流量才牵引到清洗中心;L7的CC和慢速攻击走本地Nginx+ModSecurity兜底。三层各管各的,不打架。
这些雷区我替你踩过了
说几个真金白银换来的教训,都是血:
- GRE tunnel的MTU没 压到1400,回注流量分片,TCP重传率飙到12%,业务比被DDoS还卡
- 清洗中心的anycast IP没在菲律宾本地做 DNS预热,切换瞬间用户解析还指着旧IP,白挨了20秒打
- FlowSpec规则写太细,把正常支付回调IP段给limit了,客户投诉电话打爆(这条我到现在还被老板念叨)
- 千万别省那几百块买 双路GRE回注,单路一断就是单点故障,凌晨三点你爬起来割接试试
还有一条:如果你的业务纯面向中国大陆用户、对延迟极度敏感,菲律宾机器多出来的 40-80ms 回传延迟够你喝一壶的,老老实实选HK。月预算低于200刀的话也别碰云清洗,光清洗中心月租就吃掉大半,不如多买几个IP做黑洞轮换。
# 检查马尼拉POP点BGP会话 + FlowSpec规则下发状态
ssh [email protected] "vtysh -c 'show bgp ipv4 unicast summary' | grep -E 'Established|Active'"
ssh [email protected] "vtysh -c 'show bgp ipv4 flowspec'" | grep -c "rate-limit"
验证GRE回注隧道MTU和丢包
ping -M do -s 1372 -c 100 172.16.0.1
1372 = 1400 - 28(IP+GRE header),100个包丢0个才算合格
直接贴命令,复制就能跑。100个ping丢超过2个,别犹豫,先查中间transit的MTU协商,十有八九是PLDT那跳没开path MTU discovery。
谁在管这套东西
老陈,前马尼拉Quadra数据中心网络运维,干了7年BGP peering和ISP互联。后来给三家东南亚跨境支付平台做抗D顾问,现在自由职业,兼管一个200人的Telegram抗D交流群。平时写东西比较糙,但参数都是实测的,不灌水。
业务在东南亚跑、隔三差五被DDoS骚扰的,别等IP被null了再想起来找方案。把GRE回注和FlowSpec调度先配好,清洗中心签约走月付就行,StrataServer那边菲律宾机器自带基础清洗额度,超出部分按流量计费,比单独找清洗中心便宜一截。先把ping命令跑一遍确认MTU没问题,剩下的对着上面的表格选方案就完了。