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
✨ 核心特性
核心特性对比
为了更直观地展示两者的差异,我们使用表格进行对比:
📋 基础命令
🎛️ 全局管理菜单 (kk 命令)
部署完成后,您可以在任何位置使用 kk
命令进入交互式管理菜单:
# 使用方法
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 中
端口跳跃技术详解
工作原理:
-
客户端可连接端口范围内的任意端口 (如: 28888-29999)
-
iptables DNAT 规则将这些端口的流量转发到 Hysteria2 监听端口
-
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 证书有效
-
☐ 配置生成: 客户端配置正确生成
-
☐ 下载服务: 配置下载服务可用 (端口跳跃模式)
-
☐ 防火墙: 必要端口已开放
💡 优化建议
性能优化
-
使用高位端口: 如 28888-29999,减少端口冲突
-
启用 BBR: 提升 UDP 传输性能
-
使用 SSD: 提高 IO 性能
-
增加带宽: 在配置中设置合适的带宽限制
-
优化内核参数: 调整网络缓冲区大小
安全优化
-
使用真实证书: Let』s Encrypt 自动证书更安全
-
定期更换密码: 包括连接密码和混淆密码
-
监控访问日志: 定期检查异常访问
-
最小权限原则: 仅开放必要的端口
-
定期更新: 保持软件版本最新
隐蔽性优化
-
自定义 Web 内容: 修改伪装网站内容
-
使用企业域名: 看起来更像正常企业网站
-
配置 CDN: 隐藏真实服务器 IP
-
调整端口范围: 使用看起来正常的端口范围
-
限制访问频率: 避免异常的高频访问
👨💻 作者信息
-
作者: 康康
-
Github: https://github.com/zhumengkang/
-
Telegram: https://t.me/+WibQp7Mww1k5MmZl
评论