1. 安装与初始化

Hysteria2 提供了一键安装脚本,支持大部分 Linux 发行版

1
2
# 执行官方安装脚本
bash <(curl -fsSL https://get.hy2.sh/)

安装完成后,主程序位于 /usr/local/bin/hysteria,配置文件默认位于 /etc/hysteria/config.yaml


2. 服务端配置 (YAML)

生成自签证书

1
2
3
4
# 生成证书 {{your_server_ip}} 改成服务器ip
openssl req -x509 -nodes -newkey rsa:4096 -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -days 3650 -subj "/CN=your_server_ip"
# 修改权限
chmod 644 /etc/hysteria/server.*

修改配置文件 /etc/hysteria/config.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
listen: :443 

tls: 
  cert: /etc/hysteria/server.crt
  key: /etc/hysteria/server.key

auth:
  type: http
  http:
    url: http://your.backend.com/auth
    insecure: false 

masquerade: 
  type: proxy
  proxy:
    url: https://news.ycombinator.com/
    rewriteHost: true

3. 核心黑科技:端口跳跃 (Port Hopping)

由于部分运营商会对单一 UDP 端口进行限速或断流,通过 iptables 实现多端口转发(端口跳跃)可以显著提升稳定性

3.1 开启转发规则

以下命令将服务器 2000050000 端口的 UDP 流量全部转发至真正的监听端口 443

1
2
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j REDIRECT --to-ports 443
ip6tables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j REDIRECT --to-ports 443

注意:请确保你的云服务商控制台(防火墙/安全组)已放行 20000:50000 的 UDP 端口


4. 客户端配置 (Clash Meta / Mihomo)

在客户端使用 ports 参数开启跳跃功能,hop-interval 控制跳跃频率(秒)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
proxies:
  - name: "Hysteria2-Node"
    type: hysteria2
    server: your.domain.net
    # 端口跳跃范围,必须与服务端 iptables 规则一致
    ports: "20000-50000"
    password: "你的密码或认证Token"
    hop-interval: 10
    skip-cert-verify: false
    up: "100"    # 上行带宽 (Mbps)
    down: "500"  # 下行带宽 (Mbps)
    udp: true

5. 管理与维护

使用 systemd 管理 Hysteria2 服务:

  • 启动服务systemctl start hysteria-server.service
  • 开机自启systemctl enable hysteria-server.service
  • 查看日志journalctl -u hysteria-server.service -f

6. 避坑指南

  1. 带宽限制:Hysteria2 的发包机制较为激进,建议在客户端准确填写 updown 参数,否则可能导致网络拥塞或被运营商封锁
  2. 权限问题:如果使用 iptables 转发,确保系统内核支持 nat
  3. 证书申请:ACME 模式下,务必确保服务器的 80 端口没有被其他程序(如 Nginx)独占,除非改用 DNS 验证