你的文件不必只能在家中的 Wi-Fi 网络中访问。使用 Tailscale,你可以在 iPhone 或 Android 设备与家中的 NAS 或 PC 之间建立私密连接。然后通过 Owlfiles 浏览、打开、下载和上传文件,就像在本地网络中操作一样。
本文采用最简单的设置方式:在两台设备上安装 Tailscale,在 NAS 或 PC 上启用文件共享,然后在 Owlfiles 中输入该设备的 Tailscale IP 地址。你不需要在路由器上开放 SMB 端口,也不需要设置端口转发。
工作原理
Tailscale 提供网络连接,SMB 提供共享文件夹,Owlfiles 提供浏览文件的界面。
| 设备 | 安装或配置 | 作用 |
|---|---|---|
| iPhone 或 Android 设备 | Tailscale 和 Owlfiles | 在外网连接并管理文件 |
| 家中的 NAS 或 PC | Tailscale 和 SMB 文件共享 | 提供共享文件夹 |
Tailscale 本身不会创建共享文件夹。目标设备仍然需要运行文件共享服务,具体说明请参考 Tailscale 的设备连接指南。
开始前的准备
请准备好以下内容:
- 在 iPhone 或 Android 设备上安装 Owlfiles。
- 一个 Tailscale 账号。在手机和家中的 NAS 或 PC 上登录同一个 tailnet。
- NAS 或 PC 上的 SMB 共享文件夹。
- 访问共享文件夹所需的用户名和密码。
- NAS 或 PC 的 Tailscale IP 地址,通常是
100.x.y.z这样的格式。
最新的安装说明请参考 安装 Tailscale、在 iOS 上安装 Tailscale或在 Android 上安装 Tailscale。
1. 在手机和家中的设备上安装 Tailscale
在 iPhone 或 Android 设备上安装 Tailscale,并允许它添加 VPN 配置。使用 tailnet 对应的账号登录,然后确认 Tailscale 显示为已连接。
接着,在存放文件的设备上安装 Tailscale:
- Windows、macOS 或 Linux PC: 安装 Tailscale 客户端并登录。
- NAS: 安装适用于 NAS 平台的软件包或应用,然后登录。Tailscale 的 NAS 指南列出了 Synology、QNAP、TrueNAS SCALE 和 Unraid 等官方集成。
两台设备都应该出现在 Tailscale 管理控制台的 Machines 页面中。需要访问文件时,请保持 NAS 或 PC 开机,并让 Tailscale 保持运行。
2. 在 NAS 或 PC 上共享文件夹
创建或选择要从外网访问的文件夹,然后为它启用 SMB 文件共享。
- PC: 启用文件共享,并将文件夹共享给 Owlfiles 要使用的账号。
- NAS: 启用 SMB 服务,创建共享文件夹,并为用户授予读取或写入权限。
建议使用权限范围有限的专用账号。如果条件允许,可以先让手机连接家中的网络,测试共享文件夹是否正常,再通过 Tailscale 测试。
3. 查找设备的 Tailscale IP
在 NAS 或 PC 上打开 Tailscale,复制它的 IPv4 地址;也可以打开 Tailscale 管理控制台中的 Machines 页面查看。请使用 Tailscale 地址,它通常以 100. 开头。
例如:
100.101.102.103
在家以外的网络中,不要使用设备的本地地址,例如 192.168.1.20。这个地址只能在家中的局域网内使用,也不要使用家里的公网 IP;本方案通过 Tailscale 连接。
4. 将共享文件夹添加到 Owlfiles
iPhone 和 Android 上的操作基本相同。
- 打开 Owlfiles,添加连接。
- 选择适合设备的连接类型,例如 Windows、Mac 或 NAS。
- 在 Host Name/IP 字段中输入设备的 Tailscale IP,例如
100.101.102.103。 - 输入 SMB 共享的用户名和密码。这是 NAS 或 PC 的文件共享账号,不是 Tailscale 登录账号。
- 保存连接。
- 打开 Tailscale 应用并连接网络。
手机上的 Tailscale 连接成功后,Owlfiles 就可以通过 Tailscale IP 访问共享文件夹。根据账号权限,你可以打开文件、将文件复制到手机、上传新文件以及管理共享文件夹。
5. 从外网测试连接
可以按以下步骤确认连接确实能通过 Tailscale 工作:
- 保持手机上的 Tailscale 处于连接状态。
- 关闭 Wi-Fi,改用移动数据,或者连接到其他 Wi-Fi 网络。
- 在 Owlfiles 中打开保存的连接。
- 浏览共享文件夹,并打开一个较小的文件。
如果使用移动数据时仍然可以打开文件夹,说明 Tailscale 连接正常。不过,这个测试本身不能说明当前路径是直连还是经过中继。Tailscale 会为每台设备分配一个 Tailscale IP,因此不同网络中的设备也可以互相连接。更多信息请参考连接设备。
关于连接类型和网速
使用 Tailscale IP 并不意味着每个数据包都会从手机直接传到家中。Tailscale 会优先尝试建立点对点直连。如果两个网络的条件不允许直连,它可能会使用中继,通常是 Tailscale DERP 服务器,从而保证连接仍然可以使用。
中继连接通常比直连具有更高的延迟和更低的吞吐量。在浏览大文件夹、在线播放视频或复制数 GB 的文件时,这种差异会更加明显。Tailscale 的连接类型文档和性能指南介绍了其中的区别,并建议在可能的情况下使用直连。
即使成功直连,速度也会受到整个链路中最慢部分的限制:
- 从家中下载到手机时,通常受家中网络的上传速度限制。
- 上传到家中时,通常受家中网络的下载速度或手机的上传速度限制。
- Wi-Fi 质量、移动网络信号、延迟、丢包、NAS 或 PC 的性能,以及 SMB 协议开销,都可能进一步降低速度。
- 运营商可能存在流量策略、拥塞管理或上下行速率不对称的套餐,因此实际速度可能低于宣传速率。
从 Wi-Fi 切换到移动数据时,连接类型也可能发生变化。如果速度很重要,可以在支持 Tailscale 命令行的设备上运行 tailscale ping 或 tailscale status 检查路径。结果中的 direct 表示直连,relay 表示经过中继。可以参考 Tailscale 的网络性能故障排查指南了解如何解读这些结果。
如果无法连接
请按以下顺序检查:
- 两台设备上的 Tailscale 都已连接。 手机和 NAS 或 PC 必须登录同一个 tailnet。
- NAS 或 PC 处于在线状态。 处于睡眠状态的 PC 无法提供共享文件夹。
- IP 地址正确。 不要猜测地址,请从 Tailscale 中复制当前的
100.x.y.z地址。 - SMB 共享已启用。 Tailscale 提供网络路径,但不能替代 SMB。
- 防火墙允许文件共享。 在 PC 上,请在合适的专用或可信网络配置文件中允许 SMB / 文件共享。
- 账号和共享名称正确。 使用 NAS 或 PC 上为共享文件夹配置的账号。
- tailnet 策略允许连接。 如果你修改过 Tailscale 的访问控制,请确认手机可以访问家中的设备。
一些安全建议
使用 Tailscale,你可以访问家中的私有设备,而不必将 SMB 直接暴露到公网。不过,仍然应及时更新 NAS 或 PC、Tailscale 和 Owlfiles。为文件共享账号设置强密码,只授予必要的权限,也不要将 tailnet 分享给不应访问该设备的人。
连接配置完成后,使用过程很简单:在手机上连接 Tailscale,打开 Owlfiles,然后使用保存好的连接。只要有互联网连接,你就可以访问家中的文件,同时 NAS 或 PC 仍然位于家中路由器的内侧。
