路由器设置
端口转发
如果 NAT 路由器支持 UPnP,配置可用端口转发最简单的方式,是同时开启 Syncthing 和路由器上的 UPnP。之后 Syncthing 会尝试完成其余操作。成功时,控制台会出现:
Created UPnP port mapping for external port XXXXX on UPnP device YYYYY.
如果不能或不希望这样设置,应配置 22000/TCP 和 22000/UDP 的端口转发;如果修改过 Sync Protocol Listen Address(同步协议监听地址),则改为该设置指定的端口。外部转发端口与内部目标端口必须一致,例如两者都是 22000/TCP。
Syncthing 通信是双向的。因此,只要为一台设备配置端口转发,其他设备即使位于 NAT 网络或防火墙后,也能主动连接到它。
没有端口转发时,中继 也可能足以让设备连接并同步,但性能通常不如直接连接。
本地发现
本地发现需要路由器允许或转发广播、组播。在同一局域网子网内,通常默认允许这些流量;但不同子网之间,甚至桥接的 Wi-Fi 与有线局域网之间,都可能被阻断。
如果无法按上述方式配置路由器,或无法按下文配置防火墙,并且设备具有固定 IP,可以直接指定设备地址。将 Addresses(地址) 的默认值 dynamic 改为类似下面的值:
tcp://192.168.1.xxx:22000, dynamic
本机防火墙
如果计算机运行本机防火墙,需要允许以下端口的入站和出站流量:
| 端口 | 用途 |
|---|---|
22000/TCP |
基于 TCP 的同步协议流量 |
22000/UDP |
基于 QUIC 的同步协议流量 |
21027/UDP |
IPv4 发现广播和 IPv6 发现组播 |
如果在同步协议监听地址中配置了自定义端口,必须相应调整防火墙规则。
Uncomplicated Firewall(ufw)
如果在 Linux 上使用 ufw,并且安装了 Syncthing 软件包,可以运行以下命令,允许所需端口:
sudo ufw allow syncthing
如果还希望允许从外部访问 Syncthing 的 Web 管理界面,运行:
sudo ufw allow syncthing-gui
典型安装不需要开放外部管理界面访问。
随后确认前述端口已经允许:
sudo ufw status verbose
如果手动安装了 Syncthing,可以按照 官方仓库中的 ufw 预设说明 手动添加预设。
Firewalld
Firewalld 从 0.5.0 版开始支持 Syncthing,该版本发布于 2018 年 1 月。可以这样启用:
sudo firewall-cmd --zone=public --add-service=syncthing --permanent
sudo firewall-cmd --reload
同样也提供 syncthing-gui 服务。
远程 Web 管理界面
为了从其他计算机访问 Web 管理界面,需要将 GUI Listen Address(管理界面监听地址) 从默认的 127.0.0.1:8384 改为 0.0.0.0:8384。如果有本机防火墙,也需要开放对应端口。
通过 SSH 建立隧道
如果能通过 SSH 访问运行 Syncthing 的计算机,又不希望将 Web 管理端口开放到外部,可以改用 SSH 隧道。建立隧道的命令例如:
ssh -L 9999:localhost:8384 machine
它会绑定本地端口 9999,并把到达该端口的连接转发到目标机器的 8384 端口。即使 Syncthing 仅监听目标机器的 localhost,这种方式也能工作。
使用代理
Syncthing 可以为出站连接使用 SOCKS5 代理。详情参阅 使用代理。
来源与许可
原文:Firewall Setup,Syncthing 文档贡献者。核对日期 2026-10-03,页面版本 v2.1.0-24-g1f79d9e。全文翻译为中文,新增端口表格,命令与地址保留原样;命令未在本机执行。
官方文档仓库 声明全部文档和协议规范使用 Creative Commons Attribution 4.0 International License。本译稿按该许可标明来源及变更,不代表原作者为译稿背书。











暂无评论内容