Dev Guide / 2026 ・ No.02
Tailscale 入门手册
从网络基础讲起,到原理、安装和日常用法
发布
“想在外面连上家里的电脑或 NAS。”
最简单的答案之一就是 Tailscale。本文先复习 IP 地址、NAT 等网络基础,
用图解释为什么平时从外面进不了家,以及 Tailscale 是怎么解决的。
后半部分配合截图,一步步讲解在 Windows、Mac、iPhone、Android 上的安装和使用。
基础①:地址与路线(IP・路由器・端口)
互联网通信是把数据拆成一个个小包裹(数据包)来发送的。每个包裹上都写着“收件人”和“寄件人”,相当于地址的就是 IP 地址。
家庭网络的样子
数字只是示例(203.0.113.x 与 198.51.100.x 是专供文档说明使用的保留地址)
家里的设备分到的是只在家里有效的私有 IP(192.168.x.x 等)。在互联网上代表这个家的,只有路由器持有的那一个公网 IP。外面只能看到“门牌号”,看不到是家里哪个房间(哪台设备)。
- 路由器 ── 站在家里(局域网 LAN)和互联网(广域网 WAN)交界处的设备。家里的设备上网,一定会经过它
- 端口号 ── 在一台设备内部区分“发给哪个应用”的房间号。网页是 443,远程桌面是 3389,都是约定好的
- DNS ── 把“example.com”这样的名字查成 IP 地址的电话簿。人记名字,机器靠号码
基础②:为什么“从外面进不了家”(NAT)
一个家只有一个公网 IP,家里的多台设备却能同时上网,靠的是路由器做的 NAT(地址转换)。
NAT 的对应表 ── 只有“往外发”的通信才会开出路
实际的路由器按“IP 地址+端口号”成对改写(也叫 NAPT)
从家里往外发的通信,路由器会把发送方改写成自己的地址并记进表里,所以回复能照着表回到正确的设备。可是从外面突然来的通信,表里没有对应的记录,不知道该交给谁,只能丢掉。这就是“从外面连不上家里电脑”的原因,同时它也是保护家庭网络的一道墙。
过去,人们用这些办法在墙上开洞:
- 端口映射(端口转发) ── 手动往路由器的表里加一条“来到这个号码就转给这台设备”。但这个洞是对全世界开的,也会成为攻击目标
- 很多线路根本开不了 ── 手机的移动网络和部分宽带,运营商那边还有一层 NAT(CGNAT)。日本常见的 v6Plus 等“IPv4 over IPv6”方式,可用端口有限,甚至无法做端口映射
- 自建 VPN 服务器 ── 在家里开一个 VPN 入口。安全,但终究还是要端口映射和不少设置
VPN 与 Tailscale 的思路
VPN(虚拟专用网络)是在互联网之上建立加密的“专用通道(隧道)”,让相隔很远的设备像在同一个家里一样互通的技术。很多人都用过公司的 VPN。
传统 VPN 是所有人都连到中央 VPN 服务器(枢纽)的结构。哪怕对方就在隔壁,通信也要先去枢纽再折回来。枢纽一拥挤,大家都慢;枢纽一停,大家都断。
Tailscale 是让设备之间直接相连的网状(mesh)VPN。加密用的是久经考验的 WireGuard,只有麻烦的“怎么连”的协调工作由 Tailscale 的服务器负责。不需要端口映射,只要登录,自己的设备就会聚到同一个网络里(Tailscale 称之为 tailnet)。
Tailscale 的原理
Tailscale 的关键,是把“决定怎么连”和“搬运数据”这两件事分开:前者由 Tailscale 公司的服务器负责,后者由每台设备自己完成。
控制(虚线)与通信(朱线)是分开的
以 100 开头的地址只是示例,实际地址会自动分配给每台设备
- 协调服务器 ── tailnet 的“名册管理员”。管理有哪些设备加入、各自的公钥和联系方式,并分发给各设备。数据本身不经过这里。即使它暂时停机,已经连上的设备之间也能继续通信
- WireGuard 密钥 ── 每台设备自己生成密钥对,私钥从不离开设备。交给服务器的只有公钥,所以 Tailscale 公司也看不到通信内容
- 100.x.y.z 地址 ── 每台设备会从 100.64.0.0/10 范围内分到固定地址。从 Wi-Fi 切换到移动网络,这个号码也不变
- MagicDNS ── 只用设备名(如 my-nas)就能连上的功能。新建的 tailnet 默认开启
穿过 NAT,建立直连
如第二章所说,平时从外面来的通信会被 NAT 丢掉。Tailscale 让双方同时向对方发出“往外走”的通信,使各自路由器的对应表里生成记录,从而打通直连的路(NAT 穿透,俗称“打洞”)。
建立连接的过程
在无法直连的环境中,也可以设置用同一 tailnet 中的另一台设备做中继(Peer Relay)
在打洞失败的严格网络里(公司防火墙、部分移动网络等),由 Tailscale 部署在世界各地的中继服务器 DERP 原样转发加密的数据包,东京也有节点。中继同样看不到内容,只是比直连慢。
能用来做什么
核心就是“让自己的设备无论在哪里都能安全互连”。常见的用法如下:
| 想做的事 | 用 Tailscale 会怎样 |
|---|---|
| 在外面操作家里或公司的电脑 | 远程桌面里填 Tailscale 地址或设备名即可,无需端口映射 |
| 看家里 NAS 上的照片和视频 | 用手机直接访问 NAS 管理页面或媒体服务器 |
| 连接开发中的服务器 | SSH 到家里或 VPS 上的服务器;不对外公开也能共享公司的测试机 |
| 在自己的设备之间传文件 | 用 Taildrop 在 Mac、Windows、iPhone、Android 之间直接发送 |
| 安全地用咖啡店 Wi-Fi | 把家里电脑设为“出口节点”,所有通信都经由家里 |
| 只和家人朋友共享一部分 | 可以只把指定的设备共享到对方的 tailnet |
反过来,向不特定的大众发布网站并不是它的本职(虽然有一个叫“Funnel”的功能可以做到)。另外,要装到公司电脑上,请务必先确认公司规定并取得信息系统部门的许可。
开始之前(价格・账号・下载)
面向个人的 Personal 套餐免费,最多 6 个用户,用户设备数量不限(2026 年 10 月)。家人或几个人一起用,先用它就足够了。
- 账号 ── Tailscale 没有自己的密码,用 Google、Microsoft、GitHub、Apple 账号(或 OIDC)登录。用哪个账号创建的很重要,请记好
- 统一用同一个账号 ── 自己的所有设备都用同一个账号登录。换了账号,就会进入另一个 tailnet
- 至少两台 ── 得有连接的对象,所以至少装两台。本文以“家里的 Windows 电脑”和“Mac・手机”为例
下载地址如下(均为官方)。撰写本文时的最新版本是 1.102.4。
| 设备 | 获取地址 | 系统要求 |
|---|---|---|
| Windows | tailscale.com/download/windows | Windows 10 及以上 |
| Mac | tailscale.com/download/mac(推荐) Mac App Store 版 | macOS 12 Monterey 及以上 |
| iPhone・iPad | App Store | iOS 15 及以上 |
| Android | Google Play | Android 8.0 及以上 |
| 汇总页 | tailscale.com/download | Linux 等也在这里 |
步骤 1:创建账号(tailnet 诞生)
在第一台设备上装好应用并登录时,账号就会自动建立。也可以先在浏览器里创建(login.tailscale.com/start)。
| 步骤 | 操作 |
|---|---|
| 01 | 在注册页面点要用的账号按钮(例:Sign up with Google) |
| 02 | 在 Google 等的登录页面完成认证。建议开启两步验证 |
| 03 | 在“Welcome to Tailscale!”中选 Personal use,点 Next |
| 04 | 在“Let's add your first device”中选当前设备的操作系统,按下一章的步骤安装应用 |
用公司域名的邮箱注册,会进入面向组织的 Enterprise 套餐 14 天试用。个人试用请用 Gmail 等个人账号。
步骤 2:安装到 Windows
先从“被连接的一方”——家里的 Windows 电脑开始。
| 步骤 | 操作 |
|---|---|
| 01 | 打开 tailscale.com/download/windows,点 Download Tailscale for Windows |
| 02 | 运行下载的 tailscale-setup-…exe。32 位和 64 位用同一个文件即可 |
| 03 | 安装完成后,屏幕右下角通知区域会出现 Tailscale 图标(9 个点排成的形状)。看不到就点“^”里找 |
| 04 | 右键图标,选 Log in。浏览器打开后,用步骤 1 的同一个账号登录 |
| 05 | 浏览器显示登录完成,图标菜单里出现“Connected”和以 100 开头的地址,就加入成功了 |
要让这台电脑随时能从外面使用,就在菜单里打开 Preferences →Run unattended。即使 Windows 没有人登录(比如刚重启后),Tailscale 也会继续运行。
步骤 3:安装到 Mac
Mac 版有三种获取方式,官方推荐从 Tailscale 网站安装的独立版:更新不用等 App Store 审核,功能也没有限制。图省事的话,用 Mac App Store 版也可以。
| 步骤 | 操作 |
|---|---|
| 01 | 在 tailscale.com/download/mac 点 Download Tailscale for macOS,打开 .pkg 安装 |
| 02 | 启动应用后会有引导。出现“System Extension Approval Required”时点 Open Settings |
| 03 | macOS 15 Sequoia 及以上:系统设置 → 通用 → 登录项与扩展,在“网络扩展”点 ⓘ,打开 Tailscale,点完成 macOS 14 及以下:系统设置 → 隐私与安全性,对 Tailscale 的系统软件点允许 |
| 04 | 用 Touch ID 或管理员密码认证。接着要求“添加 VPN 配置”时点允许 |
| 05 | 点 Log in,在浏览器里用步骤 1 的同一个账号登录 |
登录后,可以从菜单栏图标开关连接、查看设备列表。2026 年 3 月起,像本文开头图片那样的窗口界面也正式可用了。即使菜单栏图标被 MacBook 的刘海挡住,也能从窗口里操作。
如果装的是 App Store 版,步骤 02〜03 换成“允许添加 VPN 配置”即可。另外,官方说明 App Store 版有时会和“屏幕使用时间”的网页过滤冲突。
步骤 4:安装到 iPhone・Android
| 步骤 | 操作 |
|---|---|
| 01 | iPhone 在 App Store、Android 在 Google Play 安装“Tailscale”(也可以扫电脑页面上的二维码打开) |
| 02 | 打开应用,点 Get Started |
| 03 | “添加 VPN 配置”点允许(iPhone 需用密码或面容 ID 确认)。通知也建议允许,密钥快过期时会提醒你 |
| 04 | 点 Log in(Android 是 Sign in with Google 或 Sign in with other),用步骤 1 的同一个账号登录 |
| 05 | 顶部开关打开、显示“Connected”就完成了。下面会列出家里的电脑等设备 |
手机的“VPN”同一时间只能用一个。打开其他 VPN 应用(公司 VPN、广告拦截应用等),Tailscale 就会断开。
步骤 5:在管理后台确认
在浏览器打开管理后台(Admin console 的 Machines),就能看到所有加入 tailnet 的设备。这里是所有设置的大本营。
- ADDRESSES ── 各设备以 100 开头的地址。点右边的“∨”可以连同 MagicDNS 名一起复制
- LAST SEEN ── 绿色“Connected”表示在线;离线时显示最后在线的时间
- Add device ── 按操作系统告诉你新设备的下载地址
给设备起个好认的名字
设备名会根据系统的主机名自动生成(如“desktop-7k2…”)。在行最右侧的“…”→Edit machine name 里改掉,以后用名字连接会方便很多。
一直连着的设备,取消密钥期限
为了安全,每台设备的密钥都有期限(新建的 tailnet 为 180 天),过期后需要重新登录。如果在外面要用的家里电脑过期了,就只能等回家再说。这类设备请在“…”→Disable key expiry 取消期限。
用起来
① 先确认能不能通
Windows 在命令提示符或 PowerShell 里,Mac 在应用设置中安装 CLI 后在终端里,都可以使用下面的命令。
# 已加入设备的列表(地址・名称・系统・状态) tailscale status # 经 Tailscale 能否到达对方,是直连还是中继 tailscale ping my-nas pong from my-nas (100.88.4.5) via 203.0.113.9:41641 in 9ms ← 直连 pong from my-nas (100.88.4.5) via DERP(tok) in 38ms ← 中继
显示内容仅为示例。即使一直是“via DERP”也能通信,多试几次有时会切换成直连。
② 用名字连接(MagicDNS)
在浏览器或应用里,可以直接用设备名代替 IP 地址。打开 NAS 管理页面时,只要在地址栏输入 http://my-nas:5000 之类即可。
③ 在外面操作家里的 Windows 电脑(远程桌面)
| 步骤 | 操作 |
|---|---|
| 01 | 在家里电脑上打开 设置 → 系统 → 远程桌面(需要 Windows 11 专业版等 Pro 以上版本,家庭版不能作为被控端) |
| 02 | 这台电脑要做好第八章的 Run unattended 和第十一章的取消密钥期限 |
| 03 | 在发起连接的一方安装微软的 Windows App(Mac・iPhone・Android)。Windows 用自带的“远程桌面连接” |
| 04 | 连接目标(电脑名)填家里电脑的 100.x.y.z 地址或设备名,用 Windows 的用户名和密码连接 |
完全不需要在路由器上做端口映射。远程桌面的 3389 端口一次也没有对互联网开放。
④ 在自己的设备之间传文件(Taildrop)
Taildrop 目前仍是 Alpha 功能,首先要在管理后台的 Settings → General 里打开“Send Files”。Mac 另外还要在系统设置 → 通用 → 登录项与扩展 → 共享中打开 Tailscale。
- 发送 ── Mac:访达右键 →“共享”→ Tailscale / Windows:右键 →“Send with Tailscale”/ iPhone・Android:分享按钮 → Tailscale
- 接收 ── Mac 和 Windows 存到“下载”文件夹;iPhone・Android 从通知打开
- 限制 ── 只能在自己的设备之间发送(即使在同一个 tailnet,也不能发给别人的设备)
⑤ 让外出时的通信经由家里(出口节点)
| 步骤 | 操作 |
|---|---|
| 01 | 在家里电脑上声明为出口节点。Windows:图标 →Exit node → Run exit node/Mac:Exit Node → Run Exit Node |
| 02 | 在管理后台 Machines 中,该设备的“…”→Edit route settings → 打开 Use as exit node(出于安全,需要管理员批准) |
| 03 | 在外面的设备上选择出口节点。iPhone・Android 在应用顶部的 Exit Node 栏,Mac・Windows 在菜单的 Exit nodes 中选家里的电脑 |
| 04 | 不用时,把出口节点选回 None |
使用出口节点时,家里宽带的速度就是上限。如果还想使用手边的打印机等本地设备,请打开“Allow local network access”。
遇到问题・安全使用
| 症状 | 检查什么 |
|---|---|
| 列表里没有对方 | 是否用同一个账号登录。账号不同就是不同的 tailnet |
| 在列表里却连不上 | 对方是否在线(后台的 LAST SEEN)。对方电脑是否休眠,对方的防火墙或应用的监听设置 |
| 很慢 | 用 tailscale ping 看到“via DERP”就是在中继。公司网络等 UDP 难以通过的环境容易出现 |
| 突然连不上了 | 密钥过期(Expired)。在该设备上重新登录,一直连着的设备就取消期限 |
| 手机上断开 | 是否开着别的 VPN 应用 |
| 用名字打不开 | 先试地址(100.x.y.z)。能打开就是 MagicDNS 设置问题,打不开就是连接本身的问题 |
Tailscale 的安全性,等于你登录所用账号的安全性。Google 等账号务必开启两步验证。另外,个人 tailnet 的初始设置是“自己的设备之间全部互通”。邀请家人朋友时,请用访问控制(ACL・grants)限定对方能碰到的设备。
- 不用的设备要删除 ── 卖掉或丢失的设备,在后台“…”→Remove,该设备的密钥会立即失效
- Tailscale 公司停服了怎么办? ── 协调服务器停机时,已连上的设备之间仍能继续通信,但无法建立新连接或修改设置
- 想全部自己掌控的人 ── 有自己运行协调服务器的开源兼容实现(Headscale)。不过运维就得自己负责了
结 — 一页总结
- 家里的设备在私有 IP 的内侧,多亏 NAT,外面进不来。端口映射有风险,有的线路还做不到。
- Tailscale 是把 WireGuard 直连与协调连接方式的服务器分开的 VPN。在 NAT 上打洞直连,不行就由 DERP 加密中继。
- 个人免费(6 个用户・设备不限)。用 Google 等账号,所有设备用同一个账号登录。
- Windows 用安装程序,Mac 用独立版并允许系统扩展,手机从商店安装。别忘了允许添加 VPN 配置。
- 一直连着的电脑,打开 Run unattended 并取消密钥期限。之后用设备名连接即可,远程桌面也无需端口映射。
参考
- Tailscale Docs — Tailscale quickstart(英文)
- Tailscale Docs — Control and data planes(英文)
- Tailscale Docs — Connection types(英文)
- Tailscale Docs — DERP servers(英文)
- Tailscale Blog — How NAT traversal works(英文)
- Tailscale Docs — What are these 100.x.y.z addresses?(英文)
- Tailscale Docs — Install Tailscale on Windows(英文)
- Tailscale Docs — Install Tailscale on macOS(英文)
- Tailscale Docs — Authorizing the Tailscale system extension on macOS(英文)
- Tailscale Docs — Install Tailscale on iOS(英文)
- Tailscale Docs — Install Tailscale on Android(英文)
- Tailscale Docs — MagicDNS(英文)
- Tailscale Docs — Access remote desktops using Windows RDP(英文)
- Tailscale Docs — Taildrop(英文)
- Tailscale Docs — Exit nodes(英文)
- Tailscale Docs — Key expiry(英文)
- Tailscale Blog — Escaping the notch: Tailscale's new macOS home(2026 年 3 月,英文)
- Tailscale Blog — Using Tailscale for Android just got a whole lot better(英文)
- Tailscale — Pricing(英文)
截图中注明“截图”的,是笔者对无需登录即可访问的官方网站拍摄的画面;其余为 Tailscale 官方文档与博客中刊载的图片,注明出处后引用(仅缩小并加留白)。应用和管理后台的外观会随版本变化。价格、系统要求与版本为 2026 年 10 月 1 日的信息。
开发指南 No.2 — Tailscale 入门手册 / 2026.10