本文最后更新于 2026 年 4 月 26 日
本文以 Debian 13 为例,介绍如何搭建 sing-box 的 Hysteria2 服务端,并说明对应的客户端配置文件的格式。本文同样完全适用于 Ubuntu 24.04 及以上系统。
本方案有以下特点:
- 基于 QUIC(UDP)传输,配合 Brutal 拥塞控制可在高丢包环境下维持较高吞吐
- 需要域名,需要 TLS 证书(本文使用 ACME DNS-01 自动签发)
- 启用 salamander 混淆以规避按标准 QUIC Initial 提取 SNI 的审查
- 配合端口跳跃以缓解运营商单端口 UDP 阻断
- 无需 Nginx 或其他 Web 服务器,客户端与 VPS 直连
该方案适用于需要 UDP 吞吐、线路存在拥塞或 QoS 的场景。对于 UDP 环境恶劣、更重视长期隐蔽性的场景,建议考虑 AnyTLS + REALITY 方案 等基于 TCP 的方案。
注:请先参照 Debian & Ubuntu 服务器的初始化配置 一文对服务器进行各种必要的配置。本文以 sammy 用户为例,进行 sing-box 的部署,并默认已按初始化配置文章对服务器进行了配置。
背景与原理
Hysteria2 与审查现状
Hysteria2 基于 QUIC 协议。有些研究显示,自 2024 年 4 月起,已开始针对特定域名实施 QUIC SNI 审查:虽然 QUIC Initial 是加密的,但其密钥可由被动观察者派生,因此审查设备可以解密 Initial 包并提取 SNI。命中规则后,会对对应的源 IP、目的 IP、目的 UDP 端口三元组实施约 180 秒的残留丢包。
这说明标准 QUIC Initial 中的 SNI 已不能视为对被动审查者不可见。需要注意的是,公开研究主要证明的是 对 QUIC Initial/SNI 的解析与阻断机制,并不等于所有未混淆 Hysteria2 流量都会被稳定识别和封锁。
因此,本文默认启用 salamander 混淆。salamander 会使外层 UDP payload 不再呈现标准 QUIC/HTTP3 形态,从而避免被按标准 QUIC Initial 提取 SNI。但这不代表流量不可检测;它仍可能表现为随机 UDP,并受到基于流量统计、持续速率或运营商 UDP 策略的影响。
在运营商层面,中国用户长期存在持续 UDP 连接被限速或单端口阻断的反馈。Hysteria 官方文档也提到,中国用户有时会遇到 ISP 阻断或限速持续 UDP 连接,且此类限制往往只作用于当前端口。因此,本文采用高位端口配合端口跳跃,作为对单端口 UDP 限制的缓解手段。
启用 salamander 后,服务器对不知道 obfs 密码的普通探测者不再表现为有效 HTTP/3 服务,因此 masquerade 不应被视为主要伪装手段。两者不是配置项互斥,但在 salamander 模式下,masquerade 的实际作用有限。
拥塞控制选择
Hysteria2 内置两种拥塞控制模式:
BBR:主流拥塞控制算法之一,不需要用户手动声明带宽,行为通常比 Brutal 更接近常规 QUIC/TCP 拥塞响应。FOCI 2025 的实验表明 Brutal 的自定义拥塞控制更容易产生可分类的统计特征;但这并不代表 BBR 完全不可被区分,只能说相对 Brutal 指纹风险更低。配置简单,适合作为首次部署的默认选择。
Brutal:用户声明目标带宽,丢包时不降速而是补偿发送。适用于骨干网拥塞(高 RTT、高丢包)场景,前提是准确声明带宽。声明值高于实际会导致大量无效重传。Brutal 只在实际传输数据时按目标速率发包,空闲时不产生额外流量。需注意 FOCI 2025 论文已在实验室环境中证明 Brutal 的恒速率行为可与标准拥塞控制统计区分,存在指纹风险。
选择建议:首次部署、免费实例、小流量配额、弱性能节点或更重视隐蔽性的场景用 BBR;优化线路或需要吞吐的普通线路,且能准确声明带宽时,可切换为保守 Brutal。
本方案不适用的场景
- 运营商实施 UDP 白名单策略(仅放行可识别协议的 UDP、阻断其余所有 UDP)
- VPS IP 已被标记为全端口 UDP 封锁
- 公司、校园、酒店等 UDP 受限网络环境(应改用 TCP 方案)