上一篇写的是我在 Google Cloud Compute Engine 上搭建 Hysteria2 节点的过程。那套方法可以用,但需要在控制台里处理机型、磁盘、网络标签和云防火墙,第一次接触云服务器的人很容易在端口这一关卡住。
这篇换一条简单一点的路:准备一台 Vultr VPS,用 SSH 连上去,再运行一个 Hysteria2 安装脚本。脚本会生成服务端配置、客户端配置和 hysteria2:// 分享链接,省掉不少手工操作。
它和上一篇不是谁替代谁。两台服务器最大的区别是云厂商、出口 IP 和线路,换成 Vultr 并不等于一定更快,也不代表新 IP 一定没有历史风险。我更愿意把这套方案当成备用节点:原来的线路出问题时,手里还有一个自己能重建、能排查的出口。
先说清楚 Hysteria2 是什么
Hysteria2 是基于 QUIC 和 UDP 的代理协议。它可以在客户端提供 SOCKS5、HTTP 或 TUN 等使用方式,但协议本身不是 WireGuard、OpenVPN 那种三层 VPN。比如下面这套脚本默认会在客户端本地监听 127.0.0.1:5678,电脑上的浏览器或其他程序需要通过这个 SOCKS5 端口使用节点;手机端的客户端则可以根据自身能力接管更多流量。
它在丢包和延迟较高的网络里可能比一些传统 TCP 方案更合适,但速度最终还是取决于 VPS 配置、出口线路、两端网络和实际拥塞情况。“装好就高速”不是一个可以提前保证的结论。
需要准备什么
- 一台有公网 IPv4 的 Vultr VPS,系统可以选 Debian 或 Ubuntu。
- VPS 的 IP、SSH 端口和 root 密码,或者一个可以使用
sudo的账号。 - 一个 SSH 客户端。Windows 可以用 FinalShell,macOS 和 Linux 直接使用系统自带的
ssh也可以。 - 一个支持 Hysteria2 的客户端。Windows 可以看 v2rayN 的 Releases,其他平台可以使用 sing-box 或 Shadowrocket。
Vultr 的实例价格和流量费用会随机型、地区和用量变化,这篇不把某个价格写成固定报价。创建实例时直接看控制台估算,出站流量较大时尤其要留意账单。
一、创建 VPS 并登录
在 Vultr 创建实例时,选择一个自己能接受的地区和低配机型即可。地区名称只能作为初筛,真正的延迟还是要等实例建好以后测试。
系统我建议选 Debian 12/13 或 Ubuntu LTS。创建完成后先保存好公网 IP 和登录密码。密码不要和节点分享链接放在同一个公开笔记里,节点链接里通常已经包含认证信息。
如果使用 FinalShell,新建一个 SSH 连接,填写下面几项:
名称:任意
主机:VPS 公网 IP
端口:通常是 22
用户名:root
密码:VPS 的 root 密码
第一次连接时,客户端会提示是否接受主机密钥。确认这是自己刚创建的服务器后再接受并保存。
登录后先确认身份:
whoami
如果输出不是 root,可以切换:
sudo -i
whoami
后面的安装脚本会检查 root 权限,普通用户直接运行会退出。
二、下载脚本前先看一眼
这次使用的是 flame1ce/hysteria2-install 仓库里的脚本。它不是 Hysteria 官方项目的一部分,而是第三方安装工具。脚本地址和内容都可能变化,所以我不建议把陌生脚本直接通过管道交给 Bash 执行。
先安装检查所需的工具:
apt update
apt install -y curl socat
把脚本下载到固定位置:
curl -fL \
https://raw.githubusercontent.com/flame1ce/hysteria2-install/main/hysteria2-install-main/hy2/hysteria.sh \
-o /root/hysteria.sh
然后打开它看一遍:
less /root/hysteria.sh
原教程使用了 --no-check-certificate。这个参数会跳过 TLS 证书校验,我这里去掉了。脚本后面还会继续下载其他安装文件,因此如果你对供应链比较敏感,不能只看最外层这个文件,还要继续检查脚本里引用的仓库和下载地址。
确认之后再运行:
bash /root/hysteria.sh
脚本当前版本的菜单大致如下。具体文字可能会随版本调整,不要只按截图记选项编号。
1. 安装 Hysteria 2
2. 卸载 Hysteria 2
3. 关闭、开启、重启 Hysteria 2
4. 修改 Hysteria 2 配置
5. 显示 Hysteria 2 配置文件
输入 1 开始安装。
三、安装时怎么选
证书
脚本默认提供“必应自签证书”。它的好处是不需要域名,也不需要先配置 ACME;代价是客户端生成的配置会使用:
tls:
insecure: true
这表示客户端不验证服务端证书。Hysteria 官方文档明确提醒,单独使用 insecure 会失去证书校验,长期使用更适合配置可信 CA,或者至少结合证书指纹校验。只想先把个人节点跑起来,可以先用默认选项,但不要把它理解成更安全的配置。
如果你有自己的域名,也可以在脚本里选择 ACME 自动申请证书。那样客户端的 SNI、证书域名和 DNS 解析必须对应,步骤会多一些,但证书校验更完整。
端口
回车让脚本随机分配一个端口,然后选择单端口模式。随机端口不是安全措施,只是避免把服务固定在一个常见端口上。真正重要的是把这个端口记下来,后面客户端和防火墙都要用同一个值。
如果你在 Vultr 控制台额外配置了 Firewall Group,需要放行对应的 UDP 端口。服务器上显示端口正在监听,并不等于公网一定能访问。
没有明确需要时,不要为了“看起来像常见服务”就强行改成 UDP 443。443 可能已经被其他服务占用,而且云防火墙和本机防火墙都要一起改。
密码
密码直接回车,让脚本随机生成即可。安装结束后会在终端显示它,也会写进客户端配置和分享链接。不要把这条链接发到公开群组,泄露以后别人就可以使用你的节点。
伪装网站
脚本会要求输入一个伪装网站地址,输入时不要带 https://。如果没有域名,可以使用脚本默认值;也可以选择一个从 VPS 能正常访问的 HTTPS 站点。
这个选项的实际作用是配置未通过 Hysteria 认证时的 HTTP/3 响应或上游代理,不是免费 CDN,也不能保证绕过所有网络审查。地址填错时,服务可能仍然能启动,但连接测试会失败,所以不要随手填一个无法访问的域名。
安装完成后,脚本会输出几份重要文件:
/etc/hysteria/config.yaml
/root/hy/hy-client.yaml
/root/hy/hy-client.json
/root/hy/url.txt
其中 /root/hy/url.txt 里的 hysteria2:// 链接最方便导入客户端,二维码也会在安装过程里显示。建议马上复制到密码管理器或离线笔记里。
四、导入客户端
Windows 可以使用 v2rayN,macOS、iOS 和 Android 可以选择支持 Hysteria2 的客户端。最省事的方式是扫描终端里生成的二维码,或者复制 hysteria2:// 开头的链接导入。
脚本生成的配置大致包含这些字段:
server: VPS_IP:PORT
auth: NODE_PASSWORD
tls:
sni: MASQUERADE_DOMAIN
insecure: true
socks5:
listen: 127.0.0.1:5678
这里的 PORT、NODE_PASSWORD 和 MASQUERADE_DOMAIN 必须和服务端实际生成的内容对应。不要把上面的占位符原样填进去,也不要只改服务器 IP 就机械地沿用旧节点的 SNI 和 TLS 参数。
有些教程会让用户把客户端里的速度上限直接填成 1000。我不建议照抄。Hysteria 官方文档说明,带宽参数填得高于真实线路能力,反而可能导致拥塞、丢包和连接不稳定。刚开始可以先不设置,或者按实际测速结果填写,不要把数字当成加速开关。
五、验证节点是否真的可用
先回到服务器检查服务状态:
systemctl status hysteria-server --no-pager
确认服务处于 active (running) 后,再检查 UDP 端口:
ss -lunp | grep ':你的端口'
这只能证明本机进程在监听。客户端仍然连不上时,按下面的顺序排查:
hysteria-server是否正常运行;- 服务监听端口、Vultr Firewall Group、本机防火墙是否使用同一个 UDP 端口;
- 客户端服务器地址、端口、密码和 SNI 是否正确;
- 自签证书场景下,客户端是否保留了
insecure配置; - 读取最近的服务日志。
journalctl -u hysteria-server -n 50 --no-pager
如果客户端本地 SOCKS5 监听的是 127.0.0.1:5678,可以在本机用下面的命令看出口 IP:
curl --proxy socks5h://127.0.0.1:5678 https://api.ipify.org
输出应该是 VPS 的公网 IP。这个测试只证明请求经过了节点,不代表所有网站都会接受这个 IP。
这套方案适合什么人
如果只是偶尔打开几个网页,买现成服务确实更省事。自己搭节点的价值在于出口 IP 独享、配置可以自己改,遇到连接失败时也知道该查服务、端口还是客户端参数。它同时意味着你要自己保管 root 凭据、节点密码,承担 VPS 账单,也要接受数据中心 IP 可能被某些网站风控的事实。
上一篇的 Google Cloud 方案更适合想把云防火墙、实例配置一步步弄明白的人;这篇的 Vultr 方案更像一条快速搭建和备用的路径。两者都不能保证永远稳定,更不能保证绕过所有平台的风控。对我来说,自己掌握重建方法,比宣传里的“永久高速”更有用。
发表评论