Hysteria2 收到云厂商 DDoS 警告邮件怎么办?多半是带宽拉满加端口狂跳
先说结论
如果你在 VPS 上跑着 Hysteria2,突然收到云厂商(Google Cloud、Oracle、AWS 这些)的警告邮件,说你的服务器"正在对外发起 DDoS 攻击"——先别慌,大概率不是你被黑了,也不是你真的在攻击别人。这是 Hysteria2 的正常流量特征撞上了云厂商的自动滥用检测系统。
这个案例来自 Hysteria 官方 GitHub 讨论区(Discussion #1395):发帖人把服务器放在 Google Cloud 上,“仅仅是用来观看 YouTube”,却收到了 Google 的 DDoS 警告邮件。唯一的回复一针见血:“你是没设定好吧。带宽拉满,端口狂跳。”
为什么 Hysteria2 容易触发警告
三件事叠在一起,你的流量在云厂商的自动检测眼里就很像攻击:
1. UDP 协议本身就敏感。 Hysteria2 基于 QUIC,走的是 UDP。UDP 无连接、易伪造源地址,是历史上反射放大攻击的重灾区,云厂商对异常 UDP 流量的容忍度天然就比 TCP 低。
2. 带宽不设上限或设得过高。 服务端的 bandwidth 参数如果留空或者直接拉到机器上限,客户端测速或跑满时,PPS(每秒包数)和流量曲线会突然冲很高——这正是洪水攻击的典型特征。关于带宽设多少合适,见Hysteria2 速度慢怎么办,那篇讲了带宽设错反而更慢的原理。
3. 端口跳跃范围开得太大。 端口跳跃的本意是抗封锁,但如果你开了几万个端口的跳跃范围(比如 20000-50000),服务端在短时间内向大量不同端口发包,在检测系统看来就和端口扫描没什么区别。端口跳跃的合理配法见Hysteria2 端口跳跃配置。
“带宽拉满"加"端口狂跳”,两个一叠加,自动检测系统很难不把你当攻击者。
自查清单:先排除真的被利用
在动手改配置之前,先确认你的服务器没有真的被当成跳板:
- 看服务端的流量统计,确认外发流量是你自己在用(看 YouTube、传文件),没有来历不明的持续大流量。
- 检查有没有开放了不该开放的端口或服务,确认只有 Hysteria2 在监听。
- 如果流量确实是你自己的,那就按下一节整改配置。
如果你怀疑是被封而不是被警告(连不上、速度被限),先看Hysteria2 是被封还是被 QoS 限速,用对照测试自己判断。
整改:两个参数改到位
带宽按实际线路设,别贪多。 bandwidth 的 up/down 按你 VPS 的真实带宽填,比如 1Gbps 的机器填 900mbps 左右,留一点余量。不要留空(留空等于告诉客户端"随便跑"),也不要填超过机器实际能力的值。
端口跳跃范围收小。 够用就行,几百个端口的范围对抗封锁已经够了,没必要开几万个。范围越小,流量特征越"正常"。
改完重启服务,观察一两天。如果没再收到警告邮件,说明整改有效。
收到邮件后怎么回复云厂商
警告邮件别无视,云厂商的滥用警告一般有处理时限,不回复不整改可能被暂停实例。回复时说明三点就行:
- 这是你自己搭建的代理服务(基于 QUIC/UDP 协议),不是恶意软件。
- 流量是你本人正常使用产生的(视频、文件传输)。
- 已经调整了配置:限制了带宽上限、缩小了端口跳跃范围,附上整改后的关键配置片段。
态度配合、整改到位,一般第一次警告不会直接封号。
如果你是按一键脚本装的
先回Hysteria2 一键安装脚本核对一遍安装后的验证步骤和 UDP 放行,确认服务本身装得没问题,再按上面改 bandwidth 和端口跳跃范围这两个参数。脚本默认配置偏向"跑起来",不偏向"低调",生产环境用建议手动收紧一下。