Tailscale 是基于 WireGuard 的组网工具,你可以把 macOS、Windows、iPhone、Android、Linux 等设备加入同一个虚拟内网(Tailnet)。加入后,每台设备会得到一个内网 IP,你可以像在同一个 Wi-Fi 里一样互相访问(例如远程桌面、访问 NAS、访问自建服务)。
macOS:
1) 官网下载安装包,或用 Homebrew 安装(更适合开发者/常更新的人)。
Homebrew 命令示例:brew install --cask tailscale
Windows:
可从官网下载安装,或使用 winget:
winget install Tailscale.Tailscale
iOS / Android:
在应用商店搜索 Tailscale 安装即可,首次打开会要求登录。
安装完成后,打开 Tailscale 并登录(常见是 Google/Microsoft/GitHub/企业 SSO)。建议第一时间做三件事:
1) 在管理后台把设备“重命名”,让你一眼分辨用途(例如 MacBook-Work、Win-PC-Home、iPhone-Personal)。
2) 给关键设备打上用途标签(Tag)或放进 ACL 规则里,避免“所有设备互通”带来的风险。
3) 需要共享给家人/同事时,用共享/邀请功能而不是直接把账号密码给出去。
后台入口(参考):https://login.tailscale.com/admin/machines
MagicDNS:开启后可以用主机名访问(例如 macbook-work),比记 IP 省心。适合设备多、经常新增设备的场景。
子网路由(Subnet Router):当你希望“人在外面也能访问家里局域网的其它设备”(比如 NAS、打印机、家庭服务器),可以让一台长期在线的设备充当路由,把整个网段转发到 Tailnet。建议只开放你确实需要的网段,并配合 ACL 限制可访问范围。
退出节点(Exit Node):当你希望某台设备把所有流量都走另一台节点(例如出差时走家里网络),可以启用 Exit Node。注意这会影响带宽与电量,也可能影响部分本地网络访问体验。
官方文档(参考):https://tailscale.com/kb/
遇到“设备在线但互访失败”,通常按以下顺序排查:
1) 两端是否都显示已连接(Connected),并且在同一个 Tailnet 账号/组织下。
2) 本机防火墙是否拦截了目标端口(例如远程桌面/SSH/自建服务端口)。Tailscale 负责把网络打通,但服务端口仍可能被系统防火墙规则拦截。
3) ACL/Tag 是否限制了访问:如果你配置了更严格的访问控制,确认“发起端 -> 目标端 -> 端口”是否在允许列表里。
4) 如果你用的是子网路由/退出节点,先临时关闭这些高级功能,确认基础互联正常后再逐个打开。
5) 查看应用的状态页/诊断信息,必要时重新登录或重启服务。
1) 不要为了“方便”把所有设备互相完全开放;优先按用途分组、按需放行。
2) 只给可信设备开启子网路由/退出节点等能力,并定期清理不再使用的旧设备。
3) 需要对外分享服务时,优先考虑更明确的权限与可审计的方式(例如只对特定成员/设备开放)。