Syncthing 中文文档 下载 App

防火墙放行与 UPnP 端口映射:让直连成为可能

需要放行的端口

本地防火墙(Windows Defender、iptables 等)要放行入站与出站:

三者的分工见[端口清单(01-ports.md)。改过同步监听地址的,按实际端口放行。

Linux 防火墙有现成预设

装了官方包/发行版包的 Linux 用户不用手写规则:

# ufw(Debian/Ubuntu 系)
sudo ufw allow syncthing
sudo ufw status verbose   # 验证

# firewalld(RHEL/Fedora 系,0.5.0 起内置支持)
sudo firewall-cmd --zone=public --add-service=syncthing --permanent
sudo firewall-cmd --reload

另有 syncthing-gui 服务名用于放行管理界面端口——官方提醒典型安装不需要放行它。

Windows 上重点检查首次运行时的放行弹窗是否被点掉;被拒绝的规则在网络设置里重新允许即可。

UPnP:让路由器自己开端口

路由器支持 UPnP 时,最省事的做法是保持两端 UPnP 开启(默认开启),程序会自己完成端口映射。成功时控制台输出:

Created UPnP port mapping for external port XXXXX on UPnP device YYYYY.

讲究安全的环境常禁用 UPnP,那就走手动:在路由器上把外部 22000/TCP 与 22000/UDP 转发到内网设备的 22000。外部端口与内部端口保持一致最省心。

直连不成的兜底顺序

官方文档的逻辑顺序:

  1. 端口映射(UPnP 或手动)建立直连;
  2. 建不了直连时,中继兜底让设备至少能同步(慢),见[中继(02-relay.md);
  3. 静态 IP 的设备可以完全绕过发现与映射的麻烦,直接在设备地址里写死对端地址(见[发现机制(03-discovery.md))。

还要记得:连接是双向的——只要集群里有一台设备端口可达,其他设备就能主动连上它,不必每台都做映射。