Hysteria2 防墙 端口跳跃 +nginx+ssl+bbr+ Salamander 混淆 +http/3 伪装安装部署指南

📋 系统要求

服务器要求

| 项目 | 最低要求 | 推荐配置 |

|------|----------|----------|

| 操作系统 | Ubuntu 18.04+ / CentOS 7+ / Debian 9+ | Ubuntu 20.04+ |

| 内存 | 512MB | 1GB+ |

| 存储 | 1GB | 5GB+ SSD |

| 网络 | 1Mbps | 100Mbps+ |

| 架构 | x86_64, ARM64 | x86_64 |

| 内核版本 | 3.10+ | 4.9+ (支持 BBR) |

| ROOT 权限 |

网络要求

  • 公网 IP: 必须有独立公网 IP

  • 端口访问: 能够开放 UDP 和 TCP 端口

  • 域名 (可选): 用于获取真实 SSL 证书

  • 防火墙: 支持 iptables 或 ufw

✨ 核心特性

特性

描述

🎯 一键部署

单命令完成所有配置

🔄 多端口配置

支持生成 100 个不同端口的节点配置

🔒 Salamander 混淆

自动生成混淆密码,防 DPI 检测

🌐 nginx Web 伪装

TCP 端口显示正常企业网站

BBR 优化

启用 BBR 拥塞控制算法,提升网络性能

🔒 自动 HTTPS 证书

支持 Let』s Encrypt 自动申请和续期

🔧 完整清理

删除时自动清理所有配置

📥 配置下载

自动生成并提供多平台配置文件下载

核心特性对比

为了更直观地展示两者的差异,我们使用表格进行对比:

特性 / 维度

Hysteria2

VMess

底层协议

基于 UDP(QUIC)

灵活,通常基于 TCP。可与 WebSocket, gRPC, mKCP, QUIC 等结合

防墙安全性

中等。协议本身有强加密,但其基于 UDP 的大流量和行为特征可能被高级防火墙识别。伪装能力相对较弱。

极高。尤其是 VMess+WS+TLS 组合,流量在外观上与 HTTPS 完全一致,极难被识别和封锁。

传输速率

极高。专为速度优化,在有丢包和延迟的国际网络中表现尤其出色,通常能跑满带宽。

良好。速度依赖底层传输。在网络稳定时速度不错,但在弱网环境下,基于 TCP 的传输会因丢包而严重降速。

连接延迟

极低。基于 QUIC 的 0-RTT/1-RTT 握手,建连速度快,显著降低了访问延迟,适合游戏和实时应用。

较高。标准 TCP + TLS 的握手过程需要多次往返,初始连接延迟相对较高。

稳定性

。QUIC 协议能更好地处理网络波动和丢包,连接不易中断,且支持连接迁移(如切换 Wi-Fi/4G)。

依赖网络。在稳定网络下非常可靠。但在高丢包网络中,TCP 连接容易卡顿或中断。

资源消耗

较高。为了实现高速率,其拥塞控制算法对 CPU 和内存的消耗相对较大,尤其是在高速传输时。

较低。基础的 VMess+TCP 配置资源占用很小。即使是 VMess+WS+TLS,也比 Hysteria2 更轻量。

配置复杂度

相对简单。核心配置项不多,上手较快。一个二进制文件即可启动服务端和客户端。

可简可繁。基础配置简单,但实现 WS+TLS 等高级伪装需要配置反向代理(如 Nginx/Caddy),复杂度较高。


📋 基础命令

命令

功能

python3 nginx-hysteria2.py help

查看帮助

python3 nginx-hysteria2.py install --simple

简化一键部署

python3 nginx-hysteria2.py status

查看状态

python3 nginx-hysteria2.py client

显示客户端配置

python3 nginx-hysteria2.py del

完全删除

python3 nginx-hysteria2.py fix

修复配置

kk

全局管理菜单 (部署后可用)

🎛️ 全局管理菜单 (kk 命令)

部署完成后,您可以在任何位置使用 kk 命令进入交互式管理菜单:

选项

功能

说明

1

查看节点信息

显示 443 端口地址和 10 个随机 v2ray 地址

2

查看配置文件

显示下载链接和本地配置文件状态

3

查看服务状态

检查 Hysteria2、nginx 和端口监听状态

4

重启服务

重启 Hysteria2 服务

5

查看日志

显示最新 50 行日志信息

6

删除服务

完全删除 Hysteria2 服务和配置

0

退出

退出管理菜单

# 使用方法
kk  # 进入管理菜单

🚀 快速安装

方法一:一键部署 (推荐)


# 下载脚本

wget  https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py

# 或使用curl

curl  -O  https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py

  

### 方法二:高性能部署

  

```bash

# 高位端口 + BBR优化 + 完整防护

python3  nginx-hysteria2.py  install  --simple  --port-range  28888-29999  --enable-bbr

方法三:真实证书部署 ⭐推荐


# 自动申请Let's Encrypt证书

python3  nginx-hysteria2.py  install  --simple  \

--domain yourdomain.com \

--use-real-cert  \

--email [email protected]

方法四:完整配置部署


# 最强配置 (真实域名 + 自动证书 + BBR + 高位端口)

python3  nginx-hysteria2.py  install  --simple  \

--domain yourdomain.com \

--use-real-cert  \

--email [email protected] \

--port-range  28888-29999  \

--enable-bbr \

--password  "YourSecurePassword123"

🔧 详细安装流程

阶段一:环境准备

1.1 系统更新


# Ubuntu/Debian

sudo  apt  update && sudo  apt  upgrade  -y

  

# CentOS/RHEL

sudo  yum  update  -y

# 或 (CentOS 8+)

sudo  dnf  update  -y

1.2 安装依赖


# Ubuntu/Debian

sudo  apt  install  -y  python3  python3-pip  wget  curl  openssl

  

# CentOS/RHEL

sudo  yum  install  -y  python3  python3-pip  wget  curl  openssl

1.3 检查 Python 版本


python3  --version  # 需要 Python 3.6+

阶段二:脚本下载与验证

2.1 下载脚本


# 方法1: wget

wget  https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py

  

# 方法2: curl

curl  -O  https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py

  

# 方法3: git clone (开发者)

git  clone  https://github.com/zhumengkang/hy2.git

cd  hy2

2.2 验证脚本


# 检查文件完整性

ls  -la  nginx-hysteria2.py

file  nginx-hysteria2.py

  

# 查看帮助信息

python3  nginx-hysteria2.py  help

📊 完整工作流程详解

🔄 安装工作流程 (12 步详细流程)


┌─────────────────────────────────────────────────────────────┐

│ Hysteria2 安装工作流程 │

└─────────────────────────────────────────────────────────────┘

  

阶段1: 环境检查 (5-10秒)

├── 检查操作系统和架构

├── 验证Python版本

├── 检查网络连接

├── 验证sudo权限

└── 检查域名DNS解析 (如使用真实证书)

  

阶段2: 目录创建 (1-2秒)

├── 创建 ~/.hysteria2/

├── 创建 ~/.hysteria2/cert/

├── 创建 ~/.hysteria2/config/

├── 创建 ~/.hysteria2/logs/

└── 创建 ~/.hysteria2/web/

  

阶段3: 下载Hysteria2 (30-120秒)

├── 检测系统架构 (x86_64/arm64)

├── 获取最新版本信息 (v2.6.1)

├── 下载二进制文件 (10-20MB)

├── 验证文件完整性

└── 设置可执行权限

  

阶段4: 生成安全配置 (2-5秒)

├── 生成16位随机Salamander混淆密码

├── 解析端口范围配置

├── 验证端口可用性

└── 生成密码哈希

  

阶段5: SSL证书处理 (5-300秒) ⭐核心特性

├── 自签名证书 (5秒)

│ ├── 生成4096位RSA密钥

│ ├── 创建证书签名请求

│ └── 签发自签名证书

└── Let's Encrypt证书 (30-300秒) ⭐自动申请

├── 自动安装certbot

├── 验证域名DNS解析

├── 执行ACME挑战验证

├── 自动获取证书

├── 配置自动续期

└── 设置证书权限

  

阶段6: Web伪装部署 (3-10秒)

├── 生成企业级伪装网站

├── 创建index.html (逼真企业页面)

├── 创建robots.txt

├── 创建sitemap.xml

├── 创建favicon.ico

└── 设置文件权限

  

阶段7: Hysteria2配置 (2-5秒)

├── 生成主配置文件

│ ├── 监听端口配置 (UDP)

│ ├── TLS证书配置

│ ├── 认证密码配置

│ ├── Salamander混淆配置

│ ├── HTTP/3伪装配置

│ ├── 带宽优化配置

│ └── 日志配置

└── 验证配置文件语法

  

阶段8: 端口跳跃配置 (5-15秒)

├── 计算端口范围

│ ├── 默认: 1024-1074 (51个端口)

│ └── 自定义: 如28888-29999 (1112个端口)

├── 配置iptables规则

│ ├── NAT PREROUTING规则

│ ├── INPUT允许规则

│ └── 端口转发规则

├── 保存iptables配置

└── 验证规则生效

  

阶段9: BBR优化 (10-30秒, 可选)

├── 检查内核版本 (需要4.9+)

├── 检查BBR模块可用性

├── 修改sysctl配置

│ ├── net.core.default_qdisc=fq

│ ├── net.ipv4.tcp_congestion_control=bbr

│ └── 其他网络优化参数

├── 应用配置并验证

└── 显示BBR状态

  

阶段10: Hysteria2服务启动 (5-10秒)

├── 创建启动脚本

├── 设置可执行权限

├── 后台启动服务

├── 验证端口监听

└── 生成PID文件

  

阶段11: nginx Web伪装 (10-30秒)

├── 检查nginx安装状态

├── 自动安装nginx (如需要)

├── 配置SSL证书

├── 部署伪装网站文件

├── 创建nginx配置

├── 测试配置语法

├── 启动nginx服务

└── 验证Web服务

  

阶段12: 配置下载服务 (5-10秒, 端口跳跃模式)

├── 生成v2rayN配置文件

├── 生成Clash Meta配置文件

├── 生成官方客户端JSON配置

├── 启动Python HTTP服务器 (端口8080)

├── 配置下载链接生成

└── 验证下载服务可用性

  

阶段13: 最终输出与验证 (2-5秒)

├── 生成一键导入链接

├── 整理服务器信息

├── 显示防护特性

├── 提供配置下载链接

├── 显示使用提醒

└── 显示作者信息

🛡️ 技术架构说明

Hysteria2 核心特性

基于 UDP/QUIC 协议

  • Hysteria2 是基于 UDP 协议的代理工具

  • 使用 QUIC 协议确保数据传输的可靠性

  • 不支持 TCP 转发,所有流量通过 UDP 承载

  • 不支持 FakeTCP 模式

真正支持的功能

  • 端口跳跃 (Port Hopping): 客户端可连接端口范围内任意端口

  • Salamander 混淆: 内置的流量混淆算法,防 DPI 检测

  • HTTP/3 伪装: 流量伪装成正常 HTTP/3 网站访问

  • FakeTCP: 此功能不存在于 Hysteria2 中

端口跳跃技术详解

工作原理:

  1. 客户端可连接端口范围内的任意端口 (如: 28888-29999)

  2. iptables DNAT 规则将这些端口的流量转发到 Hysteria2 监听端口

  3. Hysteria2 在固定端口 (如 443) 监听,处理所有转发来的流量

iptables 规则示例:


# DNAT转发规则

iptables  -t  nat  -A  PREROUTING  -p  udp  --dport  28888:29999  -j  DNAT  --to-destination  :443

  

# INPUT允许规则

iptables  -A  INPUT  -p  udp  --dport  28888:29999  -j  ACCEPT

iptables  -A  INPUT  -p  udp  --dport  443  -j  ACCEPT

优势:

  • 防止单一端口被封锁

  • 增加检测和封锁的难度

  • 提供更好的连接稳定性

  • 客户端可以使用范围内任意端口连接

🔧 安装后验证

验证服务状态


# 查看Hysteria2服务状态

python3  nginx-hysteria2.py  status

  

# 检查端口监听 (应该看到443端口UDP监听)

sudo  ss  -anup  |  grep  hysteria

sudo  ss  -anup  |  grep  :443

  

# 检查iptables规则

sudo  iptables  -t  nat  -L  PREROUTING  -n

sudo  iptables  -L  INPUT  -n  |  grep  -E  "(1024|28888|443)"

验证 Web 伪装


# 测试nginx状态

sudo  nginx  -t

sudo  systemctl  status  nginx

  

# 测试Web访问

curl  -k  https://localhost

curl  -k  https://你的服务器IP

  

# 检查TCP端口监听

sudo  ss  -antp  |  grep  :443

sudo  ss  -antp  |  grep  :80

验证 BBR 优化 (如果启用)


# 检查BBR状态

cat  /proc/sys/net/ipv4/tcp_congestion_control

  

# 查看可用拥塞控制算法

cat  /proc/sys/net/ipv4/tcp_available_congestion_control

  

# 检查网络参数

sysctl  net.ipv4.tcp_congestion_control

sysctl  net.core.default_qdisc

验证配置下载服务 (端口跳跃模式)


# 检查HTTP服务器状态

curl  http://localhost:8080/

curl  http://你的服务器IP:8080/

  

# 测试配置文件下载

curl  -O  http://你的服务器IP:8080/v2rayn.yaml

curl  -O  http://你的服务器IP:8080/clash.yaml

curl  -O  http://你的服务器IP:8080/hysteria2.json

🔍 故障排除

常见安装问题

1. 权限不足


# 确保有sudo权限

sudo  whoami

  

# 检查Python权限

python3  --version

which  python3

2. 网络连接问题


# 测试GitHub连接

curl  -I  https://github.com

  

# 测试下载

wget  --spider  https://github.com/apernet/hysteria/releases/latest

3. 端口冲突


# 检查端口占用

sudo  ss  -anup  |  grep  :443

sudo  lsof  -i  :443

  

# 停止冲突服务

sudo  systemctl  stop  apache2

sudo  systemctl  stop  nginx

4. 防火墙问题


# 检查防火墙状态

sudo  ufw  status  verbose

sudo  iptables  -L  -n

  

# 临时关闭防火墙测试

sudo  ufw  disable

5. DNS 解析问题 (真实证书)


# 检查域名解析

nslookup  yourdomain.com

dig  yourdomain.com  A

  

# 检查域名指向

ping  yourdomain.com

日志分析

Hysteria2 日志


# 查看运行日志

tail  -f  ~/.hysteria2/logs/hysteria.log

  

# 查看启动日志

cat  ~/.hysteria2/start.log

  

# 检查错误信息

grep  -i  error  ~/.hysteria2/logs/hysteria.log

nginx 日志


# 查看nginx错误日志

sudo  tail  -f  /var/log/nginx/error.log

  

# 查看nginx访问日志

sudo  tail  -f  /var/log/nginx/access.log

  

# 检查配置测试

sudo  nginx  -t

系统日志


# 查看系统日志

sudo  journalctl  -xe

  

# 查看网络相关日志

sudo  dmesg  |  grep  -i  network

  

# 查看iptables日志 (如果启用)

sudo  tail  -f  /var/log/kern.log  |  grep  iptables

📋 环境检查清单

安装前检查

  • 操作系统: Ubuntu 18.04+ / CentOS 7+ / Debian 9+

  • 内存: 至少 512MB 可用内存

  • 存储: 至少 1GB 可用存储空间

  • 网络: 稳定的互联网连接

  • 权限: sudo 管理员权限

  • Python: Python 3.6+ 已安装

  • 端口: 443 端口未被占用 (或选择其他端口)

  • 域名: 域名已解析到服务器 (如使用真实证书)

安装后检查

  • 服务状态: Hysteria2 服务正常运行

  • 端口监听: UDP 端口正常监听

  • iptables 规则: 端口转发规则生效

  • nginx 状态: Web 伪装正常工作

  • 证书验证: SSL 证书有效

  • 配置生成: 客户端配置正确生成

  • 下载服务: 配置下载服务可用 (端口跳跃模式)

  • 防火墙: 必要端口已开放

💡 优化建议

性能优化

  1. 使用高位端口: 如 28888-29999,减少端口冲突

  2. 启用 BBR: 提升 UDP 传输性能

  3. 使用 SSD: 提高 IO 性能

  4. 增加带宽: 在配置中设置合适的带宽限制

  5. 优化内核参数: 调整网络缓冲区大小

安全优化

  1. 使用真实证书: Let』s Encrypt 自动证书更安全

  2. 定期更换密码: 包括连接密码和混淆密码

  3. 监控访问日志: 定期检查异常访问

  4. 最小权限原则: 仅开放必要的端口

  5. 定期更新: 保持软件版本最新

隐蔽性优化

  1. 自定义 Web 内容: 修改伪装网站内容

  2. 使用企业域名: 看起来更像正常企业网站

  3. 配置 CDN: 隐藏真实服务器 IP

  4. 调整端口范围: 使用看起来正常的端口范围

  5. 限制访问频率: 避免异常的高频访问


👨‍💻 作者信息