connection behind cgnat

Hi. I have two hosts behind cgnat. One has connection type Relay, another has Relay WAN. I don’t know what it means, I just know that it’s slow. Since my IP address is behind cgnat, is there any way to fix this?

I see a lot of tutorials on Cloudflare tunnels. I’ve created one myself. Will that be a possible solution for me? If yes, how do I set it up?

  • Is there another NAT layer behind the CGNAT?
  • Are the two hosts on the same LAN or are they behind different CGNATs?
  • What OSes are each host running?

Screenshots of Syncthing’s web gui (with the device and folder details visible) would be very helpful along with any additional info about your network setup.

Basically, each Syncthing host tries to determine if it can connect to a specified Syncthing host as directly as possible. But when it cannot, a Syncthing relay server is used. It’s like personally dropping off a package at your friend’s home verses sending it via a mail carrier who in turn then drops the package off at your friend’s home. The latter is a lot slower.

Without more information it’s difficult to say if a Cloudflare Tunnel would help speed up syncing. Adding other layers of network abstraction generally slows things down instead of the opposite.

1 Like

Yes, there is a TP-Link Deco router behind CGNAT that allows home devices to connect to the net.

No, each host have the same setup, ISP gives out 100.89.x.x IP address, then TP-Link Deco router serves 192.168.1.x to home devices.

Both host have syncthing running on docker container.


Note how in your screenshot of Syncthing’s web GUI, the “Qnap” device has the IP address


The Docker container on your “NAS” device likely has a similar (or possibly even identical IP address).

Since your TP-Link Deco router is providing a subnet, but your “Qnap” Docker container is on a different subnet (, as far as Syncthing is concerned, “QNAP” and “NAS” could be located on different continents. It’s why Syncthing ended up using an external relay server to connect your two nodes.

So the problem is the Docker and network configuration rather than Syncthing. A search for “docker” on this forum will turn up earlier posts with different solutions depending on the individual requirements.

1 Like

Hello, to be accurate, Deco is giving out 192.168.68.x. My NAS has the IP of Syncthing container is using bridge network on the NAS, and all containers is using 172.17.0.x.

I’ll search docker and see if I can find a solution to this.

@gadget Just want to share with you that I followed your recommendation. Just to be sure, I changed the docker container from bridge networking to host networking, and it now works as it doesn’t stay 172.x.x.x

Thank you!