1. 安装与初始化#
Hysteria2 提供了一键安装脚本,支持大部分 Linux 发行版
1
2
| # 执行官方安装脚本
bash <(curl -fsSL [https://get.hy2.sh/](https://get.hy2.sh/))
|
安装完成后,主程序位于 /usr/local/bin/hysteria,配置文件默认位于 /etc/hysteria/config.yaml
2. 服务端配置 (YAML)#
以下配置启用了 ACME 自动证书申请、HTTP 后端认证以及 反向代理伪装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| # /etc/hysteria/config.yaml
listen: :443
acme:
domains:
- your.domain.net # 替换为你的解析好的域名
email: your@email.com # 接收证书通知的邮箱
auth:
# 使用 HTTP 认证模式,适合对接自己的用户管理系统
http:
url: [http://your.backend.com/auth](http://your.backend.com/auth)
insecure: false
masquerade:
type: proxy
proxy:
url: [https://news.ycombinator.com/](https://news.ycombinator.com/) # 流量探测时伪装的目标
rewriteHost: true
|
3. 核心黑科技:端口跳跃 (Port Hopping)#
由于部分运营商会对单一 UDP 端口进行限速或断流,通过 iptables 实现多端口转发(端口跳跃)可以显著提升稳定性
3.1 开启转发规则#
以下命令将服务器 20000 到 50000 端口的 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 端口
在客户端使用 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. 避坑指南#
- 带宽限制:Hysteria2 的发包机制较为激进,建议在客户端准确填写
up 和 down 参数,否则可能导致网络拥塞或被运营商封锁 - 权限问题:如果使用
iptables 转发,确保系统内核支持 nat 表 - 证书申请:ACME 模式下,务必确保服务器的 80 端口没有被其他程序(如 Nginx)独占,除非改用 DNS 验证