banner
约 1,200 字
4 分钟

Tailscale 组网教程:零配置连成你的私有局域网

摘要

Tailscale 基于 WireGuard,登录即组网,让手机、电脑、服务器像在同一局域网。本教程依据 Tailscale 官方文档,介绍安装登录、MagicDNS 域名访问、子网路由访问家里整个网段、Exit Node 出口节点、内置 SSH,以及与 Cloudflare Tunnel 的选型对比。

Tailscale 组网教程:零配置把设备连成一个局域网

出门在外想 SSH 回家里的电脑、访问家里 NAS 的文件,传统做法是公网 IP 或内网穿透。Tailscale 提供了第三条路:基于 WireGuard 的虚拟组网,让你的手机、笔记本、服务器像在同一个局域网里一样互相访问,且流量端到端加密。本教程依据 Tailscale 官方文档(tailscale.com/kb)整理。

一、它凭什么简单

传统 WireGuard 要手写配置、交换公钥、处理 NAT 穿透。Tailscale 把这些全自动化了:

  • 登录即组网:设备登入同一账号就自动加入你的私有网络(tailnet)

  • 自动打洞:绝大多数场景无需公网 IP,穿透失败时走 Derp 中继

  • 端到端加密:数据不经过 Tailscale 服务器明文中转

  • 每台设备分配一个固定的 100.x.x.x 虚拟 IP,随处可连

免费个人版支持最多 100 台设备、3 个用户,个人使用完全够。

二、安装与登录

各平台客户端在官网下载页统一获取,Linux 命令行安装:

bash
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

终端会给出一个登录链接,浏览器打开并用 Google/Apple/GitHub/微软账号登录,这台设备就入网了。手机装 App 登录同一账号即可。

三、日常使用

bash
tailscale status          # 查看网内所有设备及在线状态
tailscale ip              # 查看本机的虚拟 IP
ping 100.101.102.103      # 直接 ping 其他设备
ssh user@100.x.x.x        # 当普通 IP 用

每个设备还有形如 myserver.tailnet-name.ts.net 的域名,记不住 IP 就用域名。

MagicDNS(管理后台开启后)可以直接用设备名访问:

bash
ssh user@myserver

四、几个高阶玩法

1. 把家里设备暴露给整个局域网:在 NAS 上开启 --advertise-routes=192.168.1.0/24,你在外面就能直接访问家里路由器下的任何设备。

2. 把 Tailscale 节点当出口(Exit Node):家里的服务器执行 sudo tailscale up --advertise-exit-node,手机在外面勾选它作为出口,流量就从家里出去。

3. SSH 免配置tailscale up --ssh 后,网内设备可以直接 ssh user@设备名,由 Tailscale 管理认证,不需要分发公钥。

4. Funnel 公网分享tailscale funnel 8080 可以把本机服务临时暴露到公网,适合给朋友演示。

五、和 Cloudflare Tunnel 怎么选

两者解决的问题有重叠但方向不同:

  • Tailscale:设备到设备的私有网络,适合"我自己访问我自己的服务",不需要域名

  • Cloudflare Tunnel:把服务暴露给公网用户,有域名、有 HTTPS,适合"给别人访问"

自己远程办公用 Tailscale,对外发布网站用 Cloudflare Tunnel,两个一起用也不冲突。

六、总结

需求

做法

加入网络

安装后 tailscale up 登录

看设备列表

tailscale status

用名字访问

开启 MagicDNS

访问家里整个网段

advertise-routes 子网路由

出差走家里网络

Exit Node

临时公网分享

tailscale funnel

Tailscale 的体验可以用一句话概括:装上、登录、完事。如果你有一堆设备想互相访问,它几乎是零成本的终极答案。

END