登录
首页 >  文章 >  软件教程

Syncthing连接不上远程设备怎么办_Syncthing连接问题排查【排查】

时间:2026-05-05 18:52:08 490浏览 收藏

哈喽!今天心血来潮给大家带来了《Syncthing连接不上远程设备怎么办_Syncthing连接问题排查【排查】》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!

设备长期“Disconnected”或日志提示“no connection to device”,需依次排查:一、核对设备ID与双向配对状态;二、验证局域网IP及22000端口连通性;三、关闭防火墙/AP隔离并配置端口转发;四、确认Syncthing进程运行正常且配置有效;五、检查共享文件夹中.stfolder存在性及权限。

Syncthing连接不上远程设备怎么办_Syncthing连接问题排查【排查】

如果您在 Syncthing 中添加了远程设备并保存配置,但设备状态长期显示“Disconnected”或日志持续提示“no connection to device”,则可能是由于网络可达性、身份验证或服务状态异常所致。以下是排查此问题的步骤:

一、验证设备ID与配对状态

设备ID输入错误或未完成双向确认会导致连接无法建立。Syncthing 要求两台设备均手动接受对方的配对请求,仅单边添加无效。

1、在源设备 Web 界面(http://127.0.0.1:8384)点击左侧「设备」→「添加远程设备」,粘贴目标设备完整 ID(含前缀如 `ABCD-...`)。

2、在目标设备 Web 界面进入「操作」→「显示设备 ID」,核对 ID 是否与源设备所填完全一致,包括大小写和连字符位置。

3、在目标设备界面右上角检查是否有未处理的配对弹窗,点击「接受」;若无弹窗,刷新页面或重启 Syncthing 服务以触发重试。

4、确认双方设备列表中该设备的「地址」字段不为空且包含有效 IP 或全局域名(如 `dynamic-ip.syncthing.net`),空地址表示发现失败,需进入第二步排查

二、检查本地网络发现与端口连通性

Syncthing 默认通过局域网广播(UDP 21027)自动发现设备,若网络隔离或防火墙拦截,则需手动指定地址并验证 TCP 同步端口(22000)是否可达。

1、在源设备「设备」设置页,点击目标设备右侧「编辑」图标,展开「地址」栏,删除默认的 `dynamic` 条目。

2、手动添加目标设备的局域网 IP 和端口,格式为 `tcp://192.168.1.100:22000`(请替换为实际 IP)。

3、在源设备终端执行连通性测试:nc -zv 192.168.1.100 22000,若返回 `succeeded` 表示端口开放;若超时或拒绝,则进入防火墙或路由器检查。

4、在目标设备终端运行 lsof -i :22000(Linux/macOS)或 netstat -ano | findstr :22000(Windows),确认 Syncthing 进程正在监听该端口。

三、排查防火墙与网络策略限制

操作系统防火墙或路由器 AP 隔离功能会阻断 Syncthing 的 UDP 发现包和 TCP 同步流量,导致设备不可见或连接中断。

1、在目标设备上临时禁用系统防火墙:Linux 执行 sudo ufw disable,Windows 在「高级安全防火墙」中关闭入站规则。

2、检查 Wi-Fi 设置:进入路由器管理界面,确认「AP 隔离」或「客户端隔离」功能已关闭,该设置启用时同一局域网内设备互不可达

3、在 Windows 目标设备上,打开「Windows Defender 防火墙」→「允许应用通过防火墙」,勾选 syncthing.exe 的专用网络和公用网络权限

4、若设备处于不同子网或需跨互联网连接,登录路由器启用端口转发:外部端口 22000 → 内部 IP + 22000,协议选择 TCP/UDP。

四、验证 Syncthing 守护进程运行状态

连接失败可能源于本地 Syncthing 服务未启动、崩溃或被其他实例抢占端口,需确认进程活跃且配置未损坏。

1、在目标设备终端执行 ps aux | grep syncthing(Linux/macOS)或 tasklist | findstr syncthing(Windows),确认存在正在运行的主进程。

2、若进程不存在,手动启动:syncthing -no-browser -logflags=0,观察终端输出是否报错(如 `address already in use` 表示端口冲突)。

3、若日志提示 `failed to load config` 或 `invalid json`,备份后删除配置文件 ~/.config/syncthing/config.xml,重启服务生成新配置。

4、在源设备 Web 界面「操作」→「重启」,强制刷新设备连接状态,避免缓存导致的假离线。

五、检查 .stfolder 标记与文件夹同步状态

即使设备连接成功,若共享文件夹缺失关键标记或处于错误状态,Syncthing 会拒绝建立数据通道,表现为设备“已连接”但无同步活动。

1、在目标设备共享文件夹根目录下,确认存在隐藏文件夹 .stfolder;若缺失,手动创建空文件夹并赋予读写权限。

2、在源设备 Web 界面「文件夹」页,点击对应文件夹右侧「编辑」,检查「状态」列是否显示“已暂停”或“忽略”;若为灰色,点击「恢复」。

3、在目标设备终端进入该文件夹路径,执行 ls -la | grep stfolder,验证 .stfolder 所属用户与 Syncthing 运行用户一致(如非 root 运行,不应属 root)。

4、若文件夹显示“扫描中”超过 10 分钟,右键该文件夹 →「立即扫描」,或检查磁盘 I/O 是否饱和(如 NAS 存储响应延迟)。

今天关于《Syncthing连接不上远程设备怎么办_Syncthing连接问题排查【排查】》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>