用 Tailscale + Syncthing 实现手机、电脑与 NAS 的跨网络文件同步

用 Tailscale + Syncthing 实现手机、电脑与 NAS 的跨网络文件同步

环境:CasaOS NAS · Android 手机 · Windows 电脑


前言

家里的 NAS 装满了照片和文档,但每次出门想同步文件,都得依赖内网或者繁琐的端口映射。其实有一个更优雅的方案:用 Tailscale 打通所有设备之间的虚拟私有网络,再让 Syncthing 在这条隧道上自动同步文件。

这套方案的核心思路是:Tailscale 负责「让所有设备永远互相可达」,Syncthing 负责「文件的双向同步」。两者分工明确,组合起来几乎零配置就能让手机在任意网络下与 NAS 保持同步。


架构概览

复制代码
手机(任意网络)──┐
                  ├── Tailscale 加密隧道 ──► NAS(CasaOS)
Windows 电脑 ────┘                           Syncthing + 磁盘

NAS 作为中心节点,所有设备通过 Tailscale 分配的虚拟 IP(100.x.x.x)互相通信。Syncthing 的流量完全走 Tailscale 的 WireGuard 隧道,无需开放任何公网端口,无需路由器做 NAT 穿透。


第一部分:NAS 端配置(CasaOS)

1. 安装 Syncthing

打开 CasaOS 界面,进入 App Store ,搜索 Syncthing 并安装。安装完成后在「My Apps」中可以看到它。

如果 App Store 里找不到,也可以手动添加 Docker 容器,镜像使用官方的 syncthing/syncthing

注意 :如果通过 Docker 安装,需要在容器设置里把 NAS 磁盘的实际路径挂载进容器,否则同步的文件只存在于容器内部,而不是你的 NAS 磁盘上。例如把 /volume1/sync 挂载到容器的 /var/syncthing

2. 首次访问 Web UI

点击 CasaOS 里的 Syncthing 图标,浏览器会打开 Syncthing 的管理界面,地址通常是:

复制代码
http://NAS的局域网IP:8384

第一次进入会提示设置用户名和密码,务必设置,后续远程访问时需要验证身份。

3. 创建同步文件夹

点击左侧「添加文件夹」,填写以下信息:

字段 示例值
文件夹标签 手机照片
文件夹路径 /DATA/手机照片

路径需要填写 NAS 磁盘上已存在的目录,建议提前在 CasaOS 文件管理器里创建好。

4. 记录 NAS 的 Device ID

点击右上角「操作 」→「显示 ID」,会显示一串类似下面格式的设备标识符:

复制代码
XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX

截图保存,手机和电脑配对时需要用到。

5. 查看 NAS 的 Tailscale IP

在 CasaOS 中打开 Tailscale 应用,查看分配给这台 NAS 的虚拟 IP,格式为 100.x.x.x。也可以登录 tailscale.com 的 Machines 页面查看所有设备的虚拟 IP。


第二部分:Android 手机配置

1. 安装并登录 Tailscale

在 Google Play 安装「Tailscale 」,用与 NAS 相同的 Tailscale 账号 登录。登录成功后,手机会出现在同一个虚拟网络中,理论上可以直接 ping 通 NAS 的 100.x.x.x 地址。

2. 安装 Syncthing-Fork

推荐安装「Syncthing-Fork 」而非官方版本,它对 Android 后台保活的支持更好,且有更丰富的设置选项。在 Google Play 搜索 Syncthing-Fork 即可找到。

3. 添加 NAS 设备

打开 Syncthing-Fork,进入「设备」标签,点击右下角「+」,填写:

  • Device ID:粘贴第一部分记录的 NAS Device ID

  • 地址:手动填写,改为:

    tcp://100.x.x.x:22000

100.x.x.x 替换为 NAS 实际的 Tailscale IP。

4. 设置同步文件夹

进入「文件夹」标签,点击「+」新建文件夹,选择手机上要同步的本地路径(如相机相册目录),在共享设置里勾选与 NAS 共享。NAS 端会收到配对请求,接受后同步即开始。

建议:在 Syncthing-Fork 的设置中,开启「在充电时同步」,并将应用加入系统电池白名单,防止后台被 Android 杀掉进程。


第三部分:Windows 电脑配置

1. 安装并登录 Tailscale

前往 tailscale.com/download 下载 Windows 版客户端,安装后使用同一账号登录。登录成功后任务栏会出现 Tailscale 图标,右键菜单中可以看到当前设备的虚拟 IP 以及网络中的其他设备。

2. 安装 SyncTrayzor

Windows 上推荐使用「SyncTrayzor」,它是 Syncthing 的 Windows 封装版本,提供系统托盘图标、开机自启、内置界面等功能,比直接使用命令行版方便得多。

前往 GitHub 下载:

复制代码
https://github.com/canton7/SyncTrayzor/releases

下载 SyncTrayzor-x64.exe,安装后会自动启动并打开 Syncthing 管理界面。

3. 添加 NAS 设备

在 Syncthing 界面点击「添加远程设备」,填写:

  • Device ID:NAS 的设备标识符

  • 地址

    tcp://100.x.x.x:22000

4. 添加同步文件夹

点击「添加文件夹 」,选择电脑上需要同步的本地目录(如 D:\同步到NAS),在「共享」标签页里勾选 NAS 设备,保存后等待 NAS 端确认。

SyncTrayzor 默认设置为开机自启,Syncthing 会常驻后台,无需手动管理。


第四部分:设备配对确认

配置完客户端设备后,配对流程如下:

  1. NAS 收到连接请求 :在 NAS 的 Syncthing Web UI(:8384)右上角,会弹出提示「有新设备请求连接」,点击接受,并在对话框中选择要与该设备共享的文件夹。

  2. 客户端确认文件夹:手机或电脑的 Syncthing 里也会收到「NAS 想共享文件夹 XXX」的通知,接受后选择本地的存放路径。

  3. 验证同步是否正常:在手机或电脑的同步目录里放入一个测试文件,等待几秒后在 NAS 对应目录里查看是否出现。两边 Syncthing 界面均显示「同步完成」即表示配置成功。

首次同步时 Syncthing 会扫描全部文件,耗时视文件数量而定。之后的增量同步通常在秒级完成。


常见问题

Q:Syncthing 22000 端口需要在路由器上做端口映射吗?

不需要。Tailscale 的 WireGuard 隧道已经处理了 NAT 穿透,Syncthing 的流量在虚拟局域网内部传输,无需对外暴露任何端口。

Q:NAS 关机后文件还能同步吗?

不能。NAS 需要保持开机状态,Tailscale 和 Syncthing 服务均设置为开机自启(CasaOS 默认会管理容器的自动重启)。

Q:手机 Android 后台总是断开怎么办?

将 Tailscale 和 Syncthing-Fork 均加入「电池优化白名单」,部分品牌(如小米、华为)还需要在「后台管理」里单独允许这两个应用常驻后台。


总结

工具 作用
Tailscale 为所有设备建立加密虚拟局域网,解决跨网络连通性
Syncthing 在虚拟局域网内进行端对端文件同步,无需中转服务器
CasaOS NAS 的管理系统,统一管理 Docker 容器和存储

这套方案完全去中心化,文件直接在设备间传输,不经过任何第三方服务器。加上 Tailscale 的 WireGuard 加密,数据安全性也有充分保障。配置完成后日常使用几乎是无感的------文件放进同步目录,剩下的事情交给后台自动完成。

相关推荐
VidDown1 小时前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
IsJunJianXin1 小时前
pdd小程序 cdp 保存响应体
linux·服务器·小程序·pdd小程序·拼多多响应体解密·小程序cdp·拼多多rpc取响应体
TechWayfarer2 小时前
苏超赛事网站安全防护:WAF、DDoS与仿冒页面如何联动治理
网络·python·安全·flask·ddos
爱就是恒久忍耐2 小时前
现代CMake的build方式
linux·运维·服务器
段一凡-华北理工大学2 小时前
LangChain框架在高炉炼铁智能化领域的应用~系列文章09:工具调用Tool — 让AI学会操作高炉仪表盘
网络·人工智能·架构·langchain·高炉炼铁·高炉智能化·高炉智能体
fofantasy2 小时前
NSK LH25FL 升级至 NH25EM 技术规格指南
服务器·网络·数据库·经验分享·规格说明书
梁辰兴2 小时前
计算机网络基础:报文鉴别
网络·计算机网络·计算机·计算机网络基础·梁辰兴·报文鉴别
hbugs0013 小时前
EVE-NG V7常用网络协议流量洞察Filter
网络·网络协议
古城小栈3 小时前
Python 的主流Ai框架为什么优先适配 Linux 系统?
linux·人工智能·python