用 Tailscale 搭建私有网络:从入门到实际场景的全指南

8次阅读
没有评论

Tailscale 是什么,为什么值得用

如果你有多台设备分散在不同网络——家里一台 NAS、办公室一台开发机、云上一台服务器——你大概率遇到过这些问题:怎么从外面访问家里内网的服务?怎么让两台不在同一网络的机器直接通信?

传统的方案是 VPN 或者内网穿透,但配置复杂,证书管理麻烦,不同设备之间还经常不兼容。Tailscale 用一种更优雅的方式解决了这个问题:基于 WireGuard 的零配置组网。

简单说,装上 Tailscale 之后,你的所有设备就像在同一个局域网里一样,互相可以直接用内网 IP 访问。不需要公网 IP,不需要端口转发,不需要折腾证书。

快速上手:5 分钟完成组网

Tailscale 的安装非常简单,几乎每个平台都有对应的客户端。

第一步,注册账号。去 tailscale.com 用 Google、Microsoft 或 GitHub 账号登录就行,不需要单独注册。

第二步,在各设备上安装客户端:

  • Windows:官网下载安装包,双击安装,登录账号
  • macOS:App Store 搜索 Tailscale
  • Linux:一行命令 curl -fsSL https://tailscale.com/install.sh | sh
  • iOS / Android:应用商店搜索安装

第三步,每台设备登录同一个账号,Tailscale 会自动给每台设备分配一个 100.x.x.x 的内网 IP。之后设备之间就可以直接用这个 IP 互访了。

没错,就这样。没有配置文件要写,没有端口要开,没有证书要管。

实际场景一:远程访问家里的 NAS

这是最常见的用途。我家有一台群晖 NAS,跑了 Jellyfin 媒体服务器和 Syncthing 文件同步。之前想在外面访问 NAS 上的文件,要么用 QuickConnect(速度慢),要么自己搭反向代理(配置麻烦),要么用 frp 做内网穿透(要一台公网服务器做中转)。

用 Tailscale 之后,NAS 上装好客户端,手机和电脑也装好,直接用 Tailscale 分配的 IP 访问 NAS 的 Web 界面。速度取决于两端网络的上传带宽,但至少比你想象中快——因为流量是点对点传输的,不经过 Tailscale 的服务器中转。

具体操作:

  1. 群晖 NAS 可以通过 Docker 安装 Tailscale,社区有现成的镜像
  2. 登录 Tailscale 管理面板,确认 NAS 设备出现在设备列表中
  3. 记下 NAS 的 Tailscale IP(假设是 100.64.0.2)
  4. 在其他设备上浏览器访问 http://100.64.0.2:5000 就是群晖的 DSM 界面

实际场景二:开发机的远程访问

我的开发环境是一台放在办公室的 Ubuntu 工作站,平时在家用笔记本通过 VS Code Remote SSH 连上去写代码。以前要通过公司 VPN 才能连,VPN 经常掉线,连接速度也不稳定。

换成 Tailscale 之后,VS Code 的 SSH 配置改成 Tailscale IP,直接连,不走 VPN。因为 WireGuard 的连接建立非常快,冷启动到连通通常只要几百毫秒。

更妙的是,Tailscale 的 MagicDNS 功能让你可以用设备名代替 IP 地址。比如我的工作站叫 devbox,SSH 配置写 HostName devbox 就行,不用记 IP。

实际场景三:Tailnet Funnel 暴露本地服务

2025 年 Tailscale 正式发布了 Funnel 功能的稳定版。简单说,它可以把你本地运行的服务暴露到公网——但只暴露你指定的端口,而且自带 HTTPS。

比如你在本地跑了一个 Web 开发服务,端口 3000。运行:

tailscale funnel 3000

Tailscale 会给你生成一个公网地址,类似 yourname.tailnet-name.ts.net,外部用户可以通过这个地址访问你的本地服务。这在给客户做演示、做 Webhook 回调测试的时候特别有用。

需要注意的是,Funnel 暴露的是公网访问,安全性要自己把控。建议只在需要的时候开启,用完就关。

ACL 权限控制:不只是连通,还要安全

Tailscale 的 ACL(访问控制列表)是一个容易被忽略但很重要的功能。默认情况下,同一账号下的所有设备可以互相访问。但在实际使用中,你可能不想让所有设备都能访问所有服务。

比如我的场景:手机只需要访问 NAS 的 Jellyfin,不需要访问开发机的 SSH。这可以在 Tailscale 管理面板的 ACL 编辑器里配置:

ACL 用 JSON 格式定义规则,可以指定哪些源设备可以访问哪些目标设备的哪些端口。配置好后即时生效,不需要重启任何客户端。

免费额度够用吗

Tailscale 的免费计划支持最多 100 台设备和 3 个用户,对个人用户来说完全够用。如果你只有自己的几台设备,不需要付费。

付费计划的主要优势是更多的用户数、更细粒度的审计日志和企业级支持。个人使用场景下,免费版没有功能限制。

2026 年 Tailscale 还推出了一种按设备计费的模式,对小型团队更友好——每月每设备 5 美元,不按人头收费。如果你的团队只有几个人但设备多,这个方案比传统按人头收费更划算。

替代方案简单对比

组网工具不止 Tailscale 一家,简单对比一下:

  • ZeroTier:功能类似,底层是自研协议而非 WireGuard,配置稍微复杂一点,免费额度也是 100 台设备
  • WireGuard 手动配置:最灵活但最麻烦,需要自己管理密钥和配置文件,适合对安全有极致要求的人
  • frp / nps:国内常用的内网穿透工具,需要一台公网服务器做中转,适合只需要暴露个别端口的场景
  • Cloudflare Tunnel:免费,但只能暴露 HTTP 服务,不能组网

Tailscale 的优势在于 ” 零配置 ” 和 ” 全平台 ”。如果你不想花时间折腾网络配置,只想让设备互联,它目前是最省心的选择。

正文完
 0
评论(没有评论)