单台服务器被攻击时,最有效的过渡路径是先临时限流止血,再将业务接入CDN高防清洗,同时隐藏源站IP,最终形成CDN高防组合,单机防御只能作为最后一道回源防线。
单台服务器被攻击怎么办:先判断攻击类型再止血
单台服务器就像一个人站在路口,平时能应付正常人流,一旦遇到有组织的冲击,带宽和CPU会瞬间被占满,多数中小站长遇到攻击的第一反应是重启服务器,这往往没用,因为攻击流量还在继续涌入,正确做法是先分清是流量型DDoS还是应用层CC,再决定临时策略。
攻击现象与快速判断
- 网站突然打不开,服务器CPU持续跑满,SSH登录卡顿,多半是CC攻击或小流量DDoS。
- 机房发来黑洞通告,或者服务器直接断网,通常是入向流量超过机房带宽阈值。
- 访问日志里同一秒出现大量相同UA或相同IP请求,属于典型的应用层CC特征。
- 用
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -20查看单IP连接数,排名靠前的IP连接数异常高,可疑。 - 用
netstat -an | grep SYN_RECV | wc -l查看SYN半连接数,数值持续高位说明是SYN Flood。 - 用
iftop -n查看实时带宽,入向流量远超日常峰值,大概率是UDP反射或大流量DDoS。
临时止损命令
临时止血可以执行下面几条命令,目标是在接入高防前争取时间:
- 限制单IP对80端口的并发连接:
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP - 开启TCP syncookies:
sysctl -w net.ipv4.tcp_syncookies=1 - 丢弃可疑攻击IP:
iptables -I INPUT -s 攻击IP -j DROP - 关闭无用端口:
iptables -A INPUT -p udp --dport 1:65535 -j DROP,只放行业务端口。
这些命令只能扛住小流量攻击,单台服务器的物理带宽和CPU有上限,攻击流量超过机房的带宽阈值时,运营商会直接黑洞屏蔽IP,业务就完全不可达,行业共识认为,单点防御在多数情况下只能争取到较短缓冲时间,真正的解决路径是把防御前置到CDN或高防IP上。
CDN高防和单机防御哪个好:用场景说话
很多人在纠结“CDN高防和单机防御哪个好”,这个问题没有绝对答案,要看业务类型、攻击频率和预算,先看对比:

| 维度 | 单机防御 | CDN高防组合 |
|---|---|---|
| 防御上限 | 受服务器带宽和CPU限制 | 分布式节点,单点可扛更大流量 |
| 适用场景 | 低频小流量、非核心业务 | 网站、API、电商、游戏等需持续在线 |
| 部署难度 | 低,直接在服务器配置 | 中,需要修改解析、隐藏源站 |
| 成本 | 无额外支出或仅加固费用 | 按防护带宽和请求数计费,基础套餐数千元起 |
| 业务连续性 | 攻击超过带宽即中断 | 清洗后回源,源站可保持隐身 |
结论很清楚:如果业务一天都不能中断,或者被攻击一次损失超过高防费用,就应该从单机防御过渡到CDN高防,单机防御适合做兜底,不适合做第一道防线。
从单台服务器切换到CDN高防的实操路径
许多运维第一次接入CDN高防时,顺序搞反,导致源站继续被直接攻击,正确步骤应该是:
- 在CDN控制台添加加速域名,回源地址暂时填写源站IP。
- 获取CDN分配的CNAME地址,到DNS服务商处把域名解析改为CNAME。
- 等待解析生效后,确认访问流量已经过CDN节点。
- 修改源站防火墙,仅允许CDN回源IP段访问80/443端口。
- 更换源站公网IP,这是最关键一步,不换IP攻击者仍然能直接打到源站。
- 在源站配置HTTPS证书,开启CDN缓存和CC防护策略。
- 用
curl测试回源是否正常,同时用tcpdump观察源站入向流量是否只剩回源IP。
操作中有一个常见错误:源站防火墙只封了80端口,却忘了封443、8080或其他回源端口,攻击者扫描到后仍可绕过CDN直连源站,所以隐藏源站必须做到全端口白名单,只放行CDN节点。
游戏服务器被CC攻击怎么解决:高防IP+端口转发
游戏、语音、IoT等非HTTP业务没法直接套用CDN,因为CDN本质是HTTP缓存加速,游戏服务器被CC攻击怎么解决?需要用到高防IP,原理是把攻击流量引入高防机房清洗,再把干净流量通过端口转发回源站。

非网站业务接入高防IP的配置思路
以常见的游戏TCP端口为例:
- 购买高防IP实例,选择地域时优先考虑玩家分布,例如玩家集中在华东,就选上海或杭州的高防节点。
- 在高防控制台添加转发规则:协议选择TCP,外部端口填游戏端口如27015,内部回源填源站IP和相同端口。
- 把客户端连接地址从源站IP改为高防IP。
- 在源站安全组或iptables里只放行高防IP段的回源流量:
iptables -A INPUT -s 高防IP段 -p tcp --dport 27015 -j ACCEPT,然后再iptables -A INPUT -p tcp --dport 27015 -j DROP。 - 关注高防IP的清洗阈值和业务带宽上限,避免清洗误杀正常玩家。
业内专家指出,游戏类业务对延迟敏感,选择高防IP时除了看防护峰值,还要看节点到源站之间的回源链路质量,否则清洗后延迟增加,玩家体验会明显下降。
CDN高防价格一般多少:预算怎么算才不踩坑
“CDN高防价格一般多少”是搜索量很高的长尾词,价格没有统一标准,主要受几个因素影响:
- 保底防护带宽:比如10G、50G、100G,级差明显,防护越高价格越高。
- 业务带宽:正常访问业务消耗的带宽,和攻击流量分开计费。
- 请求数:CC防护按HTTPS请求次数或QPS计费,动态请求多的站点成本更高。
- 地域节点:北京、上海、广州等一线城市节点由于带宽资源紧张,价格略高于二三线,但延迟更低。
中小网站用基础套餐,包年价格普遍在数千元到数万元之间,高防IP如果选择弹性防护,可按天或按攻击峰值计费,适合攻击不频繁的业务。不要一上来就买最高防护,先评估日常带宽和攻击历史,从基础档开始,遇到攻击再临时升级。
如何根据业务选套餐避免浪费
多的网站,优先关注缓存命中率和CDN流量费。
- API和动态请求多的业务,优先看CC防护能力和QPS限制。
- 游戏类业务按端口和防护峰值计算,不要只盯着价格。
- 上海网站服务器防攻击方案中,如果源站放在上海BGP机房,CDN和高防节点也选华东,回源延迟可控制在较低水平。

上海网站服务器防攻击方案:地域部署与源站隐藏
海为例,很多企业源站放在上海BGP机房,因为本地访问速度快,但被攻击时,上海单机房的带宽同样会被打满,过渡到CDN高防组合后,上海源站的角色会改变:不再直接面向用户,只接收来自CDN或高防的回源请求。
源站隐藏与只允许CDN回源的具体操作
下面是源站在CentOS上的iptables白名单配置思路:
- 先放行CDN回源IP段:
iptables -A INPUT -s CDN回源IP段 -p tcp --dport 443 -j ACCEPT - 再放行本地管理和SSH地址:
iptables -A INPUT -s 办公IP -p tcp --dport 22 -j ACCEPT - 最后默认丢弃所有对外服务端口:
iptables -A INPUT -p tcp --dport 443 -j DROP
云服务器还可以使用安全组,只放行CDN官方公布的回源IP段,注意每月要检查一次CDN回源IP是否有更新,否则回源失败会导致网站间歇性打不开,源站IP一旦泄露,比如在历史DNS记录、邮件头、网站源码注释里,需要立即更换IP并重新配置白名单。
从单台服务器到CDN高防组合的核心问题解答
单台服务器被攻击怎么办才能快速恢复业务?
先通过netstat和iftop判断攻击类型,用iptables限制单IP连接数和开启syncookies临时止血,然后尽快在CDN或高防控制台添加域名或端口转发规则,修改解析或客户端地址,最后更换源站IP并设置回源白名单,整个过程顺序不能乱,先改解析后换IP,业务中断时间最短。
CDN高防和单机防御哪个好,中小企业预算有限怎么选?
如果业务是网站或API,且攻击频率较高,CDN高防组合明显优于单机防御,预算有限时可以先购买基础套餐,源站继续做IP白名单和限流,遇到大流量攻击再临时升级防护峰值,单机防御只适合作为最后一道防线,不建议单独依赖。
CDN高防价格一般多少,有没有便宜的高防方案?
CDN高防价格受防护带宽、业务带宽、请求数和地域影响,基础套餐包年普遍在数千元到数万元区间,便宜方案可以先用免费CDN配合基础DDoS防护,但免费版通常不包含高防清洗,遇到大流量攻击仍需付费升级,高防IP弹性防护按天计费,攻击不频繁时成本可控。