Port requirements

hello everybody

I am looking into syncthing and don’t get my head around the port requirements.

When and how are ports actually required to be opened?

Let’s say I have 3 computers (A,B,C) syncing with Syncthing.

A is at home B is in the office C is in a random network, where i can’t change the ports on the router

Will C never be able to connect? Will A and B need a port forward? What if A moves to B and now there are two computers in the same network but the port can only be forwarded to one machine.

I can’t find info about that in the docs and haven’t found it in the forum.

Can someone point me into the right direction where i can find more info about that or where this topic is covered in the docs.

Thanks a lot in advance for every answer,

KR, Chris

normally with upnp activated on your router you do not have to care much about the ports

you need to configure the ports if you want to access the GUI from everywhere

As long as A can connect to C or C can connect to A it will work. Given one of the devices are at home, you should enable UPnP (or setup port forwarding) and it should all be fine.

Thanks for the quick answers.

Can we please put upnp aside for a minute. I understand that it might help me, but It doesn’t help me to understand what’s going on (almost philosphic :wink: )

So Audrius answer helped me to understand that when one node is available by port forwarding, then it works.

So new scenario (if I may):

A is at home. Port forwarded.

B and C are out, can’t portforward.

B and C will see and connect to A and can both sync with A.

They can both sync via A with each other.

But B can’t see or connect directly to C, right?

So there wouldn’t be a ’swarm’ of clients, just a clients connects to server scenario.

Or can A then tell B and C how to connect to each other, even without forwarded ports?

I really hope this makes sense to everybody reading it.

I appreciate it a lot that you guys take the time to help me here!

Chris

The two things with a question mark is the following: But B can’t see or connect directly to C, right? Depends if B or C is actually facing the internet, not behind a NAT, or were able to get a port forwarded or UPnP setup.

Or can A then tell B and C how to connect to each other, even without forwarded ports? Yes, you can, in device configuration it explicitly says you can define ip:port for a device to connect to.

A and C will not be able connect if both don’t have ports forwarded. As soon as https://github.com/syncthing/syncthing/pull/1995 is finished they should be able to connect over a external relay server.

Thanks Alex, all clear now !

Thanks Audrius. I understood that part before but tried to explain a scenario where portforwarding would be required but impossible. Lo Thanks again for your time and help!

This relay server sounds very good.

Talk soon,

Chris