跳到正文
不翻车专注 VPN 软件评测

3x-ui 一台服务器开两个节点:Reality + Hysteria2 自动切换

不翻车编辑部 · 更新于

Clash Verge 代理页:PROXY 组类型 Fallback,当前用主力,下面是主力(Reality)和备用(HY2)两个组

服务器上只有一个节点,它的端口被封,就全断了。在同一台服务器上再开一个不同协议、不同端口的节点,再让 Clash 订阅自动切换,平时走 Reality,Reality 连不上就自动换到 Hysteria2(下文简称 HY2)。2026 年 10 月 15 日,我们在测试服务器(3x-ui v3.10.2)上配好以后,把 Reality 的端口故意改错来模拟被封:第 1 次访问 Google 失败,从第 2 次起全部正常,走的是备用节点。

这篇有视频版:YouTube 上看《节点被封就全断?同一台服务器再开一个,自动切换》。

先说清楚它管不了的情况:整个 IP 被封,两个节点会一起断,那只能换 IP,做法见 VPS 被墙了怎么办。

为什么换协议、换端口?

上一篇讲过,防火长城拉黑服务器时,有时只封一个端口。原来的 Reality 走 TCP 443,备用的 HY2 走 UDP 8443,两条路互不相干,封了一条,另一条还能用。

主力 备用
协议 VLESS + Reality Hysteria2
传输 TCP UDP
端口 443 8443

主力还没建的,先按完整教程建好 Reality 节点。

第 1 步:建 HY2 节点

入站 → 添加入站,协议选 hysteria。面板里叫这个名字,导出来的就是 hysteria2:// 链接。

3x-ui v3.10.2 添加入站的协议下拉框:vmess、vless、trojan、shadowsocks、wireguard、hysteria、http、mixed

备注写一个自己认得的(我们用 bufanche-hy2),端口改成 8443。

添加入站基础配置:备注 bufanche-hy2,协议 hysteria,端口 8443

传输这一页保持默认。它默认带一层 Salamander 混淆(面板上的说明是 Scrambles each packet into random-looking bytes,把每个包打乱成看不出规律的字节),密码面板自动填好,不用改。

传输页:UDP Mask 1 类型 Salamander (Hysteria2),混淆密码已打码

安全这一页是 TLS。点 「从面板设置证书」,公钥、私钥路径会自动填成 /root/cert/ip/fullchain.pem 和 privkey.pem,也就是装面板时申请的那张 IP 证书。

安全页:TLS,ALPN h3,点从面板设置证书后填好了证书路径

再把嗅探打开,点创建。入站列表多了一行:8443、hysteria、UDP。

入站列表:bufanche-reality 443 vless TCP Reality,bufanche-hy2 8443 hysteria UDP

第 2 步:放行 UDP 端口

这一步最容易错:HY2 走 UDP,放行的也必须是 UDP。

ufw allow 8443/udp

服务商后台有安全组的,也要放开 UDP 8443。只放了 TCP,HY2 是连不上的。

第 3 步:用户关联两个节点

客户端页面,编辑原来的用户,关联入站里再勾上 bufanche-hy2,保存。这样同一个用户、同一条订阅里,就有两个节点了。

编辑客户端:关联入站里勾选了 bufanche-reality 和 bufanche-hy2

这时客户端更新订阅,代理组里已经能看到两个节点,可以手动选。但手动切太麻烦,下一步让它自己换。

第 4 步:订阅里加自动切换

面板设置 → 订阅设置 → Clash / Mihomo,「启用路由」要开着。把原来填三行直连规则的框,整段换成下面这些,保存,重启面板:

proxy-groups:
  - name: PROXY
    type: fallback
    proxies: [主力, 备用]
    url: https://www.gstatic.com/generate_204
    interval: 300
  - name: 主力
    type: select
    include-all: true
    filter: reality
  - name: 备用
    type: select
    include-all: true
    filter: hy2
rules:
  - GEOSITE,private,DIRECT
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT

意思是:

  • 节点名字里带 reality 的进「主力」组,带 hy2 的进「备用」组。
  • 最上面的 PROXY 组用 fallback:按顺序用第一个能连上的,每 300 秒(5 分钟)检查一次。
  • rules 下面是原来的三行国内直连规则,别漏了。

**按名字分组是关键。**你的入站备注里没有 reality、hy2 这几个字的话,把两个 filter: 后面换成你自己备注里的字,否则分组是空的。

为什么不直接用一个 include-all 的 fallback 组?我们试过,那样节点按名字排序,bufanche-hy2 排在 bufanche-reality 前面,备用反倒成了主力。分成两组,顺序就由 proxies: [主力, 备用] 说了算。

客户端看到的样子

客户端更新订阅,代理组变成三个:PROXY 是 Fallback,当前用「主力」;主力里是 Reality 节点,备用里是 HY2 节点。下图是 Mac 上的 Clash Verge Rev 2.5.8,iPhone 上的 Clash Mi 用的是同一个内核,也认这个写法。

Clash Verge 代理组:PROXY(Fallback,当前主力),主力组里是 bufanche-reality-my-phone,备用组里是 bufanche-hy2(延迟数字已遮)

实测:Reality 被封时会怎样?

我们在电脑上用 mihomo(Clash Verge 自带的内核)加载同一份订阅,每秒访问一次 Google,记下结果和 PROXY 当前用的组。

订阅原样时:

第 1 次访问 Google:HTTP 204    PROXY 当前用:主力
第 2 次访问 Google:HTTP 204    PROXY 当前用:主力
第 3 次访问 Google:HTTP 204    PROXY 当前用:主力

把订阅里 Reality 节点的端口从 443 改成 444(服务器上没有这个端口,连接会超时,和端口被封时的表现一样):

第 1 次访问 Google:HTTP 000    PROXY 当前用:备用
第 2 次访问 Google:HTTP 204    PROXY 当前用:备用
第 3 次访问 Google:HTTP 204    PROXY 当前用:备用
第 4 次访问 Google:HTTP 204    PROXY 当前用:备用
第 5 次访问 Google:HTTP 204    PROXY 当前用:备用

第 1 次请求撞上了连不上的主力,失败(HTTP 000),之后已经切到备用,全部正常。主力恢复以后,下一次检查(最多 5 分钟)就会切回来。

两点提醒

  1. 有的网络对 UDP 不太友好,HY2 可能慢,甚至连不上,要看你那边的网络,所以让它当备用、Reality 当主力。HY2 在丢包多的线路上反而更快,我们在 Hysteria2 和 VLESS 丢包对比里测过。
  2. 备用节点平时也点一下,确认它是好的。别等主力被封了,才发现备用早就连不上。

常见问题对照

现象 先查什么
HY2 连不上 放行的是不是 UDP(ufw 和安全组)
订阅里没有 HY2 节点 用户的「关联入站」有没有勾上 HY2
没有自动切换,还是一个 PROXY 选择组 订阅设置里那段保存了没有、面板重启了没有
主力或备用组是空的 filter: 和入站备注里的字对不对得上
两个节点一起断 整个 IP 被封了,见 VPS 被墙了怎么办

常见问题

**HY2 一定要用 8443 吗?**不用,任何没被占用的端口都行,记得放行的是 UDP。严格说 UDP 443 和 TCP 443 也不冲突,但用个不同的数字,排查时不容易搞混。

**小火箭能用这个订阅吗?**这里用的是 Clash 订阅里的代理组写法,小火箭不读这个。iPhone 用 Clash Mi。

**fallback 和 url-test 有什么区别?**fallback 按你写的顺序用第一个能连上的,适合“主力 + 备用”;url-test 挑延迟最低的,会在两个节点之间来回换。

**一定要放在面板里吗?在客户端里自己写行不行?**也行,但面板里写一次,所有用户的订阅都带上,换手机、换电脑不用再配。

资料来源

核对日期均为 2026 年 10 月 15 日。