服务器被 DDoS 攻击,如何快速切换 IP?
网站或游戏服务器突然被DDoS攻击,CPU和带宽被打满,机房直接黑洞封IP。
这时候等你买高防IP或临时扩容往往来不及,最直接的办法是立刻切换一个新IP,让攻击流量找不到目标。
本文以主流的阿里云、腾讯云为例,手把手教你完成切换,全程不需要敲复杂命令,有控制台就能操作。
动手前先确认三件事
- 确认当前IP类型:登录云厂商控制台,查看服务器绑定的公网IP是“弹性公网IP(EIP)”还是“普通公网IP”。弹性IP可以随时解绑再绑定到新IP,普通IP需要先转为弹性IP才能切换。如果不支持弹性IP,部分厂商(如腾讯云)提供“更换公网IP”按钮,直接点就能换。
- 确认攻击是否还在持续:如果攻击仍在进行,切完新IP后攻击者可能继续打新IP(如果域名未解析或IP未泄露则安全)。建议配合CDN或高防转发隐藏新IP。
- 备份关键配置:记下当前服务器的安全组、白名单、DNS记录,切换后需要同步到新IP。
操作步骤:解绑旧IP → 申请新IP → 绑定
以阿里云ECS为例(腾讯云及其他厂商逻辑类似):
- 解绑当前公网IP:在控制台找到“弹性公网IP”管理页面,找到当前绑定的EIP,点击“解绑”。注意解绑后服务器会立即失去公网访问,但内网连接不受影响。如果你用的是普通公网IP,需要先转为弹性公网IP再执行解绑。
- 释放或保留旧IP:旧IP如果不再使用,可以释放(避免计费)。如果担心被反向追踪,建议直接释放。
- 申请新弹性公网IP:在“弹性公网IP”页面点击“申请”,选择与服务器相同地域的线路(按量付费即可,攻击停止后可释放)。
- 绑定新IP到服务器:在新创建的EIP操作列点击“绑定”,选择目标ECS实例,确认后服务器就获得了一个全新IP。
- 更新域名解析:去DNS管理后台(如阿里云DNS、DNSPod),把A记录或CNAME指向新IP。TTL值可以临时设成60秒,加速生效。
腾讯云用户操作路径:云服务器 → 实例详情 → “IP与弹性网卡” → “更换公网IP” → 确认更换。
这一步会直接分配一个新IP并自动绑定,无需手动解绑。
避坑要点:防止二次被攻击
- 不要立即释放旧IP:等待至少10分钟,等DNS缓存逐步更新,旧IP上的残留流量散尽后再释放,避免解析交替导致部分用户访问失败。
- 复制安全组规则:新IP绑定后,安全组、防火墙规则会自动沿用原实例配置,但入方向白名单(比如只允许特定IP访问)需要手动检查,确认没有遗漏。
- 隐藏新IP:如果攻击者知道你的源站IP(比如通过历史DNS记录),切换后建议使用CDN(Cloudflare、阿里云CDN)或高防IP将新IP设为源站,对外只暴露CDN节点。
- 快速切换时别忘内网服务:如果服务器有内网数据库、缓存等依赖,换IP不影响内网,但确保域名解析或客户端配置中没有写死老IP。
验证切换是否生效
- 检查公网连通性:在本机执行
ping 新IP,如果能收到回复且延迟正常,说明网络层通了。如果超时,检查安全组是否放通了ICMP协议(通常默认放行)。 - 查看业务是否恢复:用
curl -I http://新IP测试Web服务状态码,返回200表示正常。如果是游戏服务器,通过客户端登录查看延迟和连接数。 - 观察攻击是否停止:登录云厂商的“DDoS高防监控”或实例监控页面,查看流量曲线是否回落。如果攻击流量仍然打到新IP,说明攻击者通过其他渠道(如程序扫描、已泄露的域名)定位到了新IP,此时需要立即启用高防清洗服务。
- 检查域名解析是否生效:使用
nslookup 你的域名或在线DNS检测工具,确认解析记录已指向新IP。注意本地DNS缓存可能需要几分钟刷新。
常见高频问答
Q:切换IP后攻击消失了,过几天又被打了,怎么办?
A:说明源站IP被再次暴露。建议升级防护策略:购买阿里云DDoS高防或腾讯云大禹,将新IP作为源站隐藏在防护节点后面。如果预算紧张,临时方案是频繁换IP(每次换后隐藏好),但治标不治本。
Q:我用的不是弹性IP,也没有“更换公网IP”按钮?
A:部分旧版实例或经典网络无法直接换IP。你可以通过“创建自定义镜像 → 用镜像创建新实例 → 分配新IP → 迁移数据”的方式迂回解决,但耗时较长。建议升级到支持弹性IP的VPC网络。
Q:切换IP期间网站会不会彻底断网?
A:解绑旧IP到绑定新IP之间会有几十秒公网中断,但解析更新前用户仍会访问到旧IP(旧IP还在的话)。为了最小化影响,可以先将旧IP保留(不释放),等新IP绑定并确认解析生效后再释放旧IP,这样能实现平滑过渡。
如果你正在处理服务器被DDoS攻击、如何快速切换IP的问题,建议先按上述三步操作,同时提前准备好高防或CDN方案作为长期防御。
遇到异常时优先回看避坑和高频问题部分,大多数换IP失败都出在安全组遗漏或旧IP释放过早这两个环节。