Home 技术笔记 Tailscale + Z...

Tailscale + ZeroTier 双栈混合组网方案

0

跨地区、多局域网、NAT、异构环境的终极解决方案

ZeroTier 和 Tailscale 都是优秀的组网工具,但它们各有优势,也各有痛点:

特性ZeroTierTailscale
登录速度一般
多地区稳定性较好(支持 Moon)较好(WireGuard)
穿透能力强,需 Moon 加强很强(DERP)
子网路由
出口节点支持支持
Controller自建(ztncui)仅官方
网络结构灵活简单直接

为什么要“双栈”?

在真实网络环境中,单靠一套组网方案不能完美应对所有场景:

  • Tailscale 登录快但跨国网络有时抖动
  • ZeroTier 有 Moon 依赖,偶尔 handshake 慢
  • 不同设备(OpenWrt/Windows/Linux/Mac)兼容性不同
  • 跨局域网互访时,两者都有强项

因此:

最稳的做法是:设备同时加入 Tailscale + ZeroTier,两套网络互为冗余,提高可靠性与访问质量。


1. 双栈网络拓扑概念

                ┌──────────────┐
                │ 服务器节点 A │
                │ ZeroTier +   │
                │ Tailscale    │
                └───────┬──────┘
                        │
                        │ 同时加入两个 Overlay 网络
                        │
        ┌───────────────┼────────────────┐
        │               │                │
┌───────┴───────┐ ┌─────┴────────┐ ┌─────┴────────┐
│ 家庭网络 B    │ │ 公司网络 C   │ │ VPS 网络 D   │
│ ZT + TS       │ │ ZT + TS       │ │ Only TS/Only ZT│
└───────────────┘ └──────────────┘ └──────────────┘

每台设备拥有:

  • ZeroTier IP(通常是 192.168.xxx.xxx)
  • Tailscale IP(100.x.x.x)

双链路互访:

  • ZeroTier 访问失败 → 自动切回 Tailscale
  • Tailscale 抖动 → ZeroTier Moon 继续畅通

2. 适合双栈的典型设备

设备推荐
OpenWrt 路由器ZeroTier(子网路由)+ Tailscale(出口节点)
软路由 / x86同时启用两个,性能无压力
NAS双栈访问文件系统最稳定
服务器 / VPS双入口防止 Cloudflare 断流、运营商限速
Windows / Mac / Linux 工作站自动选择最通畅链路

3. 双栈部署流程概述

以下为推荐的部署顺序:

  1. ZeroTier 组网
    • 建立 ZT 网络
    • 可使用 Moon / 自建 Controller(ztncui)
    • 路由器加入、子网路由开启
  2. Tailscale 组网
    • 各设备执行 tailscale up
    • 路由器启用子网路由、出口节点(可选)
  3. 路由互通与策略
    • ZeroTier 负责跨网段通信
    • Tailscale 作为低延迟链路备用
    • 必要时设置策略路由、分流
  4. 跨网络访问策略
    • ZT & TS 双 IP 均可访问
    • 监控链路质量选择最佳路径

4. OpenWrt 双栈配置(核心部分)

4.1 安装 ZeroTier

opkg install zerotier
/etc/init.d/zerotier start
/etc/init.d/zerotier enable

加入网络:

zerotier-cli join <zt-network-id>

开启子网路由:

zerotier-cli set <network-id> allowDefault=1
zerotier-cli set <network-id> allowGlobal=1

4.2 安装 Tailscale

opkg update
opkg install tailscale tailscaled
/etc/init.d/tailscale start
/etc/init.d/tailscale enable

登录:

tailscale up

子网路由:

tailscale up --advertise-routes=192.168.1.0/24

也可以启用出口节点:

tailscale up --advertise-exit-node

5. 双栈路由策略建议

你可以让两个 Overlay 网络各司其职:

方案 A:ZeroTier 主路由 + Tailscale 备份

  • ZeroTier:跨设备 LAN 访问
  • Tailscale:连不上就 fallback

最佳适用:

  • 多局域网互访
  • 企业互联

方案 B:Tailscale 主出口 + ZeroTier 局域网

  • Tailscale:用于远程访问公网(Exit Node)
  • ZeroTier:用于局域网内互访、NAS、办公

最佳适用:

  • 家庭 / 工作室网络

方案 C:动态选路(智能)

许多系统默认支持智能选择:

系统智能选路
Windows
macOS
Linux通过 fwmark 识别
OpenWrt可设置策略,但需手动

这是双栈最灵活模式。


6. 常见双栈使用技巧

技巧 1:用 ZeroTier 访问内网,用 Tailscale 当出口 VPN

很多人这样配置:

NAS / 摄像头 / 路由器:通过 ZeroTier 访问  
浏览器 / 手机外网:通过 Tailscale Exit Node 出去

完全两不耽误。


技巧 2:跨国访问,使用 Tailscale DERP + ZeroTier Moon 组合

  • Tailscale → DERP 中继优先,速度快
  • ZeroTier → Moon 稳定,穿透强

两个同时开,跨国体验大幅提升。


技巧 3:容器专用网络使用 ZeroTier,系统网络使用 Tailscale

例如:

  • Docker 内的服务走 ZT
  • 系统本身走 TS

方便分流、避免冲突。


7. 是否会冲突?需要注意什么?

实际上 ZeroTier 与 Tailscale 完全不会冲突,因为:

  • ZeroTier 走自己的 Tap 接口(ztxxxx)
  • Tailscale 走 tun 接口(tailscale0)
  • 都是虚拟网卡
  • 都是 P2P Overlay 网络,各走各的链路

只是:

  • 不要让两个都开启 advertise-default-route(出口)
  • 避免默认路由被覆盖
    → 否则可能流量跑偏

建议:出口节点只开 Tailscale
ZeroTier 不开默认路由(只开子网路由)


8. 最佳实践(推荐方案)

如果你不知道怎么设计,下面是我为你总结的最优方案:

✅ 家庭 / 公司:

ZeroTier 负责局域网互访
Tailscale 负责远程登录 + 外网出口

✅ Linux 服务器 / VPS:

Tailscale 主链路
ZeroTier 备用链路(或内网共享链路)

✅ OpenWrt 路由:

ZeroTier → 子网路由
Tailscale → 出口节点(或分流)

✅ NAS:

双栈运行,随时用最快链路访问文件
(Synology / QNAP 都很适配)


9. 结语:双栈是目前最稳的组网方案

单靠 ZeroTier 或 Tailscale 都有一定局限性:

  • 某些国家/地区对某一协议限速
  • 某些时间段 ZeroTier handshake 慢
  • 某些设备对 Tailscale 内核支持不足
  • NAS、路由器等多设备混用更复杂

双栈混合,几乎可以保证任何地区、任何网络环境都能稳定互通。

这是自建私有网络最“保险”、最“通用”、最“稳”的方式。

NO COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here

退出移动版