Syncthing in a Linux container on a Chromebook

Hi there!

I activated the Linux container on my Chromebook and I installed syncthing within this container to sync files with my PC. But syncthing tells me “connection refused”, which is strange, because when I install ST as an Android app on the Chromebook, syncing works fine.

The reason why I need ST inside the Linux container is that Android apps can’t access the Linux container and vice versa.

I already used the advanced options to tell ST the pc’s IP and to search locally. These settings do work on my Android phone and on another Android tablet. It’s just the Chromebook that does not connect to my pc and I guess it has something to do with an internal restriction of the Linux container.

Does anyone have any experience with this kind of setup? Are there any options I haven’t found yet, that I could try?

Many thanks in advance for any help!

Screenshots of the Web GUI would be helpful here, especially since you seem to be using a custom configuration. Do the two devices connect if you leave everything at default (i.e. global and local discovery, relaying, etc.)?

Thanks for your replay!

I will see to the screenshots as soon as I can. Meanwhile, I discovered something else: the Linux container, called “crostini”, uses its own virtual network with a totally different IP range than the rest of my network:

ip 100.115.92.22 netmask 255.255.255.240 broadcast 100115.92.207

“route -n” tells me:

Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         100.115.92.193  0.0.0.0         UG    0      0        0 eth0
100.115.92.192  0.0.0.0         255.255.255.240 U     0      0        0 eth0

My local home network is on 11.11.11.0 / 255.255.255.0 and my pc, my phone and the Chromebook itself are part of this network, and so are Android apps, that are installed on the Chromebook. But the Linux container is totally separated from the rest of the Chromebook and can only communicate to the outside world through some fancy routing. I don’t know if this problem will be solvable at all for Syncthing.

Yeah, so with that you will probably need to enable global discovery and possibly relaying as well in order for the two to connect. This is assuming that they’re disabled currently which is based on the IP hard-coding mentioned in the first post.

The IP address range 100.64.0.0 to 100.127.255.255 is what’s called a “carrier-grade NAT”. Because it doesn’t overlap with the commonly found 10.x, 172.x and 192.168.x prefixes, it’s very safe from colliding with a user’s existing network.

Crostini has a simple port forwarding tool, but there’s also a 3rd-party Chromebook app called “Connection Forwarder” (https://github.com/kzahel/connection-forwarder) that might be of interest. Forward ports 8384 and 22000 from ChromeOS to Crostini to provide access to Syncthing to your 11.11.11.0/24 subnet.