21025 or 21026 or 21027 or 21028?

I am finding conflicting discovery port addresses on my machines and also online in support topics even on this forum. Can someone tell me what ports I should be using and perhaps even why they are preferred (since they changed at some point)? Should the IPv6 and IPv4 be the same or different (and again why)? Finally, is there a reason to change the port 22000 assignment to be different on each machine or should they be all the same (I am thinking it might make the WAN NAT a little cleaner but am not sure if I’ll break more than I fix)?


I have been using Syncthing for several months. As new machines were added to the mix, sometime they found the other locals, sometimes not - it seemed there were two camps or pools of machines syncing together with occasional overlaps though I could be wrong about the overlaps. However, everyone was able to see the “main server” when they were offsite and I was not too concerned. Over the weekend I tried to sort things out and discovered that the port addresses for discovery were different on several machines. I have never touched this setting so I am assuming that the default values changed at some point. I believe I set everyone to the same addresses and now the camps of which set of machines sees what other set of machines has changed and nothing works offsite. I rather imagine that I need to change some other firewall filter/NAT/port forwarding settings et al. on each machine and the WAN router, but, I would like to know what I should be trying to get working.

Perhaps my Google skills are lacking but I’ve not been able to find an explanation.



All devices have same version of Syncthing? I’m asking because in v0.12 port numbers of discovery has changed… :syncthing: Syncthing v0.12.0 “Beryllium Bedbug”

Setting the data transfer port to something other than 22000 is needed, if you don’t / can’t use UPnP and want more than one machine to be reachable from WAN. Without UPnP the port in the settings must be the same as the forwarded WAN port to be able to use global discovery.

For local discovery to work, the devices need to be in the same subnet and the the firewalls on the devices need to allow syncthing to use the local discovery ports (which also changed in v0.12, I think) and allow multicast/broadcast.

The protocol has evolved a couple of times and the ports changed as part of that. v0.12.x uses 22027 21027 for local discovery, only.

So I am to set things to:

  • localAnnouncePort <-- 21027 local
  • AnnounceMCAddr <-- [ff12::8384]:21027
  • listenAddress <--

Except for devices that need a NAT/Port Forwarding rule in the WAN router, for whom I need to change 22000 to something unique?

This will be the configuration I should get when I preform a fresh install on a new machine?

The use of port 22027 in the reply makes me want to confirm.


1 Like

listen address

that way you are only accessing by yourself, no one can connect to you with that port.

The GUI listen address is using port 8384.

1 Like

Agreed, the listen host was wrong. All seems to work fairly well with

  • localAnnouncePort <-- 21027

  • localAnnounceMCAddr <-- [ff12::8384]:21027

  • listenAddress <-- tcp://

Thanks, hopefully ports won’t change again soon.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.