服务器被 DDoS 攻击,高防 IP 配置教程
一、先弄清楚你要做什么
服务器遭到 DDoS 攻击时,流量会被瞬间打满,网站打不开、远程连不上。
高防 IP 的作用就是把攻击流量引流到专门的清洗节点,只把干净流量转发回你的源服务器。
适用场景:游戏、电商、API 接口等对稳定性要求高的业务;
或者已经被攻击、想提前防御的服务器。
二、准备阶段:你需要这些东西
- 一台源服务器(国内或海外均可,IP 保持稳定)。
- 一个高防 IP 服务:常见的有阿里云高防 IP、腾讯云高防、百度智能云高防、华为云等。也可以选择第三方如知道创宇、Cloudflare(免费方案但国内速度一般)。
- 域名解析控制权(比如阿里云 DNS、Cloudflare NS)。
- 服务器登录权限(SSH 或宝塔面板后台)。
提示:先确认你买的服务器带宽是否充足,否则源站出口带宽太小照样会堵。建议源站带宽至少高于日常峰值 50%。
三、分步操作:从购买到生效
1. 购买高防 IP 实例
以阿里云为例:
- 登录阿里云控制台,搜索“高防 IP”,点击“购买高防 IP”。
- 选择线路(国内 BGP 或国际)、保底防护带宽(例如 10Gbps、20Gbps)、弹性计费方式。
- 支付后获得一个高防 IP 地址。
2. 添加转发规则
进入高防 IP 管理面板,找到“转发规则”或“端口配置”:
- 四层转发:适用于非 HTTP 协议(如游戏、API)。填写源服务器 IP 和端口,映射到高防 IP 的端口。
- 七层转发:适用于 HTTP/HTTPS 网站。需要配置域名、证书(HTTPS)、回源方式。
例如添加一条 HTTP 转发规则:
协议:HTTP
高防端口:80
源站端口:80
源站 IP:1.2.3.4
保存后高防 IP 就会把 80 端口的请求转发到你的源站。
3. 修改 DNS 解析(关键一步)
为了让用户访问高防 IP 而不是直接访问源站,需要将域名解析到高防 IP:
- 进入你的域名 DNS 管理面板(比如阿里云 DNS)。
- 把 A 记录(或 CNAME)指向高防 IP。
- 等待生效(TTL 建议提前改为 600 秒,生效更快)。
特别注意:不要直接暴露源站 IP。
如果源站 IP 之前已经暴露,建议更换源站 IP 或开启高防的源站白名单功能。
4. 配置源站白名单(可选但强烈推荐)
在高防控制台找到“回源配置”,将高防节点的出口 IP 段加入源服务器防火墙(或宝塔安全组),只允许这些 IP 回源访问。
这样即使攻击者扫描到源站 IP,也无法直接访问。
例如在 iptables 中添加:
# 假设高防节点回源 IP 段为 10.10.10.0/24
iptables -A INPUT -s 10.10.10.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP # 其他 IP 禁止访问 80 端口
四、常见避坑指南
- 源站 IP 泄露:配置完转发后,检查是否还有第三方工具能查到源站 IP(比如通过历史 DNS 记录、子域名枚举)。建议清除旧的 DNS 缓存,并关闭源站服务器上不必要的外网监听。
- 带宽不足:高防 IP 只清洗攻击流量,但如果源站出口带宽只有 5Mbps,而正常业务突发流量达到 8Mbps,依然会拥堵。源站带宽建议至少为日常峰值的 2 倍。
- HTTPS 证书不符:七层转发时,如果高防端未正确配置 SSL 证书,会导致用户访问报证书错误。务必在控制台上传完整的证书链。
- 攻击未结束时的临时处理:如果攻击流量巨大,可以先临时屏蔽海外 IP(通过防火墙区域规则),让高防 IP 先清洗大部分流量。
五、效果验证:怎么知道配置成功了
- 访问测试:在浏览器中打开你的域名,看是否能正常加载。如果正常,说明转发规则和 DNS 解析都生效。
- 查看攻击日志:高防控制台一般提供“攻击事件”或“流量图表”,可以看到清洗掉的攻击流量峰值。如果没有攻击记录且网站稳定,说明防护生效。
- 模拟测试(谨慎):可以用第三方压力测试工具(如 LoadRunner、Siege)对域名发起少量请求,观察高防 IP 是否正常回源(注意别把线上环境压垮)。
- 检查源站日志:登录源服务器,查看访问日志。如果只有高防回源 IP 段的请求,说明源站白名单正常工作。
六、结语
配置高防 IP 是应对 DDoS 攻击最成熟的手段之一。
按照本文步骤操作,大都能在半小时内完成。
如果你在实际操作中遇到“高防 IP 配置后网站依然打不开”或“攻击流量依然透传到源站”等问题,请优先检查:① DNS 解析是否指向高防 IP;
② 转发规则里的源站 IP 是否写错;
③ 源站防火墙是否放通了高防回源 IP。
高防不是万能药,但至少可以帮你扛住大部分反射型、流量型攻击。
建议业务上线前就配好,等被打了再配置会很被动。