2290 字
11 分钟

Hysteria2协议完全指南:原理、自建部署与客户端配置(2026最新)

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

Hysteria2协议完全指南

阅读提示

本文是协议深度指南,与 《Clash Verge 进阶配置完全指南》 互为补充:前者讲客户端配置框架,本文聚焦单一协议的实现细节。


一、协议原理:为什么是 Hysteria2?#

1.1 协议演进背景#

协议传输层抗丢包伪装能力适用场景
ShadowsocksTCP存量主流
TrojanTCP强(HTTPS)中等对抗
VMess/VLESSTCP通用
Hysteria2UDP/QUIC强(HTTP/3)弱网/晚高峰
VLESS RealityTCP极强高对抗场景
TUICUDP/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

Terminal window
# 安装官方仓库
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://sing-box.app/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/sagernet.gpg
echo "deb [signed-by=/etc/apt/keyrings/sagernet.gpg] https://deb.sagernet.org/ * *" | sudo tee /etc/apt/sources.list.d/sagernet.list
sudo apt update && sudo apt install sing-box -y

Step 2:申请 TLS 证书

使用 ACME 自动申请(推荐):

Terminal window
# 安装 acme.sh
curl https://get.acme.sh | sh
source ~/.bashrc
# 申请证书(替换为你的域名)
acme.sh --register-account -m your@email.com
acme.sh --issue -d your.domain.com --standalone -k ec-256
# 安装证书
mkdir -p /etc/sing-box
acme.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:启动服务

Terminal window
# 启动
sudo systemctl enable --now sing-box
# 查看状态
sudo systemctl status sing-box
# 查看日志
sudo journalctl -u sing-box -f

2.3 方案二:Hysteria2 官方服务端#

Terminal window
# 一键安装
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
Terminal window
# 启动
systemctl enable --now hysteria-server

2.4 防火墙配置#

UFW(Ubuntu默认)

Terminal window
sudo ufw allow 443/udp
sudo ufw reload

iptables

Terminal window
sudo iptables -A INPUT -p udp --dport 443 -j ACCEPT
sudo ip6tables -A INPUT -p udp --dport 443 -j ACCEPT

端口范围放行(用于端口跳跃)

Terminal window
# 开放20000-50000 UDP端口
sudo iptables -A INPUT -p udp --dport 20000:50000 -j ACCEPT

2.5 BBR 加速#

Terminal window
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo 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 配置,或在「配置」-「编辑」中手动添加节点。

详见 《Clash Verge 进阶配置完全指南》


四、URI 链接格式#

Hysteria2 标准分享链接格式:

hysteria2://your.domain.com:443/?auth=your-strong-password&sni=your.domain.com&insecure=0#节点名称

参数说明

参数说明必填
auth认证密码
sniTLS SNI
insecure跳过证书验证(0/1)
alpnALPN协议(默认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下行带宽

测试方法

Terminal window
# 测试VPS到本地的实际带宽
iperf3 -c your.domain.com -p 5201 -u -b 1G

5.2 端口跳跃配置#

服务端(sing-box):

{
"type": "hysteria2",
"listen_port": 443,
"hop_ports": "20000-50000"
}

防火墙放行端口范围:

Terminal window
sudo ufw allow 20000:50000/udp

5.3 多用户管理#

"users": [
{"name": "user1", "password": "pass1"},
{"name": "user2", "password": "pass2"},
{"name": "user3", "password": "pass3"}
]

5.4 流量监控#

Terminal window
# 实时流量
sudo journalctl -u sing-box -f | grep traffic
# vnstat统计
sudo apt install vnstat -y
vnstat -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 对比结果#

协议闲时下载晚高峰下载降幅延迟
Shadowsocks280 Mbps145 Mbps-48%180ms
Trojan275 Mbps150 Mbps-45%175ms
VLESS Reality285 Mbps210 Mbps-26%170ms
Hysteria2290 Mbps265 Mbps-9%165ms
TUIC285 Mbps240 Mbps-16%168ms

结论:Hysteria2 在晚高峰场景下的稳定性优势显著。

7.3 弱网测试(模拟5%丢包)#

协议下载速度体验
Shadowsocks35 Mbps频繁卡顿
Trojan40 Mbps偶尔卡顿
VLESS Reality65 Mbps可用
Hysteria2180 Mbps流畅

八、常见问题排错#

Q1:连接失败,提示 TLS 握手错误#

检查项

  1. 证书是否过期:openssl x509 -in cert.pem -noout -dates
  2. 域名是否解析正确:dig your.domain.com
  3. 443/UDP 是否放行:sudo ufw status

Q2:速度慢,远低于带宽提示#

调优建议

  1. 准确填写 up/down(按实际带宽70-80%)
  2. 检查VPS是否被限速
  3. 尝试关闭端口跳跃
  4. 切换拥塞控制为 bbr

Q3:部分网站无法访问#

排查

  1. 检查客户端分流规则
  2. 确认 DNS 配置(推荐 fake-ip + DoH3)
  3. 查看服务端日志是否有报错

Q4:移动网络下断流#

原因:4G/5G切换基站时IP变化

解决:Hysteria2 默认支持连接迁移,无需重连。若仍断流,检查客户端版本是否≥1.0.0。

Q5:被运营商 QoS 限速#

症状:UDP 突然降到 1-2 Mbps

解决

  1. 启用端口跳跃
  2. 切换非标准端口(如 36712)
  3. 临时切换到 VLESS Reality 作为备用

九、安全建议#

9.1 密码强度#

使用 32 位以上随机密码:

Terminal window
openssl rand -base64 32

9.2 证书自动续期#

Terminal window
# acme.sh 自动续期
acme.sh --install-cronjob

9.3 限制访问地区(可选)#

"acl": {
"inline": [
"allow(cc,CN)",
"allow(cc,US)",
"deny(all)"
]
}

9.4 监控异常流量#

Terminal window
# 安装 netdata
bash <(curl -Ss https://my-netdata.io/kickstart.sh>)

十、与机场选择的关系#

如果您不想自建,选择支持 Hysteria2 的机场更省心。目前主流推荐:

机场协议支持月费特点
WaaaveHysteria2 专线¥20+Hy2首选
FlashCloudIPLC + Hy2¥18+双协议
CCYZCN2 GIA + Hy2¥25+顶级稳定

详见 《2026年7月机场推荐评测更新》


十一、Hysteria2 vs VLESS Reality 选择#

维度Hysteria2VLESS Reality
传输层UDP/QUICTCP
抗丢包极强
伪装能力强(HTTP/3)极强(偷取真实站点)
抗封锁极强
晚高峰表现优秀良好
移动网络优秀良好
部署难度
客户端支持广泛广泛

推荐策略


十二、总结#

Hysteria2 在 2026 年的代理协议生态中占据重要位置:

  1. 核心优势:基于 QUIC 的抗丢包能力,弱网场景无可替代
  2. 部署门槛:中等,15-20 分钟可完成自建
  3. 客户端生态:主流客户端全面支持
  4. 适用场景:移动网络、晚高峰、跨境长途链路

建议自建用户将 Hysteria2 作为主力协议,搭配 VLESS Reality 作为备用,兼顾性能与抗封锁能力。


📚 相关文章推荐#


:::info 免责声明 本文为技术信息分享,不构成任何建议。请遵守当地法律法规,合法合规使用网络服务。 :::

Hysteria2协议完全指南:原理、自建部署与客户端配置(2026最新)
https://971918.xyz/posts/proxy-tools/hysteria2-protocol-guide/
作者
九所长
发布于
2026-07-04
许可协议
CC BY-NC-SA 4.0