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

4.3 KiB
Raw Permalink Blame History

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