Tailscale 解决什么问题
所有安装了 Tailscale 的设备——手机、电脑、NAS、树莓派——自动组成一个虚拟局域网,互相通过 100.x.x.x 内网 IP 直接访问。不需要公网 IP,不需要端口转发,不需要碰路由器配置。对独立开发者来说,这意味着你可以在咖啡馆直接连家里的开发机、访问 NAS 上的项目备份、或者远程调试跑在树莓派上的服务。
底层用的是 WireGuard,目前最快最安全的 VPN 协议。Tailscale 把复杂的密钥交换和 NAT 穿透全部封装好了,用户层面就是装个客户端、登录、完事。
安装与首次连接
访问 Tailscale 官网注册账号,支持 Google、GitHub、Microsoft 账号直接登录。
各平台安装:
- Windows:下载安装包,双击装完,托盘图标点 Log in 授权
- macOS:Mac App Store 搜 Tailscale 直接装
- Linux(以 Ubuntu 为例):
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
运行后会给一个授权链接,浏览器打开确认即可。
- iOS / Android:应用商店搜 Tailscale 下载登录
- NAS / 路由器:群晖、威联通、OpenWrt、梅林固件都有对应安装方式
第一台设备装好登录后自动分配 100.x.x.x 地址,第二台装好登录,两台直接互通。Windows 下文件管理器输入 \\100.x.x.x,Mac 下输入 smb://100.x.x.x,就能访问共享文件。
实际用法
远程桌面:Windows 按 Win+R 输入 mstsc,填 Tailscale IP 直连。所有流量端到端加密,不需要配端口转发。
访问家里 NAS:装了 Tailscale 的 NAS 在外网也能像局域网一样访问,速度通常比传统 VPN 方案快。
开发测试环境:公司电脑写代码,通过 Tailscale 直接访问家里机器上的测试环境。树莓派上跑的服务也随时可达。
手机接入:手机装好 Tailscale 后可以直接访问家里电脑文件,配合 RDP 或 VNC 客户端还能远程操作桌面。
DERP 中继:国内用户绕不开的问题
Tailscale 会尽量让设备直连(P2P),但遇到对称 NAT 或严格防火墙时,就得走 DERP(Designated Encrypted Relay for Packets)中继服务器转发。官方的 DERP 节点全在海外,国内访问要么慢要么连不上。
解决方案:用国内公开的 DERP 节点。GitHub 上有个工具 fofa-derp-scanner(作者 wlzh),可以自动从 FOFA 搜索引擎抓取可用的国内 DERP 节点并测试质量。
用 fofa-derp-scanner 找最优节点
准备工作:一个 FOFA 账号(免费注册)、Python 3、Docker。
第一步:在 FOFA 上搜节点
登录 FOFA,搜索框输入:
body="Tailscale" && body="DERP server" && country="CN"
这会列出国内所有公开的 DERP 服务器。点"导出",选 JSON 格式,保存为 fofa_assets.json。
第二步:克隆工具并转换格式
git clone https://github.com/wlzh/fofa-derp-scanner.git
cd fofa-derp-scanner
python3 scripts/convert_assets.py --input /path/to/fofa_assets.json --output config/derp.json --start 900
脚本会把 FOFA 数据转成测试工具需要的格式,每个节点分配一个从 900 开始的 ID。
第三步:测试节点可用性
docker-compose up -d
启动测试容器,自动跑连接测试。等几分钟,浏览器打开 http://localhost:8030/,进入 success 页面查看通过测试的节点。
用浏览器插件 SingleFile 把 success 页面保存为 success_report.html。
第四步:提取成功节点
python3 scripts/extract_success.py \
--html /path/to/success_report.html \
--json config/derp.json \
--output config/derp-success-prober.json \
--start 900 \
--end 999
第五步:写入 Tailscale 配置
打开 Tailscale ACL 配置页面,在配置文件中添加 derpMap 字段:
{
"derpMap": {
"OmitDefaultRegions": false,
"Regions": {
// 把 derp-success-prober.json 里的 Regions 内容粘贴到这里
}
}
}
这里有个坑:OmitDefaultRegions 建议先设 false,保留官方节点做兜底。确认自定义节点稳定后再考虑设 true。保存后所有设备几秒内自动刷新配置。
验证连接状态
tailscale status
会显示所有设备及连接方式——direct(直连)或 relay(中继)。
Windows 下查看当前连接的 DERP 节点 IP:
(Get-NetTCPConnection -OwningProcess (Get-Process tailscaled | Select-Object -Last 1).Id -State Established).RemoteAddress
发现某个节点不稳定,回 ACL 配置删掉对应条目,Tailscale 自动切换。公开节点会变化,建议定期重新跑一遍扫描更新列表。
几个进阶玩法
Exit Node(出口节点):让手机或笔记本的全部流量走家里电脑出去,等于随身带着家里的网络环境。
sudo tailscale up --advertise-exit-node
在管理后台启用后,其他设备选择 Use Exit Node 即可。
子网路由:让 Tailscale 网络中的设备访问家里局域网的其他设备(打印机、智能家居等)。
sudo tailscale up --advertise-routes=192.168.1.0/24
管理后台批准这条路由,所有 Tailscale 设备就能直接访问 192.168.1.x 网段。
MagicDNS:启用后不用记 IP,直接用设备名访问,比如 ping my-desktop。在管理后台 DNS 设置里一键开启。
常见问题
公开 DERP 节点安全吗? 相对安全。Tailscale 用端到端加密,中继服务器只能看到加密数据包,无法解密。但如果传输特别敏感的数据,建议自建私有 DERP。
公司网络能用吗? 大多数情况可以,Tailscale 设计时就考虑了严格网络环境。但请遵守公司网络政策。
手机耗电吗? 待机几乎无感,只有实际传输数据时才有明显功耗。
整套方案完全免费,一次配好长期使用。对独立开发者来说,这可能是成本最低的多设备互通方案——花十分钟配置,省掉后面无数折腾远程访问的时间。