Syncthing 防火墙设置

路由器设置

端口转发

如果 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。本译稿按该许可标明来源及变更,不代表原作者为译稿背书。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容