Lazy loaded image
Tech Sharing
抛弃向日葵,TailScale万物互联
字数 2643阅读时长 7 分钟
2026-4-30
2026-5-7
type
Post
status
Invisible
date
Apr 30, 2026
slug
no-sunflow-use-tailscale
summary
如果是极客玩家的话,可以一玩;如果是普通玩家,那么还是继续用向日葵吧。
tags
tech share
Tools
category
Tech Sharing
icon
password
URL

TL; DR

如果是极客玩家的话,可以一玩;如果是普通玩家,那么还是继续用向日葵吧。

Tailscale 简单互联原理

想让两台设备互相通信,最直接的方案当然是物理连接。插一根网线,就能拿到对方的 IP,然后畅通无阻地访问。
但在真实场景里,设备可能一台在家、一台在公司,还有一部手机在路上。这时每个设备所处的网络环境完全不同:
  1. 少数设备拥有独立、唯一的公网 IPv4 或 IPv6;
  1. 更多设备藏在路由器后面,通过网络地址转换(NAT)只分到一个内网地址。
这样的网络结构让设备之间没办法直接建立连接
Tailscale 给出的解决思路是:先尽全力发现每个设备有没有“直达路径”
  • 如果设备有公网 IP(IPv4 或 IPv6),Tailscale 会虚拟出一张网卡,就像用一根隐形的网线把两台机器直接连在一起。所有流量都走这张网卡,点对点直传。
  • 如果某个设备实在没有独立 IP(比如藏在家庭路由器后面的台式机,只能拿到路由器的公网 IP 而自己不能被外部直接访问),Tailscale 就会启用中转服务器进行转发。你的设备先连接到公网上有独立 IP 的中继服务器,再由中继服务器把数据送达内网设备,完成通信。
下面两张图可以直观对比两种模式:
直连模式
中转模式
  1. 直连 速度最快、最稳定,完全取决于两端的上行带宽和物理距离。
  1. 中转 速度和中转服务器的位置、带宽密切相关。服务器离你越近,延迟越低。

中转服务器和内网设备互联的简单原理

既然我们无法从公网主动连接一个藏在 NAT 后面的内网设备,那为什么加一台中转服务器就“能通了”呢?关键原理其实很朴素:
内网设备虽然不能被外部主动连接,但它可以自己“出门”去连接公网上的服务器。
也就是说,家里那台没有公网 IP 的台式机,完全可以主动向一台拥有公网 IP 的中转服务器发起连接(通常是 TCP 或 UDP 长连接),并在这条连接上维持一个心跳。中转服务器就相当于一个“通信信箱”。
当你的手机(可能也在另一个内网)想和这台台式机通信时,整个过程是:
  1. 手机先把数据包发送给中转服务器;
  1. 中转服务器再通过已经建立好的那条连接,把数据包转发给台式机;
  1. 反过来,台式机发出的数据也是先到达中转服务器,再转给手机。
在中转服务器看来,双方都是“主动连上来的客户端”,不存在“从外向内发起连接”的问题,因此 NAT 和防火墙并不会拦截。
在 Tailscale 的体系里,这个角色由 DERP(Designated Encrypted Relay for Packets)服务器承担。DERP 服务器拥有公网 IP,专门负责在无法直连时中转加密流量。有了它,即便两台设备都位于严格 NAT 之后,也能够安全通信——代价仅仅是多一跳带来的额外延迟。

Tailscale 简单使用方案

上手非常简单,只需要三步即可完成组网:
  1. 注册账号 访问 Tailscale 官网,使用 Google、Microsoft、GitHub 或 Apple ID 直接登录。Tailscale 不使用传统密码,而是通过 SSO 身份验证 保证安全。
  1. 下载客户端 在所有需要互联的设备上安装 Tailscale 客户端
      • Windows / macOS:下载 .exe.pkg 安装包,运行后在系统托盘点击图标登录。
      • 手机(iOS / Android):直接从 App Store 或 Google Play 下载。
      • Linux:使用官方一键脚本即可:
    1. 设备互联
        • 加入网络的每台设备都会获得一个唯一的内网 IP(一般是 100.x.x.x 地址段)。
        • 只要设备在线,你就可以直接用这个 100.x.x.x 的 IP 互相访问,就像在同一个物理局域网里一样。无论是远程桌面(RDP)、SSH 还是 NAS 的管理页面,都可用这个地址直接打开。
    (示意:三台设备通过一根虚拟网线连接在一起,分别获得私有 IP,彼此可以自由通信。)

    进阶玩法

    加密 VPN

    既然所有设备都已互联,你完全可以在外时将流量加密传回家里的电脑,再从家里的电脑访问互联网。 比如连接到一个公共 Wi-Fi,担心其安全性,就可以用这种方式将所有流量“绕回家”,消除被窃听的风险。
    不过这类需求相对小众,如果只是偶尔担心公共 Wi‑Fi 的安全,直接切换到手机移动网络会更方便。

    在 OpenWrt 上安装 Tailscale

    很多时候,我们希望家里的所有设备都能接入内网:摄像头、老式打卡机、打印机、电视、智能灯光……但这些设备并不都能安装 Tailscale 客户端。
    这时可以选择让路由器本身成为 Tailscale 网络的“网关”。OpenWrt 是一个很好的平台,常见的做法是:
    1. 在 OpenWrt 上安装 Tailscale;
    1. 将 OpenWrt 设置为子网路由(Subnet Router)
    这样哪怕你人在外面,只要手机连上 Tailscale,就能直接访问家里任意一台设备,和连接家里 Wi‑Fi 的体验完全一样。那些不支持装客户端的设备只需正常连到 OpenWrt 提供的 Wi‑Fi 即可,完全无感知。
    此外,这种方式还能节省连接名额。Tailscale 免费版对设备数量有限制,如果路由器下面有 20 台设备,使用子网路由后,Tailscale 只占用一个名额,却可以带起后面所有的设备。

    自建 Tailscale 节点

    Tailscale 默认的中继服务器(DERP 节点)部署在海外,在大陆使用时不可避免地会出现高延迟和带宽限制。当两端没有公网 IP 而被迫走中转时,流量先流向海外、再传回国内,延迟常常在 200 ms 以上,带宽可能被限制在 1 Mbps 左右,体验很差。
    但如果两端能成功打洞实现 P2P 直连,流量完全不经服务器,速度只取决于你宽带的上行带宽。好在 Tailscale 非常开放,支持多种自建方案:
    1. 自建 DERP 中继(推荐) 在国内买一台便宜的 VPS(年费通常在 90 元以内),在上面运行 DERP 服务。以后无法直连时,流量就会走你自己的国内 VPS 中转,延迟通常降到 10 ~ 50 ms,带宽取决于 VPS 的配置,稳定性非常高。
    1. 自建 Headscale 控制端 如果你希望完全脱离 Tailscale 的官方服务,还可以用开源项目 Headscale 自己搭建控制服务器。这几乎是把 Tailscale 的“中枢”搬到了自己手里:完全私有化,不限制设备数量,所有数据与控制都与官方账户体系无关,非常适合对隐私和控制力有极致要求的用户。

    远程开发

    由于 Tailscale 相当于为我们虚拟出了一张局域网网卡,我们可以随时随地用笔记本或 iPad 连接家里的台式机写代码。
    只需在 VS Code 上安装 Remote Development 插件,然后直接输入家里开发机的 Tailscale IP(例如 100.x.x.x)即可远程工作。体验接近本地,不再被公网 IP 或复杂端口转发困扰。

    云游戏(云渲染)

    如果你家里有一台高性能显卡的 PC,出门之后想用 Mac 或 iPad 玩游戏,可以借助 Moonlight + Sunshine + Tailscale 这套组合:
    1. 家里的 PC 负责渲染游戏画面;
    1. 外网设备通过 Tailscale 建立的低延迟虚拟局域网连接到 PC,像在本地一样串流游戏。
    延迟虽然比不上纯局域网,但在网络良好的情况下已经可以一战。

    文件传输

    如今传文件的方法很多,比如 QQ、微信、网盘……但每次都免不了打开聊天软件,总感觉不太顺手。
    在 Tailscale 网络里,所有设备都视为同一局域网,你可以直接用系统原生的文件共享(SMB、AFP、rsync、scp 等)在设备之间拖拽或同步文件。不需要任何第三方服务,也不受文件体积限制,是一种“折腾一小时,清爽每一天”的极客玩法。
    上一篇
    2026 Deep Guide: Mirrored Mode + Auto-Activation for Instant Mac → WSL 2 Remote Dev
    下一篇
    Obsidian + AI:打造你的第二大脑知识管理新范式