Files
server/VPS流量转发架构说明.md
T
2026-04-24 00:42:59 +08:00

87 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# VPS流量转发架构说明
## 总览
这套架构基于Xray+Nginx SNI分流实现,完全基于443端口HTTPS流量伪装,实现三个核心功能:
1. 反向代理内网服务到公网(无需公网IPv6/端口映射)
2. 异地多VPS链路中转代理(mihomo客户端接入)
3. 统一公网入口流量管理(所有流量走443端口,无额外端口暴露)
---
## 设备清单说明
| 设备 | IP/域名 | 说明 |
|---|---|---|
| 北京VPS | `salmonstill.cn` | 公网入口节点,Nginx+Xray服务部署在这里 |
| 东京VPS | `tokyo.salmonstill.cn` | 代理出口节点,Xray服务部署在这里 |
| 旁路由 | `192.168.1.199` | 内网反向代理节点,Xray桥接服务部署在这里 |
| NAS | `192.168.1.188` | 内网存储服务,部署了思源笔记、绿联云管理界面 |
| Windows台式机 | `192.168.1.177` | 内网办公设备,提供WSL SSH服务 |
---
## 核心组件说明
### 1. 北京VPS(公网入口节点)
#### Nginx Stream SNI分流层
配置文件:`beijing-vps-stream.conf`
根据SSL握手阶段的ServerName字段,将不同域名的流量转发到不同后端服务:
| 域名 | 后端服务 | 作用 |
|---|---|---|
| `www.apple.com` | Xray 9443端口 | 旁路由反向代理隧道 |
| `www.microsoft.com` | Xray 9444端口 | Mihomo客户端代理入口 |
| `drive.salmonstill.cn` | 38653端口 | 绿联云NAS服务直接转发 |
| 其他域名 | Nginx Proxy Manager 8443端口 | 常规Web服务管理 |
#### Xray服务层
配置文件:`beijing-vps-config.json`
包含两个核心入站和一个出站:
- **interconn入站(9443端口)**VLESS+Reality协议,接收旁路由的反向代理桥接连接
- **mihomo_in入站(9444端口)**VLESS+Reality协议,接收外部Mihomo客户端的代理连接
- **to_tokyo出站**VLESS+Reality协议,将代理流量转发到东京VPS出口
---
### 2. 旁路由(内网反向代理节点)
配置文件:`旁路由-config.json`
基于Xray反向代理桥接模式实现内网服务穿透:
- **bridge桥接组件**:和北京VPS的portal组件建立永久隧道,将公网过来的反向代理流量转发到内网
- 路由规则根据端口自动转发到对应内网服务:
| 端口 | 内网目标 | 服务 |
|---|---|---|
| 38653 | 192.168.1.188:9443 | NAS管理界面 |
| 38654 | 192.168.1.188:5005 | 思源笔记 |
| 38655 | 192.168.1.177:22 | WSL SSH服务 |
| 39132 | 127.0.0.1:39132 | Minecraft游戏服务 |
---
### 3. 东京VPS(代理出口节点)
配置文件:`tokyo-vps-config.json`
极简配置的Xray出口节点:
- 入站:VLESS+Reality协议,接收北京VPS转发的代理请求
- 出站:直接freedom出口访问国际网络
---
## 流量路径说明
### 1. 内网服务反向代理访问路径(比如访问drive.salmonstill.cn
```
用户 → 北京VPS 443端口 → Nginx匹配SNI `drive.salmonstill.cn` → 转发到38653端口 dokodemo-door入站
→ Xray路由转发到portal反向代理组件 → 走已经建立的隧道到旁路由bridge组件
→ 旁路由路由匹配端口38653 → 转发到内网NAS 192.168.1.188:9443 → 响应原路返回
```
### 2. Mihomo代理访问路径
```
Mihomo客户端 → 北京VPS 443端口 → Nginx匹配SNI `www.microsoft.com` → 转发到9444端口 mihomo_in入站
→ Xray路由转发到to_tokyo出站 → 加密传输到东京VPS 443端口 → 东京Xray入站接收请求
→ 直接访问国际网络 → 响应原路返回
```
---
## 架构优势
1. **极致伪装**:所有流量都走443端口HTTPS,不同流量通过SNI区分,完全和正常网站访问一致,无特征被封
2. **零额外端口暴露**:除了443端口没有任何公网开放端口,安全性拉满
3. **高可用性**:反向代理隧道永久在线,内网服务无需公网IP/端口映射即可访问
4. **性能损耗低**Xray Reality协议性能优异,中转延迟增加<10ms
5. **易扩展**:新增内网服务只需要在旁路由添加对应的路由规则即可,无需修改公网配置
---
## 配置要点
1. Reality公私钥配对:客户端的publicKey必须和对应服务端的privateKey严格匹配
2. SNI一致性:客户端请求的ServerName必须和Nginx分流规则以及Xray Reality配置的serverNames完全一致
3. 端口映射:Nginx分流的后端端口必须和Xray入站监听端口严格对应