$ 发布 2026-08-08 | ~7分钟阅读
语境: 不想被机场跑路、涨价、节点不干净绑架?本文讲透如何在软路由/家庭小盒子上把「上游出口」收归自托管:在 OpenWrt 上跑 Xray/Sing-box 多入站,配合来源路由让每个 VLAN/店铺走自己的本地节点,并解决家庭网络特有的 CGNAT、公网 IP、隧道与防火墙难题。

2026年软路由自托管上游实战:在路由器上跑 Xray/Sing-box 多入站,把出口收归自己掌控


输出
延迟估计 ~305 ms 置信度 ~0.91

“机场又跑路了,刚充的年费打水漂。” “节点 IP 不干净,我的店铺又触发风控。” “每个月机场钱够买两台设备了,能不能自己搞定?”

如果你读过 软路由多出口来源路由,已经会让不同设备走不同出口。但那些出口的“上游”还是买的机场。本文往前再走一步:把上游出口也收归自托管——在你家的软路由/小盒子上跑 Xray/Sing-box 多入站,让它既是“节点服务器”,又是“多出口分发器”。

本文假设你已会 VPS 上部署 VLESS Reality 节点 的基础。区别在于:那篇是“在云上起一个节点给客户端用”,本文是“在家里盒子起节点、并和来源路由打通,让全家/全店的上游都自己掌控”。


一、为什么要把上游收归自托管?

方案控制力成本稳定性IP 干净度
买机场低(服务商说了算)月付、易涨看你运气参差
VPS 自建单节点低(几刀/月)看你运维自己选
家里盒子自托管 + 来源路由一次性硬件看你网络完全可控

核心收益:IP 干净度自己说了算(配合独享住宅上游)、不被跑路绑架多入站对应多出口,和来源路由一一绑定


二、架构:一个盒子,两种身份

           互联网
             ↑↓ (VLESS Reality / WireGuard 隧道)
    ┌──────────────────────────┐
    │  家里软路由 / x86 小盒子    │
    │  ├─ Xray/Sing-box 服务端    │ ← 身份1:节点服务器(多入站)
    │  │   ├─ inbound-A (店铺A)   │
    │  │   ├─ inbound-B (店铺B)   │
    │  │   └─ inbound-WG (远程设备)│
    │  └─ 来源路由 (nftables)      │ ← 身份2:多出口分发器
    │       VLAN10 → inbound-A    │
    │       VLAN20 → inbound-B    │
    └──────────────────────────┘
             ↓ LAN
   交换机/AP → 各 VLAN 设备

关键:每个 inbound 对应一个上游(干净的 VPS 或住宅代理),每个 VLAN 通过来源路由绑到对应 inbound。出口来源 = 你自己的盒子,IP 干净度由你选的上游决定。


三、在家庭盒子上起多入站

3.1 装运行时

OpenWrt/ImmortalWrt 上直接用官方预编译二进制(比 opkg 版本新):

# 以 Xray-Core 为例
wget -O xray.zip https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-64.zip
unzip xray.zip -d /opt/xray && /opt/xray/xray -version

或用 Sing-box(Sing-box 客户端进阶 讲过客户端,服务端同理换 inbound)。

3.2 多入站配置(节选)

{
  "inbounds": [
    {
      "tag": "shopA",
      "type": "vless",
      "listen": "0.0.0.0",
      "listen_port": 10001,
      "settings": { "clients": [{ "id": "<uuid-A>", "flow": "xtls-rprx-vision" }] },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": { "dest": "www.apple.com:443", "privateKey": "<pk-A>", "shortIds": [""] }
      }
    },
    {
      "tag": "shopB",
      "type": "vless",
      "listen": "0.0.0.0",
      "listen_port": 10002,
      "settings": { "clients": [{ "id": "<uuid-B>", "flow": "xtls-rprx-vision" }] },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "dest": "www.microsoft.com:443",
          "privateKey": "<pk-B>",
          "shortIds": [""]
        }
      }
    },
    {
      "tag": "remote-wg",
      "type": "wireguard",
      "listen": "0.0.0.0",
      "listen_port": 51820,
      "settings": {
        "peers": [{ "publicKey": "<wg-pub>", "allowedIPs": ["10.0.0.0/24"] }],
        "privateKey": "<wg-priv>"
      }
    }
  ],
  "outbounds": [
    { "tag": "up-A", "protocol": "freedom", "settings": { "outboundTag": "vps-A" } },
    { "tag": "up-B", "protocol": "freedom", "settings": { "outboundTag": "vps-B" } },
    { "tag": "up-res", "protocol": "socks", "settings": { "address": "127.0.0.1", "port": 1080 } }
  ],
  "routing": {
    "rules": [
      { "inboundTag": "shopA", "outboundTag": "up-A" },
      { "inboundTag": "shopB", "outboundTag": "up-B" }
    ]
  }
}

要点:

  • 每个店铺一个独立 inbound + 独立 uuid + 独立 Reality 密钥,互不串
  • routing 按 inboundTag 选 outbound:shopA 走上游 A,shopB 走上游 B
  • 想“纯自托管、不要外部上游”?outbound 直接 freedom 出网(前提是盒子本身有干净出口,见第五节)

3.3 和来源路由打通

盒子起好入站后,回到 多出口来源路由 的思路:让 VLAN10 的设备把流量导到 127.0.0.1:10001(shopA 入站),VLAN20 导到 :10002。这样全屋的“出口”就是你盒子上的本地节点,而不是机场订阅。


四、家庭网络三大拦路虎

拦路虎 1:没有公网 IPv4(CGNAT)

多数家庭宽带是 CGNAT,外面连不进来。两个解法:

  • IPv6 公网:很多运营商给 /64 甚至 /56 的 IPv6,入站走 v6(记得关防火墙误伤,且客户端也要有 v6)
  • 打洞/隧道:用 Tailscale/ZeroTier/WireGuard 通过一台有公网 IP 的 VPS 中转(这台 VPS 只做中继,不承载业务流量,IP 干净度不影响)

拦路虎 2:动态公网 IP

有公网 IP 但每天都变?配合 DDNS(如 ddns-go)把域名指向当前 IP,客户端填域名即可。

拦路虎 3:上行带宽小

家庭上行通常 30–100 Mbps。多店铺/多人共享要限速(Xray 的 streamSettings 不自带限速,用 tproxy/nftableswonder shutdown 类工具做 qdisc 限速),避免一人占满全屋掉线。


五、盒子自身的“干净出口”从哪来?

盒子的入站把流量收进来后,最终还得有地方出去。三种上游:

  1. 自有 VPS(Reality 节点):最稳,IP 你选,配合 VPS 自建指南
  2. 独享静态住宅代理:买住宅代理的 SOCKS5,盒子 outbound 指向它(电商店铺最稳)
  3. 盒子直接 freedom 出网:仅当你家宽带本身 IP 干净、且目标不风控时(少见,慎用于敏感业务)

多人/多店权限与隔离、日志最小化,参考 家庭/小团队共享方案 的“自建多用户隔离”一节。


六、安全:家里盒子别裸奔

  • 只开必要端口:Reality 入站用非常规高位端口 + 强 Reality 密钥;WireGuard 用密钥鉴权
  • 防火墙默认 deny:OpenWrt 防火墙只放行 LAN 与已建立的连接,入站端口不对外暴露到 WAN 除非必要
  • 别用弱 uuid:uuid 用 xray uuid 生成,别手写
  • 更新:Xray/Sing-box 有 CVE 就升,别常年不更
  • 日志最小化:不记录流量内容,出事可追溯但不留隐私包袱(呼应 安全与隐私指南

七、和买机场怎么选?

场景建议
纯个人看视频/聊天买机场更省心
多店铺/团队/强 IP 要求自托管上游 + 来源路由(本文)
想彻底不被跑路绑架自托管 + 自有 VPS/住宅上游
完全不想运维继续机场,但选口碑稳的(机场月度榜单

八、写在最后

把“上游”也收归自托管后,你的网络栈就完全自主了:

VPS/住宅上游(自己选干净 IP)→ 家里盒子多入站(Xray/Sing-box)→ 来源路由分给各 VLAN多出口路由)→ 店铺/成员各拿独立干净 IP电商防关联)→ 团队隔离共享家庭团队方案)。

整套从“上游”到“终端”全部自己掌控,机场跑路与你无关。

下一步可补:「Tailscale/ZeroTier 组网打通家里盒子与外出设备」「3x-ui 面板在盒子上做多用户可视化管控」(已有 3x-ui 面板完整指南 可先读)。


本文为「科学上网内容矩阵」第 39 篇,串联 新手一站式路线图 全站干货。

1.5k 词 · 2.0k 令牌