Problems connecting client with internet server (error 113)

Hello everyone!

First of all thank you for the great backup solution UrBackup offers.
I have found similar questions about my problem described below in the forum, but no suitable answer/solution.

Environmental conditions:

  • Server version: 2.4.12 (as Docker Container in OMV 4.1.34)
  • Client version: 2.3.4 (on Windows 10 PC)

Target state:
Since the Windows machine running Ur-Backup CLient is often not in the same LAN network as the UrBackup server for a long time, I would like to use the possibility to generate backups via the Internet in addition to the already perfectly working local backups.
The WebUI should not be publicly accessible and no other port should be opened besides the already opened port 443.

Actual state:

  1. backup server settings:
  • Internet auth key has been checked several times for consistency and has also already been changed

  1. port mapping via nginx and Let’s-encrypt
  • Port 55415 was released via port 443 using nginx

  • My urbackup.subdomain.conf:

server {
listen 443 ssl;
listen [::]:443 ssl;
server_tokens off;

server_name my-urbackup-server.*;

include /config/nginx/ssl.conf;

add_header Strict-Transport-Security max-age=15768000;

location / {
    include /config/nginx/proxy.conf;
    resolver 127.0.0.11 valid=30s;
    set $upstream_urbackup urbackup ;
    proxy_pass http://192.168.178.10:55415;
}

}

  1. settings UrBackup Client:
  • Internet auth key has been checked several times for matching and has also been changed

Clientsettings

  1. settings Windows PC:
  • Firewall is deactivated

Problem description:
If the client is in another network (hotspot via smartphone), it establishes a connection to the server and indicates that it is connected to the server, but the server displays the client as offline in the WebUI. No backups can be backed up by the client.

In the client debug log, I was able to identify the following entries, which I think are crucial (instead of “my-urbackup-server” the correct address is displayed):

2020-02-24 18:10:11: Trying to connect to internet server “my-urbackup-server” at port 443
2020-02-24 18:10:11: Successfully connected.
2020-02-24 18:10:21: Error receiving challenge packet
2020-02-24 18:10:21: InternetClient: Had an auth error

In the server debug log, I think the following entries are decisive:

2020-02-24 17:27:45: New Backupclient: ThinkPad-PC
2020-02-24 17:30:03: Looking for old Sessions… 1 sessions
2020-02-24 17:30:50: Socket has error: 113
2020-02-24 17:31:00: Socket has error: 113
2020-02-24 17:31:10: Socket has error: 113
2020-02-24 17:31:20: Socket has error: 113
2020-02-24 17:31:30: Socket has error: 113
2020-02-24 17:31:40: Socket has error: 113
2020-02-24 17:31:50: Socket has error: 113
2020-02-24 17:32:00: Socket has error: 113
2020-02-24 17:32:10: Socket has error: 113
2020-02-24 17:32:20: Socket has error: 113
2020-02-24 17:32:30: Socket has error: 113
2020-02-24 17:32:30: ERROR: Connecting to ClientService of “ThinkPad-PC” failed: Querying client capabilities failed

I already tried to manual configure the client and I also downloaded the preconfigured client and reinstalled it on the windows machine without success.

My questions:

  1. Unfortunately I could not find any explanation for the error entries in the log files. Does anyone know what I have configured incorrectly or what changes are necessary to get this configuration running?

  2. I have seen in the settings of the server, which i have updated recently, that there is now also the setting “Connect via HTTP(s) proxy”. Unfortunately I did not find any information about what I have to enter in this field to use this option. All test entries were rejected by the system.
    Is my project possibly feasible using this function? If so, what must be entered in this field?

Thanks a lot for your help.
If any information is missing, please let me know.

Greetings,
Michael

When I had a slightly similar problem my guess was that the server was trying to start a new connection to the client but since the client was behind a firewall it could not be reached. The hot spot you used probably did not give you a route-able IP address and masqueraded your connection.

My solution was to use a tunnel from the client, openvpn or l2tp in my case depending on what was allowed by the connection.

The client connects to 443 (55415 per default) and expects a UrBackup server listening there using the UrBackup Internet protocol and you have put a web server there speaking SSL. That obviously won’t work.

What you can do is proxy (https CONNECT proxy) the UrBackup connection to the server via a web server. See the blog post https://blog.urbackup.org/299/connect-clients-with-a-https-connect-web-proxy where it shows how to do that with apache2. Idk how or if it would work with nginx.

Many thanks for your quick replies.
I was almost sure that my configuration wouldn’t work out.:see_no_evil:
I guess I’m gonna have to dig a little deeper than I hoped.

If I find a solution under the conditions I mentioned above I will post it here.