Resilio Sync not listening to port 3838 on Ubuntu 20.4


Recommended Posts

I have Resilio Sync 2.7.2 (1375) setup on a Ubuntu 20.04 server following the install from repository instructions at https://help.resilio.com/hc/en-us/articles/206178924-Installing-Sync-package-on-Linux.

I have enabled LAN search but that is not working . The server is not automatically detected by other machines, while the Resilio Sync installations on several Windows machines find each other via LAN search.

When I enable tracker server or configure the sever als known hosts on the Windows installations it is working fine.

So LAN search seems not to be working on the server.

However in case of some reboots of the server it is working. But when I do a restart of the resilio-sync service it s again not working

my config.json on the Ubuntu server is as follows:

{
    "device_name": "XYZ",
    "storage_path" : "/var/lib/resilio-sync/",
    "pid_file" : "/var/run/resilio-sync/sync.pid",
    "check_for_updates" : false,
   "use_upnp" : false,
    "download_limit" : 0,
    "upload_limit" : 0,
    "disk_low_priority" : false,
    "lan_encrypt_data" : true,
    "listening_port" : 40935,
    "folder_defaults.use_tracker" : false,
    "folder_defaults.use_relay" : false,
    "folder_defaults.lan_discovery_mode" : 3,
    "rate_limit_local_peers" : false,
    "folder_rescan_interval" : 600,
    "sync_trash_ttl" : 7,
        "webui" :
        {
        },
        "shared_folders" :
        [
                {
                "secret" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                "dir" : "/home/rslsync/test",
                "search_lan" : true,
                "use_sync_trash" : true
                }
        ]
}

 

and /usr/lib/systemd/system/resilio-sync.service

[Unit]
Description=Resilio Sync service
Documentation=https://help.resilio.com
After=network.target network-online.target

[Service]
Type=forking
UMask=0002
Restart=on-failure
PermissionsStartOnly=true

User=rslsync
Group=rslsync
Environment="SYNC_USER=rslsync"
Environment="SYNC_GROUP=rslsync"

Environment="SYNC_RUN_DIR=/var/run/resilio-sync"
Environment="SYNC_LIB_DIR=/var/lib/resilio-sync"
Environment="SYNC_CONF_DIR=/etc/resilio-sync"

PIDFile=/var/run/resilio-sync/sync.pid

ExecStartPre=/bin/mkdir -p ${SYNC_RUN_DIR} ${SYNC_LIB_DIR}
ExecStartPre=/bin/chown -R ${SYNC_USER}:${SYNC_GROUP} ${SYNC_RUN_DIR} ${SYNC_LIB_DIR}
ExecStart=/usr/bin/rslsync --config ${SYNC_CONF_DIR}/config.json
ExecStartPost=/bin/sleep 1

[Install]
WantedBy=multi-user.target
 

I checked with tcpdump for packets send to port 3838 (the port used for LAN Sync according to https://help.resilio.com/hc/en-us/articles/204754759-What-ports-and-protocols-are-used-by-Sync-), but nothing is send when Resilio Sync is started on the server.

The sync.log file on the server shows only bindings of listening sockets to 0.0.0.0:40935 and [::]:40935 but not to port 3838.

and netstat -npl |grep rslsync shows
tcp        0      0 0.0.0.0:40935           0.0.0.0:*               LISTEN      1870/rslsync
tcp6       0      0 :::40935                :::*                    LISTEN      1870/rslsync
udp        0      0 0.0.0.0:40935           0.0.0.0:*                           1870/rslsync
udp6       0      0 :::40935                :::*                                1870/rslsync

So rslsync is not listening to port 3838 and it hasn't joined the multicast group 239.192.0.0 which are needed for LAN Scan!

 

In the few cases it is actually working after a reboot netstat -npl |grep rslsync shows
tcp        0      0 192.168.1.2:40935       0.0.0.0:*               LISTEN      2448/rslsync
tcp6       0      0 :::40935                :::*                    LISTEN      2448/rslsync
udp        0      0 0.0.0.0:3838            0.0.0.0:*                           2448/rslsync
udp        0      0 192.168.1.2:53082       0.0.0.0:*                           2448/rslsync
udp        0      0 192.168.1.2:40935       0.0.0.0:*                           2448/rslsync
udp6       0      0 :::3838                 :::*                                2448/rslsync
udp6       0      0 :::40935                :::*                                2448/rslsync

and the sync.log file shows the binding to port 3838 and joining to multicast group 239.192.0.0:3838.

 

However when I perform a restart with systemctl restart resilio-sync this is gone and it is no longer working.

 

I further analyzed the sync.log files for both cases:

In case LAN Sync is working I find the following entries in sync.log:

[20201127 15:24:33.668] [NETLINK] Network interfaces configuration was changed

...

[20201127 15:24:39.929] Posting message to change network to WIRED_NETWORK

...

[20201127 15:24:39.931] Got network change event (suggested type: WIRED_NETWORK)

[20201127 15:24:39.931] We are about network reload

...

[20201127 15:24:40.131] Network reloaded

 

and after that  binding to port 3838 and joining the multicast group is done .

 

In case LAN Scan is not working I don't find such network related entries in sync.log.

It seems that this network interface configuration change initiates the enabling of the LAN Scan ports.

 

Why are the LAN Scan ports only enabled in case of a network interface configuration change?

Link to post
Share on other sites
1 hour ago, Andy+ said:

That Resilio work properly, it needs Internet connection and auto UPnP by the Router or manually fixed and open Ports. Also all the Firewalls and Antivirus need to check etc. etc.

It ist not a firewall a Firewall, open Port or Antivirus topic. All Resilio Sync clients are in the lokal LAN and it works wit the Windows clients.

Rslsync ist just not binding to the necessary ports when it starts. When I trigger a network reconfiguration I does so and it works until rslsync is restarted again. Seems an issue of the Linux version of rslsync.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.