当前位置:
AIGC文章详情

Syncthing的"数据不经云"是真的,但只说了一半:发现服务器、中继服务器背后的三条连接路径

源自103位全网作者

08:13

推荐 Syncthing 的文章,几乎都会带一句"开源免费,数据不经过第三方服务器"。哔哩哔哩这话听着安心,但细想有个绕不开的问题:知乎上有个问题就叫"Syncthing号称没有中心服务器,那么是如何找到对方的?",不少人坦言自己用了一阵也没搞明白。知乎真没有服务器,两台设备是怎么对上暗号的?

先把结论说清楚:你文件的内容,确实谁都读不了,TLS 加密是 Syncthing 所有连接自带的硬保障。但"谁帮你牵的线"“哪台服务器知道你在线、知道你 IP”,这句宣传语没说全。今天把这另一半补上。

两台设备是怎么找到对方的

Syncthing 没有账号体系,你添加的不是好友,是"设备"。每台设备装好后会生成一个设备 ID——用连字符分段的一长串码,它既是身份证号又是公钥,两个角色一体。在管理界面"操作"菜单里点"显示 ID",就能看到自己这台机器的。

Syncthing的

配对是双向确认的:你这边添加了设备,还得对方点同意才算配上。知乎配对之后,找对方分两步:

  • 两台设备在同一个局域网里,本地广播发现直接生效,全程不出你家的路由器;

  • 不在同一个网络,就得去问官方的全局发现服务器(discovery.syncthing.net):这个设备 ID 在不在线?现在的 IP 是多少?

注意,发现服务器只知道两件事:“这台设备在线"和"它现在的 IP 是什么”。它碰不到你的文件。

拿到地址后,两台设备尝试直连。连上了,后面所有数据都是点对点跑。

Syncthing的

直连失败时,会发生什么

这是大多数人不知道的部分。如果因为 NAT 类型、防火墙或者运营商限制,直连尝试失败,Syncthing 不会报错,而是自动切到第三条路:中继。知乎中继服务器由社区志愿者义务搭建,作用很单纯——转发加密数据包。

所以 Syncthing 实际有三条连接路径:

  1. 局域网直连:最干净,全程不出本地网络,没有任何外部服务器参与;

  2. 公网直连:发现服务器知道你的在线状态和 IP,但文件内容在两台设备之间直接传输;

  3. 中继转发:中继服务器能看到双方 IP、流量大小和同步时间,但内容始终是 TLS 加密的,它读不了。

换句话说,"数据不经云"更准确的版本是:文件内容对任何第三方都不可读,但三条路径暴露的元数据不一样。在意隐私边界的,差别就在这里。

怎么查自己走的是哪条路

浏览器打开 127.0.0.1:8384(Syncthing 的管理界面),看远程设备的地址一栏:

  • 显示 192.168.x.x 或 10.x.x.x:局域网直连,最干净的状态;

  • 显示一个公网 IP:公网直连;

  • 以 relay:// 开头:正在走中继。

Syncthing的

中继不是事故,但意味着速度受志愿服务器带宽限制,元数据暴露也比直连多。如果你同步大文件时发现地址是 relay:// 开头,值得处理一下。

三档设置,按你的情况选一档

第一档,纯局域网用户(比如家里台式机和 NAS 互同步,设备不出门):在电脑端"操作-设置-连接"里把"全局发现、启用中继、NAT"关闭,只保留本地发现。知乎这样 Syncthing 完全不出局域网,元数据一点都不外流。

第二档,大多数人(偶尔跨设备、跨网络同步):默认设置就行。TLS 加密兜底内容安全,代价是官方发现服务器知道你的在线状态和 IP,接受这个交换就不用折腾。

第三档,特别在意的(想用中继但不想用志愿者的公共中继):自建中继和发现服务器。官方代码库里有两个现成项目,发现服务叫 discosrv,中继服务叫 relaysrv。这里有个容易踩的坑:自建服务启动时必须加 -pools=“” 参数,否则你的服务器会自动注册进公共池,被全世界的陌生人当免费中继用。知乎

Syncthing的

三个提醒,比设置本身更要紧

第一,别把 8384 管理界面暴露到公网。网上真有教程教人做端口映射远程管理,这等于把你的同步控制面板挂到全网面前。知乎至少给 GUI 设上用户名密码,设完之后界面自己都会弹一条警告让你确认,别嫌烦。

第二,设备 ID 就是钥匙。谁拿到你的设备 ID、又被你点击同意,谁就能同步你的文件夹。别把设备 ID 随手贴在公开帖子里。

第三,中继服务器不存你的文件。它只是实时转发加密数据包,志愿服务器下线了,你只会变慢或者连不上,不存在"文件被服务器留了一份"的风险。知乎

说清楚了,反而更值得用

把机制摊开看,Syncthing 的安全性不靠"不经云"这句口号,而是每一环都可解释、可配置:普通用户默认设置加个密码就够;隐私敏感就关全局发现或者自建中继;在意速度就查一眼设备地址,确认走的是直连。知道自己走的是哪条路,才算把这个工具真正用明白了。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章