在搭建高可用机场服务的过程中,随着 2026 年网络环境的复杂化,传统的“面板一键下发路由”模式频繁遭遇组件冲突、端口抢占和 geodata 过期导致的无限重启等问题。
本教程记录了一次深度的架构重构与排错实录。我们采用**“物理级解耦”**的理念:落地机专心处理面板鉴权,中转机纯粹负责流量盲转。
💡 架构设计理念(为什么要解耦?)
传统痛点: 试图用 Xboard 面板统一管理中转机和落地机的路由规则。当旧版面板的 geosite 数据遇到最新的内核(如 V2bX)时,极易产生语法错误。同时,中转机上如果也运行复杂的鉴权服务,不仅消耗资源,还极易与直连节点产生 443 端口冲突。
2026 解耦架构:
- 面板端 (Xboard): 只需要知道一个“入口 IP”和“入口端口”。它对中转链路一无所知。
- 中转端 (Realm): 部署在中转机上,极其轻量。只做一件事:监听特定端口(如
50444),把收到的流量原封不动地拍给落地机。 - 落地端 (XrayR): 部署在落地机上,监听接收端口(如
50443),对接 Xboard 面板处理鉴权。不套 TLS,不搞复杂路由。
🛠️ Step 1: 落地机 (Debian 12) 配置实战
避坑预警: 2026 年,V2bX 开源仓库变动频繁,脚本经常报 404 或
manifest unknown。对于 Xboard 面板,我们果断拥抱更稳定、兼容性完美的 XrayR 核心。
1. 一键安装 XrayR:
Bash
bash <(curl -Ls https://raw.githubusercontent.com/XrayR-project/XrayR-release/master/install.sh)
2. 核心配置修改: 打开配置文件:nano /etc/XrayR/config.yml,严格按照以下模板修改 Nodes: 节点部分。
- 核心要点:
PanelType必须为NewV2board,NodeType必须为Vless(如果是 Vless 节点),CertMode必须为none(因为是中转后方,不配证书)。
YAML
Nodes:
- PanelType: "NewV2board" # XrayR 0.9.4+ 适配 Xboard 的类型
ApiConfig:
ApiHost: "https://你的面板域名.com"
ApiKey: "你的面板通讯密钥"
NodeID: 101 # 替换为真实的节点 ID
NodeType: Vless # 节点协议类型
Timeout: 30
EnableVless: false # 已经是 Vless 类型,此处填 false
VlessFlow: "xtls-rprx-vision"
ControllerConfig:
ListenIP: 0.0.0.0
UpdatePeriodic: 60
# ... (保持默认的其他限速和 Redis 配置) ...
EnableREALITY: false # 中转落地不需要 REALITY
CertConfig:
CertMode: none # 核心!中转落地机不要配证书
3. 重启并验证:
Bash
xrayr restart
xrayr log
当日志显示 Added X new users 和 Start node monitor periodic task 时,落地机配置宣告成功。
🛠️ Step 2: 中转机 (Ubuntu 22.04) 配置实战
避坑预警: 如果中转机上本身有直连节点(占用了 443 甚至 50443),不要杀进程。我们通过更改中转监听端口(如改为
50444)来完美共存。
我们使用 2026 年最强劲的端口转发工具:Realm。
1. 下载并安装 Realm:
Bash
wget -N https://github.com/zhboner/realm/releases/download/v2.6.0/realm-x86_64-unknown-linux-gnu.tar.gz
tar -xvf realm-x86_64-unknown-linux-gnu.tar.gz
chmod +x realm
sudo mv realm /usr/local/bin/
2. 编写转发规则 (/etc/realm/config.toml):
Bash
sudo mkdir -p /etc/realm
cat <<EOF > /etc/realm/config.toml
[network]
no_tcp_delay = true
use_udp = true
[[endpoints]]
listen = "0.0.0.0:50444" # 中转机监听的新端口(避开冲突)
remote = "落地机公网IP:50443" # 指向落地机的真实 IP 和接收端口
EOF
3. 注册服务并启动:
Bash
cat <<EOF > /etc/systemd/system/realm.service
[Unit]
Description=Realm Relay Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/realm -c /etc/realm/config.toml
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now realm
sudo systemctl status realm
🛠️ Step 3: Xboard 面板 UI 设置
来到 Xboard 的后台 节点管理,新建或编辑你的中转节点:
- 节点地址: 填入 中转机的公网 IP(向用户隐藏落地机真实 IP)。
- 连接端口 / 服务端口: 都填入中转机的监听端口(例如
50444)。 - 节点协议: VLESS (TCP / 流控留空)。
- 安全性: 无 (不开启 TLS,因为中转隧道已经起到了保护作用)。
- 父级节点: 无(极其重要,不要在面板里建立父子关系,否则会引发面板规则下发冲突)。
💡 总结
通过上述架构,我们将复杂的网络环境化繁为简:
- 面板彻底不用管中转机的死活,只负责统计落地机的流量。
- 中转机纯享高带宽盲转,不跑 PHP,不跑面板鉴权,性能拉满。
- 落地机隐藏在中转机身后,安全且稳定。
运维没有魔法,有的只是对数据流向的极致掌控。希望这篇实录能帮你在 2026 年的复杂网络中少走弯路!