Linux 上搭建 Hysteria2 服务端教程:实现高性能代理服务

Hysteria2 是一个开源的代理工具,基于修改后的 QUIC 协议,实现高速、低延迟、抗不稳定网络环境的通信能力。它支持 UDP、TCP 转发、HTTP/SOCKS5 代理等多种模式,还能通过“伪装”为 HTTP/3 流量来增强隐蔽性。由于这些特性,Hysteria2 在自建代理服务方案中越来越受欢迎。

在本教程中,我们将演示如何在 Linux 环境下搭建 Hysteria2 服务端,从准备 VPS、安装软件、配置文件、开启服务,再到客户端大致接入流程。你可以按照本文步骤在你的服务器上快速部署。

准备工作

  1. 选择适合的 Linux 发行版
    建议使用主流稳定版本,以确保系统兼容性。例如:Debian 11 及以上、Ubuntu 22.04 LTS 及以上、Rocky Linux 8 及以上。Hysteria2 官方表示应避免使用如 Alpine Linux、OpenWrt、NixOS 等系统。

  2. 获取具有公网 IP 的 VPS 或物理机
    服务端需要一个公网可访问的 IP 地址(IPv4 或 IPv6 均可)。

  3. 域名解析
    建议将一个域名(或子域名)指向服务器 IP,以便后续使用 ACME 自动申请 TLS 证书。

  4. 开放防火墙端口

    • TCP 80:用于 ACME HTTP 验证(如果采用自动证书方式)

    • UDP 443(或你自定义的监听端口):用于 Hysteria2 的主通信协议,因为其基于 UDP。
      例如,在服务器防火墙或云主机安全组中开放相应端口。

  5. 确保系统具备基础工具
    系统至少要有 bashgrepcurl、GNU Coreutils 等工具,以便执行安装脚本。

安装 Hysteria2 服务端

1. 登录服务器(建议使用 root 或具有 sudo 权限的用户)。

2. 执行官方一键安装脚本,自动下载、安装并配置 systemd 服务:

bash <(curl -fsSL https://get.hy2.sh/)

该脚本适用于大多数采用 systemd 的 Linux 发行版。

3. 如果你想指定版本或其它架构(如带 AVX 支持的版本),可以在脚本中加入 --version 或设置环境变量 ARCHITECTURE=...

4. 脚本执行完毕后,会在系统中安装 hysteria-server.service(或类似名称)并放置一个示例配置文件,通常路径为 /etc/hysteria/config.yaml

服务端配置

1. 打开编辑配置文件(路径可能为 /etc/hysteria/config.yaml 或脚本提示的路径),使用 nanovi 编辑。

2. 配置示例(使用 ACME 自动申请证书):

listen: :443
acme:
  domains:
    - your.domain.com
  email: youremail@example.com
auth:
  type: password
  password: YourStrongPassword123
masquerade:
  type: proxy
  proxy:
    url: https://example.com/
    rewriteHost: true
  • listen:监听地址和端口,默认 :443 表示所有接口。
  • acme:启用自动 TLS 证书获取。填写你的域名和邮箱。
  • auth:认证方式,通常选择 password,并设置一个强密码。
  • masquerade:伪装设置,用于增强隐蔽性,将流量伪装成正常的 HTTP/3。

3. 如果你已经有证书/私钥,也可以使用 tls: 配置直接指定 certkey 路径,而不是使用 acme。

4. 高级选项(可选):如 obfs 混淆、quic 参数、bandwidth 限速等,详情请查阅官方的 Full Server Config 文档。

5. 保存配置后,重启服务:

systemctl restart hysteria-server.service

并设置开机启动:

systemctl enable hysteria-server.service

6. 检查服务状态:

systemctl status hysteria-server.service

若显示运行中且无报错,则配置生效。

客户端接入(简要说明)

虽然本教程聚焦于服务端,但为了完整性,这里简要说明客户端的基本流程:

1. 在客户端设备下载对应平台的 Hysteria2 客户端。

2. 创建客户端配置文件 config.yaml,主要包含以下字段:

server: your.domain.com:443
auth: YourStrongPassword123
bandwidth:
  up: 20 mbps
  down: 100 mbps
socks5:
  listen: 127.0.0.1:1080
http:
  listen: 127.0.0.1:10809
  • server:服务端地址及端口。
  • auth:与服务器端密码一致。
  • bandwidth:可选,用于限制上行/下行带宽。
  • socks5http:指定本地监听代理端口。

3. 启动客户端,连接成功后即可通过本地 SOCKS5 或 HTTP 代理访问网络。

常见问题与排查

  1. 服务端启动失败或无法连接:

    • 检查防火墙/安全组是否已开放 UDP 443(或你监听的端口)和 TCP 80(如果使用 acme HTTP 验证)。

    • 检查域名是否正确解析到了服务器 IP。

    • 检查 config.yaml 中的密码、监听端口、证书路径是否正确。

  2. 客户端连接但网络慢/不稳定:

    • 检查 VPS 网络质量。

    • 若带宽设置过高或网络拥挤,建议适当调低客户端 bandwidth 值。

    • 查看服务端日志:journalctl -u hysteria-server.service --no-pager -e

  3. 证书申请失败:

    • 确保 TCP 80 端口未被其它服务使用。

    • 若服务器在防火墙后或 NAT 情况复杂,可考虑使用 DNS-01 验证或手动 TLS 证书方式。

  4. 混淆/伪装不起作用:

    • 若已启用 masqueradeobfs,客户端也需使用兼容设置。

    • 检查网络是否因 QUIC 或 UDP 流量被限制,如 ISP 限制或校园网等。

总结

通过以上步骤,你可以在 Linux 系统上快速搭建一个基于 Hysteria2 的服务端。该服务具备高速、抗不稳定网络、隐蔽性高等优点,非常适合搭建个人代理或 梯子 服务。在实际应用中,你还可以结合流量监控、访问控制、带宽限制、ACL 路由等高级功能,进一步优化服务。随着服务运行,建议定期更新 Hysteria2 至最新版本,并备份配置文件与证书,以保障稳定性与安全性。

评论 添加
暂无评论,来聊两句?