Tailscale 异地组网!随时随地访问你的设备
玩 Tailscale 起因是想折腾一下远程,主包是个多设备党,把我这些电脑、手机、服务器放到一个虚拟局域网里,这样我就能——
- 实现“开发环境”的无缝漫游
- 在 Mac 上远程打 Windows 游戏
- 随时随地访问设备文件资源
壹 · 不同场景下的远程方案
| 访问端 (Client) | 被控端 (Host) | 推荐方案 / 工具 | 核心优势 |
|---|---|---|---|
| 🖥️Windows | 🖥️Windows | mstsc (专业版系统自带,家庭版打RDPWrap补丁) | 操作丝滑,无需安装 |
| 🍎Mac / iPad | 🖥️Windows | Microsoft Remote Desktop | 微软官方出品 |
| 🖥️Windows | 🍎Mac | Remote Desktop Manager | 选择 ARD (Apple Remote Desktop) 协议,远比 VNC 流畅 |
| 🍎Mac | 🍎Mac | 屏幕共享 (系统自带) | 苹果原生全家桶加持,延迟极低 |
| 🖥️任意设备 | 🐧Linux | 直接SSH得了 | 终端操作,稳定且高效 |
都说远程了,为啥不用 ToDesk 或者向日葵呢?
- 一方面,使用 ToDesk,你的设备连接、甚至数据流转都需要经过其商业公司的中心服务器,完全黑盒。
- 另一方面,它的原理更接近“录屏传输”。软件抓取你的桌面图像,编码压缩成视频流发给另一端,再解码显示。这会导致画质损失、色彩偏色,且在高分辨率下非常吃 CPU,而且 ToDesk 等商业软件的免费版通常会限制带宽、限制帧率、限制多屏幕显示。
所以说还是原生协议 RDP(基于 TCP/UDP 直连)好,我们只需要解决不在同一个局域网下怎么连接的问题了。
贰 · 为什么是 Tailscale?
Tailscale 基于 WireGuard 协议,能让你在复杂的网络环境下(比如大内网、无公网 IP)实现设备间的点对点直连。简单来说 Tailscale 解决的就是“连接”的问题,它构建了一个虚拟局域网,让你的所有设备无论身处何处,都像在同一个路由器下,这样就随我 SSH 或者 RDP了。
另一个比较关键的考虑是安全性,Tailscale 建立的是端到端的加密通道,流量不经过中心服务器解密,即便在最坏的情况下(打洞失败,走中继服务器 DERP),数据流也是加密的,中间节点无法窥探内容。
叁 · 从“能用”变成“好用”—— 自建 DERP 中继
虽然 Tailscale 的 P2P 打洞能力极强,但在一些复杂的校园网或办公网环境下,偶尔会失败。这时流量会走官方的中继服务器,由于服务器在海外,延迟可能会飙升。
要达到一个丝滑的体验,解决办法就是利用一台国内云服务器自建 DERP 节点,能将延迟从几百毫秒压低到 50ms 以内,可以参考Tailscale玩法之内网穿透、异地组网、全隧道模式、纯IP的双栈DERP搭建、Headscale协调服务器搭建,用一期搞定,看一看不亏吧?自行搭建。
<------空了整理一下搭建过程中遇到的几个小问题------>
加入网络后,每台设备都会获得一个 100.x.x.x 的固定 IP。配合 MagicDNS,你可以直接通过设备名访问。只要设备在网里,所有端口默认全通,直接告别frp内网穿透的繁琐。比如我在电脑上启 Vite 开发环境,我要在移动端(手机/iPad)上调试,直接输入对应 url 就好,像访问本地 localhost 一样实时预览。
肆 · 踩坑日记
- Windows 被控端除了开启远程桌面,还要在防火墙里放行 TCP 3389 端口。
- 别让电脑睡着了💤,可以设置锁定但不休眠。一旦休眠,Tailscale 也会断开,你就只能回实验室手动开机了。