[远程访问]OEC-Turbo (Armbian) 家庭全能网关访问教程

这份教程结合了你所有的硬件现状、网络环境修正(无端口转发、使用防火墙规则和 UPnP)、以及 Lucky 的正确配置逻辑(端口分流)。

1. 基础设施与网络准备
设备角色:

核心路由: 红米 AX6 (ImmortalWrt) —— 负责拨号、UPnP 映射、防火墙放行。

应用服务器: OEC-Turbo (Armbian) —— 运行 1Panel + Docker (Lucky, Jellyfin, Immich 等)。内网 IP: 192.168.31.211。

路由器配置 (红米 AX6):

配置 UPnP (解决 IPv4 穿透)

位置:服务 -> UPnP IGD 和 PCP/NAT-PMP。

勾选: 启动服务、启用 UPnP IGD 协议、启用 PCP/NAT-PMP 协议。

下载速度: 填 130000。

上传速度: 填 8000。

作用:允许 Lucky 自动申请公网 IPv4 端口,无需手动添加端口转发。

配置通信规则 (解决 IPv6 直连)

位置:网络 -> 防火墙 -> 通信规则。

新建规则:

名称: Allow-Web-IPv6

协议: TCP

源区域: wan / wan6

目标区域: lan

目标地址: 选择 OEC-Turbo 的 IPv6 后缀 (如 ::d451...)

目标端口: 21927 (只放行这一个端口即可)

作用:允许公网 IPv6 流量直接访问 Lucky 的 Web 服务端口。

2. Lucky 核心配置 (部署在 OEC-Turbo)
第一步:配置 SSL 证书

SSL/TLS证书 -> 添加证书。

域名: *.ytcom.eu.org 和 ytcom.eu.org。

验证方式: Cloudflare DNS API。

目的:实现全站 HTTPS 安全访问。

第二步:配置 Web 服务 (反向代理总入口) 这是所有流量(无论是 IPv4 还是 IPv6)汇聚的地方。

添加 Web 服务规则:

监听端口: 21927 (Web 服务独占)。

TLS: 开启,选择刚才的泛域名证书。

添加子规则 (反代到 Docker 容器):

所有后端地址均填写 127.0.0.1,因为服务都在本机。

jellyfin.ytcom.eu.org -> http://127.0.0.1:8096

immich.ytcom.eu.org -> http://127.0.0.1:2283

panel.ytcom.eu.org -> http://127.0.0.1:21925

lucky.ytcom.eu.org -> http://127.0.0.1:16601

第三步:配置 STUN 内网穿透 (IPv4 打洞) 这是为了让 IPv4 流量能进来,由于 21927 被 Web 服务占用了,STUN 需要用另一个端口接收流量并转发过去。

编辑规则: Lucky_Web_V4

穿透类型: IPv4-TCP

操作模式: 简易模式

穿透通道本地端口: 21928 (关键修正:为了不冲突,这里监听 21928)。

目标地址: 127.0.0.1

目标端口: 21927 (关键逻辑:流量收到后,扔给 Web 服务处理)。

UPnP: 开启 (利用路由器的 UPnP 服务自动映射公网端口)。

第四步:配置动态域名 (DDNS)

添加任务: Cloudflare。

IPv6 (AAAA): 解析 *.ytcom.eu.org,获取方式:通过网卡获取 (直连逻辑)。

IPv4 (A): 解析 *.ytcom.eu.org,获取方式:STUN 穿透公网地址,关联规则 Lucky_Web_V4。

3. Cloudflare 自动化跳转 (万能兼容入口)
解决 IPv4 环境下没有 443 端口且随机端口难记的问题。

第一步:DNS 引导记录

登录 Cloudflare -> DNS。

添加 A 记录:v4-jellyfin, v4-immich, v4-panel 等。

IP 地址:1.1.1.1。

代理状态: 开启 (橙色云朵)。

第二步:页面规则 (Page Rules)

登录 Cloudflare -> 规则 -> 页面规则。

URL: v4-*.ytcom.eu.org/*

设置: 转发 URL (302 重定向) -> https://$1.ytcom.eu.org:28440/$2 (端口号暂填)。

第三步:配置 Lucky Webhook (自动同步端口)

回到 Lucky -> STUN 规则 (Lucky_Web_V4) -> 开启底部的 Webhook。

接口地址: https://api.cloudflare.com/client/v4/zones/你的ZoneID/pagerules/你的RuleID

请求方法: PUT

请求头:

Plaintext

Authorization: Bearer 你的CF_Token
Content-Type: application/json
请求主体 (Body):

JSON

{
  "targets": [{ "target": "url", "constraint": { "operator": "matches", "value": "v4-*.ytcom.eu.org/*" } }],
  "actions": [{ "id": "forwarding_url", "value": { "url": "https://$1.ytcom.eu.org:#{port}/$2", "status_code": 302 } }],
  "status": "active"
}
成功字符串: success":true

4. 最终验证与使用
恭喜!这套配置利用了 Armbian 的灵活性和 1Panel 的容器优势,实现了目前最优雅的家庭网络访问方案:

场景 A (IPv6 直连 - 极速):

访问 https://jellyfin.ytcom.eu.org:21927

流量路径: 公网 -> 路由器防火墙放行 -> OECT:21927 (Web服务)。

场景 B (IPv4 自动跳转 - 兼容):

访问 https://v4-jellyfin.ytcom.eu.org

流量路径: Cloudflare -> 重定向到最新端口 -> 路由器 UPnP -> OECT:21928 (STUN) -> OECT:21927 (Web服务)。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注