• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ujujzhaos
V2EX  ›  程序员

Cloudflare + DMIT + edgetunnel:一条可切换的双入口节点

  •  
  •   ujujzhaos · 20h 31m ago · 408 views

    https://s7ea.com/feed/37

    Cloudflare + DMIT + edgetunnel:一条可切换的双入口节点

    本文记录一次完整落地:DMIT VPS 上的 VLESS 作为可控出口,Cloudflare Workers 上的 edgetunnel 作为边缘入口,FlClash 里两套节点并存。最后链式 SOCKS 验证通过,落地 IP 回到同一台洛杉矶机器。

    公开前请轮换面板密码、UUID 和 SOCKS 账密。文中参数来自这次实测,仅作过程说明。


    1. 要解决什么

    需求很具体:

    • 有一台 DMIT (洛杉矶),希望出口 IP 稳定、自己可控。
    • 域名已在 Cloudflare ,希望必要时用 CDN/Workers 藏源站、走 443 。
    • 客户端用 FlClash 和小火箭,不要两套互不相干的订阅。

    后来又加了一层:能否「不靠自己的 2083 端口」进网,但仍从这台 VPS 出网。这就是 edgetunnel 链式代理要做的事。

    最终形态:

    客户端
     ├─ DMIT-直连    v.s7ea.com:2083     VLESS + WS + TLS     出口 = VPS
     └─ CF-边缘      edt.s7ea.com:443    edgetunnel Worker
                          └─(可选) SOCKS5 → VPS:10808     出口 = 同一台 VPS
    

    2. 环境

    项 值
    VPS DMIT ,Ubuntu ,密钥登录
    IPv4 / IPv6 45.59.186.107 / 2605:52c0:3:6a7:be24:11ff:fea2:929a
    直连域名 v.s7ea.com (先灰云指源站)
    Worker 域名 先 edgetunnel.zhoh2019.workers.dev,后绑 edt.s7ea.com
    面板 3x-ui + Xray
    边缘 cmliu/edgetunnel ,fork 在 zhostev/edgetunnel
    客户端 FlClash 、Shadowrocket

    3. 第一段:只做 VPS 上的 VLESS

    方案是 VLESS + WebSocket + TLS ,端口 2083 ( Cloudflare 可反代的 HTTPS 端口),路径 /cfws。

    顺序不能反:

    1. DNS 先灰云,A 记录指 VPS 。橙云会挡住 Let’s Encrypt 的 HTTP-01 。
    2. 安装 3x-ui 。3.8.5 会把订阅服务和面板抢同一个端口,把 subPort 改走或关掉订阅服务。
    3. 解析未好时先自签证书,入站能起来;解析通了再用 acme.sh standalone 换 Let’s Encrypt 。
    4. 入站:VLESS 、2083 、TLS 、WS 、/cfws、SNI/Host 均为 v.s7ea.com,flow 留空。

    直连分享链接形态:

    vless://<UUID>@v.s7ea.com:2083?encryption=none&security=tls&sni=v.s7ea.com&fp=chrome&type=ws&host=v.s7ea.com&path=%2Fcfws#cf-vless
    

    测通标准是访问 https://www.cloudflare.com/cdn-cgi/trace:

    ip=2605:52c0:3:6a7:be24:11ff:fea2:929a
    colo=LAX
    loc=US
    warp=off
    

    出口是这台机器的 IPv6 ,不是本地 ISP 。


    4. FlClash 的两个坑

    FlClash 「添加配置」只有二维码、文件、URL 。

    • URL 只要 https:// 订阅,不要 vless://。把分享链接贴进去会报「必须为 URL 」,还容易把 UUID 截断。
    • 单节点应走「从剪贴板导入」,或写一份 Clash Meta YAML 用「文件」导入。

    直连节点在 Clash 里对应:

    - name: DMIT-直连
      type: vless
      server: v.s7ea.com
      port: 2083
      uuid: <UUID>
      network: ws
      tls: true
      servername: v.s7ea.com
      client-fingerprint: chrome
      ws-opts:
        path: /cfws
        headers:
          Host: v.s7ea.com
    

    小火箭可以直接吃 vless://,没有这个问题。


    5. 第二段:加上 edgetunnel

    edgetunnel 把 VLESS 入站放到 Cloudflare Workers / Pages ,不需要再买一台机器。它不是「没有服务器」,只是入站不跑在你的 Linux 上。出站默认走 Worker 自己的连接或项目内置的 ProxyIP 。

    部署选择:

    • Pages 上传 zip:适合不想碰 Git 的人。
    • Pages 连 GitHub:适合以后要改代码。
    • 本次实际生效的是 Workers 域名 *.workers.dev,再绑自定义域。

    必做三项:

    1. 变量 ADMIN、建议固定 UUID(与 3x-ui 同一枚)。
    2. KV 绑定的变量名必须是 KV,不是 kv。命名空间叫什么无所谓,先在「存储和数据库 → KV 」里创建一个再选。
    3. 未配 ADMIN 时,所有路径都会显示伪装页(例如 Welcome to nginx ),/admin 也不例外。

    面板起来后会出现「随机优选 16 个 CF IP 」。那是给 workers.dev 被干扰时换 Anycast IP 用的,和「出口锁定自己的 VPS 」是反着的。自用应改成自定义列表只留自己的域名,或直接「复制节点」。


    6. workers.dev 通不了,要换自己的域名

    FlClash 里一度出现:DIRECT 有延迟,Worker 节点全 Timeout 。原因不是 UUID ,是 *.workers.dev 在客户端网络里不稳定。

    绑定 edt.s7ea.com 之后,从公网看:

    • 解析到 Cloudflare Anycast
    • 证书 SAN 包含 edt.s7ea.com
    • /admin 已是中文设置页

    但面板会弹窗:**当前访问域名是 edt.s7ea.com,节点伪装域名仍是 workers.dev**。不改 HOST ,复制节点和订阅就会继续下发打不开的地址。

    在「详细配置信息」把 HOST 改成 edt.s7ea.com 并保存。客户端的 server / SNI / Host 必须一致,路径用后台生成的,不要套用 VPS 上的 /cfws。

    改完后 FlClash 出现:

    DMIT-直连   225 ms
    CF-边缘     196 ms
    

    两条都绿。此时若走 CF-边缘看 cdn-cgi/trace,出口可能是:

    ip=104.28.163.182
    colo=AMS
    loc=NL
    

    说明 Worker 自己出网了,还没有回到 DMIT 。


    7. 链式 SOCKS:从 Loop 到验证通过

    为了让 CF-边缘的出口也是 VPS ,在 3x-ui 增加 mixed 入站( SOCKS5 + HTTP ),端口 10808 ,账密认证。Worker 作为客户端去连这个端口。

    edgetunnel 「添加链式代理」里有一个容易踩的验证逻辑:

    Worker → SOCKS → 再访问「优选」地址

    「优选」若填 edt.s7ea.com 或 1.1.1.1,会绕回 Cloudflare 。Worker 运行时禁止再连 CF 自己的地址,报错:

    TCP Loop detected, contact us if this doesn't seem right.
    

    正确填法:

    栏 值
    优选 8.8.8.8(不要 1.1.1.1 ,不要自己的 Worker 域名)
    链式代理 socks5
    地址 用户:密码 @45.59.186.107:10808(端口不能省)

    验证通过时面板显示:

    优选入口 8.8.8.8 → SOCKS5 → 落地 2605:52c0:3:6a7:…
    地区 US ,约 540ms
    

    落地 IPv6 与直连测速是同一台机器。链式比直连多一跳,延迟从约 200ms 升到约 540ms ,符合预期。

    点「添加」保存后,再走 CF-边缘看 cdn-cgi/trace,目标是 ip 回到 VPS 、colo 靠近 LAX 。

    若验证长期 Loop:可以放弃链式,两套节点分开用。公网再暴露 10808 收益有限。本次最后是验证通过,链式可以留作「 CF 入口 + VPS 出口」。


    8. 客户端怎么组织

    一份 YAML 足够:

    proxies:
      - name: DMIT-直连
        type: vless
        server: v.s7ea.com
        port: 2083
        # ws + tls + path /cfws
      - name: CF-边缘
        type: vless
        server: edt.s7ea.com
        port: 443
        # ws + tls + path 用后台给出的,常见 /?ed=2560
    
    proxy-groups:
      - name: PROXY
        type: select
        proxies:
          - DMIT-直连
          - CF-边缘
          - DIRECT
    

    策略建议:

    • 要稳定出口、流媒体、可控 IP:选 DMIT-直连。
    • 2083 或源站 IP 被干扰:选 CF-边缘(已链式则出口仍是 VPS )。
    • 不要用「随机优选 16 」那种自动选择组当主力,Timeout 时会整组挂掉。
    • 全局模式下 DIRECT 探活变红可以忽略。

    9. 排障备忘

    现象 原因
    FlClash 「必须为 URL 」 把 vless:// 贴进订阅框
    /admin 是 nginx 欢迎页 未设置 ADMIN,或 KV 变量名不是 KV
    列表里全是「 CF 官方优选」 开了随机优选,不是自己的域名
    workers.dev 节点 Timeout 、直连正常 换自定义域,并改面板 HOST
    自定义域能开后台,节点仍下发 workers.dev HOST 未改
    cdn-cgi/trace 在 AMS / 104.28.* Worker 未走 SOCKS
    链式报 TCP Loop 优选填了 CF 地址或自身域名
    链式验证通过但延迟高 正常,多一跳

    10. 安全

    • 3x-ui 面板不要长期裸奔在公网明文端口。
    • SOCKS 10808 必须强密码;不用链式就关掉入站。
    • UUID 、订阅 token 、SOCKS 账密不要写进公开 Git 。fork 仓库只放说明,机密放 Workers 变量。
    • workers.dev 和订阅 URL 都相当于入口,token 泄漏等于节点泄漏。

    11. 结论

    可以合成,但不要幻想「一个 Worker 取代 VPS 」。

    • VPS 提供出口质量和 IP 归属。
    • Worker 提供 443 、CF 证书、自定义域、在 workers.dev 不好用时的另一条入口。
    • 链式 SOCKS 能把两条合成「同一出口」,代价是延迟和一次容易误报的 Loop 检测。
    • FlClash 要用对导入方式,HOST 要和正在访问的域名对齐。

    落地顺序压缩成一句:先灰云把 2083 跑通,再上 Worker 和自定义域,最后才考虑 SOCKS 回源。反过来排障

    INTEL2333
        1
    INTEL2333  
       19h 5m ago
    浓浓的 ai 味
    NewYear
        2
    NewYear  
       18h 47m ago
    不知道为什么,ai 总喜欢把一篇内容少的文字,搞成一大堆的文字,用普通人不容易理解的方式输出。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1140 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 23:13 · PVG 07:13 · LAX 16:13 · JFK 19:13
    ♥ Do have faith in what you're doing.