Skip to content

反向

reverse 块用于搭建反向隧道跳点 —— 目的端的 Bridge 等待入口端 Portal 发起的控制连接,然后把用户流量通过已建立的隧道转发。

顶层

字段类型默认值允许值描述
bridges[]BridgeConfig[]Bridge反向代理隧道目的端的 Bridge 列表。
portals[]PortalConfig[]Portal反向代理隧道入口端的 Portal 列表。

源码: infra/conf/reverse.go:32-35 · 锚定版本 v26.6.1 (94ffd50)

Bridge

字段类型默认值允许值描述
tagstring(required)<tag>该 Bridge 的路由 tag。
domainstring(required)<domain>用于与另一端匹配 Portal 配对的共享域名。

源码: infra/conf/reverse.go:8-11 · 锚定版本 v26.6.1 (94ffd50)

Portal

字段类型默认值允许值描述
tagstring(required)<tag>该 Portal 的路由 tag。
domainstring(required)<domain>用于与匹配 Bridge 绑定的共享域名。

源码: infra/conf/reverse.go:20-23 · 锚定版本 v26.6.1 (94ffd50)

示意示例

json
// 目的端服务器(能访问内部目标的那台):
{
  "reverse": {
    "bridges": [{ "tag": "bridge", "domain": "tunnel.example.com" }]
  },
  "outbounds": [
    { "tag": "tunnel", "protocol": "freedom" }
  ]
}

// 入口端服务器(用户实际连接的那台):
{
  "reverse": {
    "portals": [{ "tag": "portal", "domain": "tunnel.example.com" }]
  },
  "outbounds": [
    { "tag": "portal-out", "protocol": "vless", "settings": { /* ... */ } }
  ]
}

说明

  • 一对 Bridge 与 Portal 的 domain 必须逐字节完全一致。Xray 把它 作为内部的「会合名」使用 —— 永远不会经 DNS 解析。
  • 反向隧道本质上是一对路由 tag;两端的路由规则决定哪些流量进入或 离开隧道。

源码: infra/conf/reverse.go:8-35 · v26.6.1 (94ffd50)

由 Argsment 出品的 Core Tutorial