2026年软路由自托管上游实战:在路由器上跑 Xray/Sing-box 多入站,把出口收归自己掌控
“机场又跑路了,刚充的年费打水漂。” “节点 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/nftables 或 wonder shutdown 类工具做 qdisc 限速),避免一人占满全屋掉线。
五、盒子自身的“干净出口”从哪来?
盒子的入站把流量收进来后,最终还得有地方出去。三种上游:
- 自有 VPS(Reality 节点):最稳,IP 你选,配合 VPS 自建指南
- 独享静态住宅代理:买住宅代理的 SOCKS5,盒子 outbound 指向它(电商店铺最稳)
- 盒子直接 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 篇,串联 新手一站式路线图 全站干货。