How to connect two servers on different networks, one with proxy?

I have two servers I want to connect. One is Ubuntu 18.04, the other 20.04. I have installed syncthing on both machines using the synchthing deb archives. I have set the ufw rules to allow syncthing on both machines.

The 20.04 is on a home network with no proxy required. The 18.04 is on a corporate network. I have started the one on the corporate network with all_proxy set and all the http/s proxy variables set correctly.

I have configured both machines with each other’s device id, and both are sharing the default folder with each other.

Neither machine logs anything that looks like an error message, but they don’t connect. Both say they’re connecting to discovery servers, and both connect to a relay.

What could be going wrong here?

Thanks!

Proxy is only useful for discovery and other HTTP based things. Syncthing protocol does not use HTTP, so if there is no way to open a non-HTTP connection in the corporate network, it will not work.

You can configure syncthing to use a socks proxy, but very rarely I’ve seen socks proxies available in a corporate setting.

Thanks! In this case, there is a socks proxy (socks:://…) available, but it still seems not to work. Any suggestions of how to debug?

Did you follow Using Proxies — Syncthing v1 documentation ?

What did you do, what happened differently from what you would have expected?

Yes, I did. I set the all_proxy variable, meaning I ran all_proxy=socks5://<my proxy> syncthing (I tried both with socks5: and with socks:), and other proxy variables were set in the environment as normal. There was a log message indicating that proxy settings were detected. The https_proxy settings (well, actually HTTPS_PROXY) were clearly used since there was a successful relay connection, but there were no messages that would say there was a problem with the socks proxy.

The expected behavior would be that the two machines would connect and sync. They remain disconnected, though there are no error messages in the logs to give me any clue what’s going wrong. In particular there are no messages indicating that either machine even attempted to connect, though of course there are messages indicating they know both about the two device ids. This is my first experience with syncthing, so I have no idea what messages might be missing, I can only go by the messages I see.

1 Like

On the disconnected device there should be a list of discovered devices, with errors. Are there any?

If not, is the discovery working (Discovery row in the “This Device” section)? Clicking on the discovery numbers brings up errors.

If there’s no clues, you can enable dialer,connections debugging facilities (actions → logs or STTRACE environment variable).

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