# 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入站监听端口严格对应