Hysteria2协议完全指南:原理、自建部署与客户端配置(2026最新)
Hysteria2 是2026年最值得关注的代理协议之一。基于 QUIC 的 UDP 传输让它在弱网、晚高峰和跨境长途链路中表现出色,迅速成为新机场与自建节点的首选协议。本文从协议原理、服务端部署到客户端配置做完整梳理。

阅读提示本文是协议深度指南,与 《Clash Verge 进阶配置完全指南》 互为补充:前者讲客户端配置框架,本文聚焦单一协议的实现细节。
一、协议原理:为什么是 Hysteria2?
1.1 协议演进背景
| 协议 | 传输层 | 抗丢包 | 伪装能力 | 适用场景 |
|---|---|---|---|---|
| Shadowsocks | TCP | 弱 | 弱 | 存量主流 |
| Trojan | TCP | 弱 | 强(HTTPS) | 中等对抗 |
| VMess/VLESS | TCP | 弱 | 中 | 通用 |
| Hysteria2 | UDP/QUIC | 强 | 强(HTTP/3) | 弱网/晚高峰 |
| VLESS Reality | TCP | 弱 | 极强 | 高对抗场景 |
| TUIC | UDP/QUIC | 强 | 中 | 已被Hy2取代 |
1.2 Hysteria2 核心特性
1. 基于 QUIC 的多路复用
- 单连接承载多路流,避免TCP队头阻塞
- 0-RTT连接复用,降低握手延迟
- 连接迁移:IP变化不断流(移动网络福音)
2. 自定义拥塞控制 Brutal
- 摆脱BBR/CUBIC对UDP的限制
- 用户声明带宽,按固定速率发包
- 在已知带宽的长肥管道上表现优异
3. 端口跳跃(Port Hopping)
- 客户端在端口范围内随机跳跃
- 规避基于端口封禁的QoS
- 配合防火墙端口范围放行
4. 伪装成 HTTP/3
- 默认TLS+HTTP/3指纹
- 与正常QUIC流量难以区分
- 支持自定义SNI和ALPN
1.3 适用与不适用场景
推荐场景:
- 移动网络/4G/5G代理
- 跨境长途链路(中美、中欧)
- 晚高峰丢包严重时段
- 需要低延迟的游戏/视频会议
不推荐场景:
- UDP被QoS严重限制的网络(部分企业网)
- 需要极致伪装的高对抗环境(Reality更优)
- 不支持UDP的老旧设备/系统
二、服务端部署:从零自建 Hysteria2 节点
2.1 准备工作
| 项目 | 要求 |
|---|---|
| VPS | 境外服务器,推荐1Gbps带宽 |
| 系统 | Debian 11+/Ubuntu 22.04+ |
| 域名 | 已解析到VPS的A记录 |
| 端口 | UDP端口开放(默认443) |
| 权限 | root或sudo权限 |
2.2 方案一:sing-box 部署(推荐)
Step 1:安装 sing-box
# 安装官方仓库sudo mkdir -p /etc/apt/keyringscurl -fsSL https://sing-box.app/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/sagernet.gpgecho "deb [signed-by=/etc/apt/keyrings/sagernet.gpg] https://deb.sagernet.org/ * *" | sudo tee /etc/apt/sources.list.d/sagernet.listsudo apt update && sudo apt install sing-box -yStep 2:申请 TLS 证书
使用 ACME 自动申请(推荐):
# 安装 acme.shcurl https://get.acme.sh | shsource ~/.bashrc
# 申请证书(替换为你的域名)acme.sh --register-account -m your@email.comacme.sh --issue -d your.domain.com --standalone -k ec-256
# 安装证书mkdir -p /etc/sing-boxacme.sh --install-cert -d your.domain.com --ecc \ --key-file /etc/sing-box/key.pem \ --fullchain-file /etc/sing-box/cert.pem \ --reloadcmd "systemctl restart sing-box"Step 3:编写配置文件
创建 /etc/sing-box/config.json:
{ "log": { "level": "info", "timestamp": true }, "inbounds": [ { "type": "hysteria2", "tag": "hy2-in", "listen": "::", "listen_port": 443, "users": [ { "name": "user1", "password": "your-strong-password-here" } ], "tls": { "enabled": true, "server_name": "your.domain.com", "key_path": "/etc/sing-box/key.pem", "certificate_path": "/etc/sing-box/cert.pem" }, "masquerade": { "type": "proxy", "proxy": { "url": "https://www.bing.com", "rewrite_host": true } } } ], "outbounds": [ { "type": "direct", "tag": "direct" } ]}Step 4:启动服务
# 启动sudo systemctl enable --now sing-box
# 查看状态sudo systemctl status sing-box
# 查看日志sudo journalctl -u sing-box -f2.3 方案二:Hysteria2 官方服务端
# 一键安装bash <(curl -fsSL https://get.hy2.sh/)
# 编辑配置vim /etc/hysteria/config.yaml配置文件示例 /etc/hysteria/config.yaml:
listen: :443
tls: cert: /etc/hysteria/cert.pem key: /etc/hysteria/key.pem
auth: type: password password: your-strong-password
masquerade: type: proxy proxy: url: https://www.bing.com rewriteHost: true
bandwidth: up: 1 gbps down: 1 gbps# 启动systemctl enable --now hysteria-server2.4 防火墙配置
UFW(Ubuntu默认):
sudo ufw allow 443/udpsudo ufw reloadiptables:
sudo iptables -A INPUT -p udp --dport 443 -j ACCEPTsudo ip6tables -A INPUT -p udp --dport 443 -j ACCEPT端口范围放行(用于端口跳跃):
# 开放20000-50000 UDP端口sudo iptables -A INPUT -p udp --dport 20000:50000 -j ACCEPT2.5 BBR 加速
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.confecho "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.confsudo sysctl -p三、客户端配置
3.1 Clash Meta(mihomo)
proxies: - name: "Hysteria2节点" type: hysteria2 server: your.domain.com port: 443 password: your-strong-password sni: your.domain.com skip-cert-verify: false up: "50 Mbps" down: "200 Mbps" # 可选:端口跳跃 ports: "20000-50000"3.2 sing-box 客户端
{ "outbounds": [ { "type": "hysteria2", "tag": "hy2-out", "server": "your.domain.com", "server_port": 443, "password": "your-strong-password", "tls": { "enabled": true, "server_name": "your.domain.com" }, "up_mbps": 50, "down_mbps": 200 } ]}3.3 Shadowrocket(iOS)
hysteria2://your.domain.com:443?auth=your-strong-password&sni=your.domain.com#节点名称或手动添加:
- 类型:Hysteria2
- 地址:your.domain.com
- 端口:443
- 密码:your-strong-password
- SNI:your.domain.com
3.4 Clash Verge Rev
在订阅中直接使用上述 Clash Meta 配置,或在「配置」-「编辑」中手动添加节点。
四、URI 链接格式
Hysteria2 标准分享链接格式:
hysteria2://your.domain.com:443/?auth=your-strong-password&sni=your.domain.com&insecure=0#节点名称参数说明:
| 参数 | 说明 | 必填 |
|---|---|---|
| auth | 认证密码 | 是 |
| sni | TLS SNI | 是 |
| insecure | 跳过证书验证(0/1) | 否 |
| alpn | ALPN协议(默认h3) | 否 |
| obfs | 混淆类型 | 否 |
| obfs-password | 混淆密码 | 否 |
| pinSHA256 | 证书指纹 | 否 |
五、性能优化
5.1 带宽提示调优
up/down 参数是 Brutal 拥塞控制的核心:
# 错误:填得过大导致丢包up: "1 gbps"down: "1 gbps"
# 正确:根据实际带宽的70-80%填写up: "50 Mbps" # 本地上行带宽down: "200 Mbps" # VPS下行带宽测试方法:
# 测试VPS到本地的实际带宽iperf3 -c your.domain.com -p 5201 -u -b 1G5.2 端口跳跃配置
服务端(sing-box):
{ "type": "hysteria2", "listen_port": 443, "hop_ports": "20000-50000"}防火墙放行端口范围:
sudo ufw allow 20000:50000/udp5.3 多用户管理
"users": [ {"name": "user1", "password": "pass1"}, {"name": "user2", "password": "pass2"}, {"name": "user3", "password": "pass3"}]5.4 流量监控
# 实时流量sudo journalctl -u sing-box -f | grep traffic
# vnstat统计sudo apt install vnstat -yvnstat -h六、伪装与抗检测
6.1 HTTP/3 伪装
默认配置即伪装为 HTTP/3 流量。可进一步优化:
"tls": { "enabled": true, "server_name": "your.domain.com", "alpn": ["h3"], "min_version": "1.3", "max_version": "1.3"}6.2 站点伪装(Masquerade)
当客户端探测节点时,服务端返回真实网站内容:
"masquerade": { "type": "proxy", "proxy": { "url": "https://www.bing.com", "rewrite_host": true }}可选伪装类型:
proxy:反向代理目标网站file:返回静态文件string:返回固定字符串
6.3 域名前置(CDN)
通过 Cloudflare 等 CDN 转发,但注意:
- 大部分CDN不支持UDP转发
- 需选择支持QUIC的CDN
- 性能损耗明显,不推荐
七、实测数据
7.1 测试环境
- VPS:洛杉矶 1Gbps
- 本地:上海电信 300M
- 测试时间:晚高峰 21:00-22:00
7.2 对比结果
| 协议 | 闲时下载 | 晚高峰下载 | 降幅 | 延迟 |
|---|---|---|---|---|
| Shadowsocks | 280 Mbps | 145 Mbps | -48% | 180ms |
| Trojan | 275 Mbps | 150 Mbps | -45% | 175ms |
| VLESS Reality | 285 Mbps | 210 Mbps | -26% | 170ms |
| Hysteria2 | 290 Mbps | 265 Mbps | -9% | 165ms |
| TUIC | 285 Mbps | 240 Mbps | -16% | 168ms |
结论:Hysteria2 在晚高峰场景下的稳定性优势显著。
7.3 弱网测试(模拟5%丢包)
| 协议 | 下载速度 | 体验 |
|---|---|---|
| Shadowsocks | 35 Mbps | 频繁卡顿 |
| Trojan | 40 Mbps | 偶尔卡顿 |
| VLESS Reality | 65 Mbps | 可用 |
| Hysteria2 | 180 Mbps | 流畅 |
八、常见问题排错
Q1:连接失败,提示 TLS 握手错误
检查项:
- 证书是否过期:
openssl x509 -in cert.pem -noout -dates - 域名是否解析正确:
dig your.domain.com - 443/UDP 是否放行:
sudo ufw status
Q2:速度慢,远低于带宽提示
调优建议:
- 准确填写
up/down(按实际带宽70-80%) - 检查VPS是否被限速
- 尝试关闭端口跳跃
- 切换拥塞控制为
bbr
Q3:部分网站无法访问
排查:
- 检查客户端分流规则
- 确认 DNS 配置(推荐 fake-ip + DoH3)
- 查看服务端日志是否有报错
Q4:移动网络下断流
原因:4G/5G切换基站时IP变化
解决:Hysteria2 默认支持连接迁移,无需重连。若仍断流,检查客户端版本是否≥1.0.0。
Q5:被运营商 QoS 限速
症状:UDP 突然降到 1-2 Mbps
解决:
- 启用端口跳跃
- 切换非标准端口(如 36712)
- 临时切换到 VLESS Reality 作为备用
九、安全建议
9.1 密码强度
使用 32 位以上随机密码:
openssl rand -base64 329.2 证书自动续期
# acme.sh 自动续期acme.sh --install-cronjob9.3 限制访问地区(可选)
"acl": { "inline": [ "allow(cc,CN)", "allow(cc,US)", "deny(all)" ]}9.4 监控异常流量
# 安装 netdatabash <(curl -Ss https://my-netdata.io/kickstart.sh>)十、与机场选择的关系
如果您不想自建,选择支持 Hysteria2 的机场更省心。目前主流推荐:
| 机场 | 协议支持 | 月费 | 特点 |
|---|---|---|---|
| Waaave | Hysteria2 专线 | ¥20+ | Hy2首选 |
| FlashCloud | IPLC + Hy2 | ¥18+ | 双协议 |
| CCYZ | CN2 GIA + Hy2 | ¥25+ | 顶级稳定 |
十一、Hysteria2 vs VLESS Reality 选择
| 维度 | Hysteria2 | VLESS Reality |
|---|---|---|
| 传输层 | UDP/QUIC | TCP |
| 抗丢包 | 极强 | 弱 |
| 伪装能力 | 强(HTTP/3) | 极强(偷取真实站点) |
| 抗封锁 | 中 | 极强 |
| 晚高峰表现 | 优秀 | 良好 |
| 移动网络 | 优秀 | 良好 |
| 部署难度 | 中 | 中 |
| 客户端支持 | 广泛 | 广泛 |
推荐策略:
- 主力:Hysteria2(弱网、晚高峰优势)
- 备用:VLESS Reality(高对抗场景)
- 详见 《VLESS Reality 协议完全指南》
十二、总结
Hysteria2 在 2026 年的代理协议生态中占据重要位置:
- 核心优势:基于 QUIC 的抗丢包能力,弱网场景无可替代
- 部署门槛:中等,15-20 分钟可完成自建
- 客户端生态:主流客户端全面支持
- 适用场景:移动网络、晚高峰、跨境长途链路
建议自建用户将 Hysteria2 作为主力协议,搭配 VLESS Reality 作为备用,兼顾性能与抗封锁能力。
📚 相关文章推荐
- 《VLESS Reality 协议完全指南》
- 《Clash Verge 进阶配置完全指南》
- 《sing-box 使用教程》
- 《如何判断机场线路类型?IEPL/IPLC/CN2解析》
- 《2026年7月机场推荐评测更新》
- 《如何选择VPN机场?科学上网避坑指南》
:::info 免责声明 本文为技术信息分享,不构成任何建议。请遵守当地法律法规,合法合规使用网络服务。 :::