DDoS 防护的账单风险不在单价,而在计费口径。本文用 9 个问答讲清高防与清洗服务的计费方式、攻击流量算不算钱、保底与弹性带宽怎么配、清洗次数上限与回源费用,以及怎么把防护总成本算清楚。
Q:DDoS 高防到底有几种计费方式?
- 保底带宽加弹性带宽(最常见):包月买一个保底清洗带宽,超出部分按峰值或按 95 计费。
- 按流量计费:按清洗流量或攻击流量的总流量(GB / TB)结算,用多少算多少。
- 按清洗事件计费:每次触发清洗单独收费,或按年包干固定次数。
- 先确认一点:你买的是「按带宽」还是「按流量」。这决定了账单是稳定还是可能失控,也决定了你该盯哪个指标。
Q:攻击流量到底算不算钱?
- 这是最容易被忽略、也最容易让账单失控的一问。行业里三种做法都存在:攻击流量也计入流量账单、只对清洗后的干净流量计费、攻击流量免费但限制清洗次数。
- 必须让服务商在合同或工单里书面写清三件事:攻击流量是否计费、计费口径是入向还是出向、是否包含回源流量。
- 自己先把真实规模量出来,谈价格才有底气:
# 1) 实时出入向带宽(单位 Mbps),看攻击峰值到底多大
sar -n DEV 1 5 | grep -E 'eth0|IFACE'
# 2) 按月累计流量,vnstat 最直观
vnstat -m
# 3) pps 与带宽一起看,区分「带宽型」还是「小包型」攻击
sar -n DEV 1 5 | awk '/eth0/ {print "rx_pps="$4" tx_pps="$5}'
- 带宽型攻击(大包)看 Mbps 就够;小包攻击(SYN / ACK Flood)带宽不高但 pps 极高。很多计费只盯带宽,会低估你真正需要买多大防护。
Q:什么是 95 计费?一个尖峰会不会被放大成整月账单?
- 95 计费的原理:把一个月内每 5 分钟的采样峰值排序,去掉最高的 5%(约 36 个点),剩下的最大值就是计费带宽。
- 好处是偶发尖峰不会直接放大成整月账单;坏处是持续性攻击会把你整月顶在峰值上。
- 折算一下:一个月约 8640 个 5 分钟采样点,5% 大约是 36 个点,也就是攻击累计持续超过约 3 小时,尖峰就会开始计入账单,别指望「打一下就跑」能省钱。
# 用采样峰值估算 95 计费值(peaks.txt 每行一个采样点,单位 Mbps)
sort -nr peaks.txt | awk '{a[NR]=$1} END{print a[int(NR*0.05)+1]" Mbps"}'
Q:保底带宽买小了会怎样?
- 超出保底的部分通常有两种处理:按弹性带宽高价计费,或直接限速丢包。两种都要提前问清楚。
- 需要明确问到的四点:超出怎么算(按峰值 / 95 / 按量)、有没有封顶、超了会不会直接进黑洞、限速后业务是否可用。
- 保底基准建议按近 3 个月业务峰值的 1.5 到 2 倍来买,而不是按攻击峰值。攻击峰值靠弹性带宽与清洗能力去扛,业务峰值才是保底的真实依据。
Q:清洗次数与清洗流量有上限吗?
- 不少高防产品带「每月清洗次数」或「每月清洗流量」上限,超限后加价、降级甚至停止防护。
- 必问三件事:上限是多少、超限后怎么处理、能否临时提额(提额免费还是收费)。
- 日常被小流量骚扰的站点尤其要盯这一条:一次几百兆的骚扰看着不起眼,一个月来十几次就把额度用完了,真正被打时反而没了子弹。
Q:回源流量谁买单?
- 高防与 CDN 回源到源站的流量通常单独计费,或计入源站所在云厂商的出向流量。
- 攻击期间回源量会被放大:清洗不干净、缓存命中率低,回源流量账单可能比防护费还高。
- 加固思路:源站开缓存、回源限速限连接、静态资源下沉到 CDN,减少回源次数与总量。
# Nginx:限制回源速率与并发,避免高防回源把源站打爆
limit_req_zone $binary_remote_addr zone=upstream:10m rate=50r/s;
limit_conn_zone $binary_remote_addr zone=upconn:10m;
server {
limit_req zone=upstream burst=100 nodelay;
limit_conn upconn 50;
limit_req_status 429;
}
Q:黑洞阈值、限速阈值和 SLA 赔付怎么看?
- 黑洞阈值:触发黑洞等于业务直接中断,必问触发阈值、黑洞时长、解封方式(自动还是工单)。
- 限速阈值:超过防护能力后是限速还是直接丢包,决定业务是「慢」还是「挂」。
- SLA 与赔付:清洗能力不足导致的停服是否赔付、按什么口径赔(按时长、按比例退费,还是仅给代金券)。
- 攻击报告:是否免费提供、包含哪些字段(起止时间、峰值带宽与 pps、攻击类型、TOP 源 IP 与归属地、拦截与穿透次数)。要原始数据,不要只有截图。
Q:有没有办法把防护总成本压下来?
- 静态资源全部走 CDN,攻击打静态资源不消耗源站带宽、不产生回源流量。
- 把缓存命中率做上去,回源流量与源站压力同步下降,这是少数能同时省钱又提防护的动作。
- 保底买小、弹性配足,把成本押在「用到才付」的弹性上,而不是长期为峰值付费。
- 源站只放行回源网段,避免域名解析泄露后被绕过防护直打源站。
- 别忽略隐性成本:攻击期间日志写入的磁盘 IO、带宽持续占用、以及业务中断造成的订单损失,往往比防护套餐贵得多。
Q:还有什么补充建议?
- 所有计费口径一定要落到书面,口头承诺在结算时基本不算数。
- 上线前做一次小规模压测,摸清「防护触发点」和「计费触发点」分别在哪,避免被两套阈值夹在中间。
- 算总成本时把防护费、回源流量费、带宽费三项加一起,别只看套餐标价。
- 一句话总结:DDoS 防护的账单风险不在单价,而在计费口径——攻击流量算不算钱、保底买多大、清洗有没有上限、回源谁买单,这四件事提前问清楚,才不会被账单反噬。