上周有个做棋牌(别紧张,正规休闲类)的客户找我,说买了某家的高防CDN,月付两千多,结果周末挨了一波380G的UDP反射,CDN那边直接弹回源站,服务器3分钟就宕了。他问我:不是说买了高防吗?
讲白了,CDN和高防服务器是两种完全不同的防护思路。CDN靠分布式pop点把香港高防服务器的流量打散,主要清洗L7层的HTTP Flood(CC攻击);高防服务器是在机房出口部署硬件清洗设备,硬扛L3/L4层的SYN Flood、UDP反射这种volumetric攻击。你拿CDN去挡UDP反射,等于拿雨伞挡洪水(别笑,真有人这么干)。
CDN和高防服务器到底咋回事
CDN的防护逻辑:你的域名解析到CDN的Anycast路由上,用户请求先到最近的pop点,静态内容直接缓存返回,动态请求回源。攻击流量也被分散到几百个pop点上稀释。问题是——一旦攻击量超过CDN的共享带宽池上限,或者攻击者直接打你泄露的源站IP,CDN就形同虚设。
高防服务器的防护逻辑:你的服务器IP本身就是高防IP,机房出口有专用清洗集群。所有进出流量先过清洗设备,恶意包在硬件层面就被丢掉了。源站IP不需要隐藏,因为它本身就扛得住。你能拿到root权限,自己调SYN Cookie阈值、改iptables规则、调内核参数,CDN给你这些权限?想多了。
- CDN管的是分散+缓存+L7清洗,适合网站、图片站、API网关
- 高防服务器管的是硬扛+独占带宽+L3/L4清洗,适合游戏、交易、VoIP
- CDN的带宽是共享池,高峰期大家一起抢;高防服务器是你独占的,买多少G就是多少G
一张表把两者扒个底朝天
| 对比项 | 高防CDN | 高防服务器 |
|---|---|---|
| 防护层级 | L7为主,L3/L4靠共享池稀释 | L3/L4硬件清洗 + 可选L7 WAF |
| 源站IP暴露 | 理论上隐藏,实际历史DNS/SSL证书常泄露 | IP就是高防IP,不怕暴露 |
| TCP长连接支持 | 拉胯,缓存层会断连 | 原生支持,游戏/交易随便跑 |
| 内核调优权限 | 零,你碰不到底层 | root全权限,sysctl随便改 |
| 带宽计费 | 按流量/共享池,攻击时可能加钱 | 独占保底带宽,买定离手 |
| 典型扛量 | CC扛得住,UDP超100G大概率弹回 | 300G-1T独享清洗,看机房实力 |
这4种情况碰CDN必翻车
直说了,以下情况你买CDN就是白扔钱:
- 跑的是游戏服/实时交易,TCP长连接一断用户直接掉线,CDN缓存层根本不该插在这中间
- 源站IP早就泄露了(历史DNS记录、SSL证书透明度日志都能查到),攻击者绕过CDN直接打源站,你CDN买再贵也白搭
- 挨的是UDP反射/NTP放大这种纯volumetric攻击,CDN的L7清洗策略对此基本无效,流量直接灌穿共享池
- 你需要自己调内核参数(net.ipv4.tcp_syncookies、nf_conntrack_max这些),CDN不给你服务器权限,干瞪眼
那什么时候该用CDN?你是内容站、电商前端、图片视频分发,用户遍布多地,需要缓存提速+防CC,CDN是对的路子。但别指望它替你扛住400G的UDP。
排障的时候怎么判断源站是不是被绕过了?直接贴命令,复制就能跑:
# 抓100个SYN包看来源IP分布,判断是否被绕过CDN直打
tcpdump -i eth0 -nn 'tcp[tcpflags] & (tcp-syn) != 0' -c 100 | \
awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20
如果top IP全是境外随机段,说明攻击者已经拿到你源站真实IP了
这时候CDN等于摆设,赶紧切高防服务器或者换IP
选高防服务器盯紧这3个参数
如果你确认自己的业务需要高防服务器而不是CDN,选的时候别光看"多少G防护"这种营销数字,盯紧这几个:
- 清洗设备响应时间——超过5秒的别要,攻击前5秒打不干净你服务器就没了
- 带宽是不是真独占——有些商家写的100G是共享池峰值,实际给你保底可能就20G
- 有没有本地清洗——流量是不是真在香港机房本地洗,还是绕到内地再弹回来,延迟差30ms以上
如果你实在拿不准哪家靠谱,像StrataServer这种在香港本地做高防服务器起家的,清洗集群是自家部署在HK机房出口的,不是转手倒卖的二手带宽,至少你打电话过去能直接找到运维而不是客服转接三层。
关于作者
贺工,前华南某运营商省公司骨干网运维组,干了13年DDoS清洗和BGP路由调优,2024年经手过最大一次攻击是某游戏客户挨的720Gbps UDP反射。现在自己接安全咨询的散活,偶尔在群里帮人看抓包。信奉一句话:扛不扛得住,看的不是你买了多少G,是清洗设备响应够不够快。
攻击不等人。你现在源站IP要是已经泄露了,每多裸奔一小时就多一小时被打穿的风险。先跑上面那条tcpdump看看有没有异常SYN源,有的话当天就切高防,别等到周末挨了打再找人了。