Clients not connecting at all

Hello all!

First of, thank you all for your hard work and making this software available!

Now to my issue:

I set up an urbackup server on a Debian Jail in FreeNAS and everything went smoothly and I can access the web interface flawlessly. However, none of my clients (tried so far with an XP and Win 7 machine) connect to the server at all and the debug logs are not helpful.

More info:
SERVER
OS: Debian GNU/Linux 7 (runs in a Jail in FreeBSD 9.2)
UrBackup server: v1.3.2-1 (used the urbackup-server_1.3.2-1_i386.deb package to install)

CLIENTS
installed 2 clients: one on a Windows XP x32 machine and one in a Windows 7 x64 machine
client software version: 1.3-1

both the server and clients are in the same subnet and the server ip is pingable

UrBackup server log (debug enabled)

2014-01-21 19:18:38: Changing user...
2014-01-21 19:18:38: done.
2014-01-21 19:18:38: Loaded -pychart- plugin
2014-01-21 19:18:38: Loaded -url- plugin
2014-01-21 19:18:38: Loaded -cryptoplugin- plugin
2014-01-21 19:18:38: Loaded -download- plugin
2014-01-21 19:18:38: Loaded -fsimageplugin- plugin
2014-01-21 19:18:38: Starting HTTP-Server on port 55414
2014-01-21 19:18:38: HTTP: Server started up sucessfully!
2014-01-21 19:18:38: Created new database connection for urbackup/backup_server.db
2014-01-21 19:18:38: Destroying all databases...
2014-01-21 19:18:38: Destroying all databases...
2014-01-21 19:18:38: Created new database connection for urbackup/backup_server.db
2014-01-21 19:18:38: Creating files Indices...
2014-01-21 19:18:38: Started UrBackup...
2014-01-21 19:18:38: Created new database connection for urbackup/backup_server.db
2014-01-21 19:18:38: Removing temporary files...
2014-01-21 19:18:38: Recreating temporary folder...
2014-01-21 19:18:38: Testing if backup destination can handle subvolumes and snapshots...
2014-01-21 19:18:38: Backup destination cannot handle subvolumes and snapshots. Snapshots disabled.
2014-01-21 19:18:38: ERROR: Getting interface ips failed
2014-01-21 19:18:38: UrBackup Server start up complete.
2014-01-21 19:18:38: Creating SOCKET...
2014-01-21 19:18:38: Looking for old Sessions... 0 sessions
2014-01-21 19:18:38: done.
2014-01-21 19:18:38: Server started up sucessfully!
2014-01-21 19:18:38: Created new database connection for urbackup/backup_server.db
2014-01-21 19:18:38: Created new database connection for urbackup/backup_server.db
2014-01-21 19:19:47: HTTP: No available slots... starting new Worker
2014-01-21 19:19:47: Created new database connection for urbackup/backup_server.db
2014-01-21 19:20:21: HTTP: No available slots... starting new Worker
2014-01-21 19:20:21: Created new database connection for urbackup/backup_server.db
2014-01-21 19:31:54: Sending file "/var/urbackup/www/gplv3-127x51.png"
2014-01-21 19:31:54: Sending file: /var/urbackup/www/gplv3-127x51.png
2014-01-21 19:31:54: Sending file "/var/urbackup/www/btn_donate_LG.gif"
2014-01-21 19:31:54: Sending file: /var/urbackup/www/btn_donate_LG.gif
2014-01-21 19:31:54: Sending file: /var/urbackup/www/gplv3-127x51.png done
2014-01-21 19:31:54: Sending file: /var/urbackup/www/btn_donate_LG.gif done
2014-01-21 19:32:50: HTTP: No available slots... starting new Worker
2014-01-21 19:32:50: Created new database connection for urbackup/backup_server.db  

Client (XP) log (debug enabled)

2014-01-21 09:11:17: WARNING: Upgrading...
2014-01-21 09:11:17: ERROR: Error preparing Query [SELECT tvalue FROM misc WHERE tkey='db_version']: no such table: misc
2014-01-21 09:20:27: Loaded -fileserv- plugin
2014-01-21 09:20:27: Loaded -fsimageplugin- plugin
2014-01-21 09:20:27: Loaded -cryptoplugin- plugin
2014-01-21 09:20:28: Created new database connection for urbackup/backup_client.db
2014-01-21 09:20:28: urbackupserver: Server started up sucessfully!
2014-01-21 09:20:28: FileSrv: Backup privileges set successfully
2014-01-21 09:20:28: FileSrv: Info: retval 0
2014-01-21 09:20:28: FileSrv: Info: retval 0
2014-01-21 09:20:28: FileSrv: Info: Window size=524288
2014-01-21 09:20:28: FileSrv: Binding udp socket...
2014-01-21 09:20:28: FileSrv: done.
2014-01-21 09:20:28: FileSrv: Disabling new behavior...
2014-01-21 09:20:28: FileSrv: Servername: -xp-pro-x32-
2014-01-21 09:20:28: FileSrv: Server started up sucessfully
2014-01-21 09:20:28: Started UrBackupClient Backend...
2014-01-21 09:20:28: FileSrv: UDP Thread startet
2014-01-21 09:20:29: Looking for old Sessions... 0 sessions
2014-01-21 09:20:29: Internet test mode not enabled. Waiting for local server...
2014-01-21 09:20:29: Created new database connection for urbackup/backup_client.db
2014-01-21 09:20:29: Created new database connection for urbackup/backup_client.db
2014-01-21 09:23:29: Internet mode is not enabled.
2014-01-21 09:26:32: urbackupserver: No available slots... starting new Worker
2014-01-21 09:26:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:26:32: Created new database connection for urbackup/backup_client.db
2014-01-21 09:26:32: rc=0 hasError=true state=0
2014-01-21 09:26:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:26:32: rc=0 hasError=true state=0
2014-01-21 09:27:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:27:32: rc=0 hasError=true state=0
2014-01-21 09:27:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:27:32: rc=0 hasError=true state=0
2014-01-21 09:28:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:28:32: rc=0 hasError=true state=0
2014-01-21 09:28:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:28:32: rc=0 hasError=true state=0
2014-01-21 09:29:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:29:32: rc=0 hasError=true state=0
2014-01-21 09:29:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:29:32: rc=0 hasError=true state=0
2014-01-21 09:30:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:30:32: rc=0 hasError=true state=0
2014-01-21 09:30:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:30:32: rc=0 hasError=true state=0
2014-01-21 09:31:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:31:32: rc=0 hasError=true state=0
2014-01-21 09:31:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:31:32: rc=0 hasError=true state=0
2014-01-21 09:32:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:32:32: rc=0 hasError=true state=0
2014-01-21 09:32:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:32:32: rc=0 hasError=true state=0
2014-01-21 09:33:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:33:32: rc=0 hasError=true state=0
2014-01-21 09:33:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:33:32: rc=0 hasError=true state=0
2014-01-21 09:34:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:34:32: rc=0 hasError=true state=0
2014-01-21 09:34:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:34:32: rc=0 hasError=true state=0
2014-01-21 09:35:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:35:32: rc=0 hasError=true state=0
2014-01-21 09:35:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:35:32: rc=0 hasError=true state=0
2014-01-21 09:36:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:36:32: rc=0 hasError=true state=0
2014-01-21 09:36:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:36:32: rc=0 hasError=true state=0
2014-01-21 09:37:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:37:32: rc=0 hasError=true state=0
2014-01-21 09:37:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:37:32: rc=0 hasError=true state=0
2014-01-21 09:38:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:38:32: rc=0 hasError=true state=0
2014-01-21 09:38:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:38:32: rc=0 hasError=true state=0
2014-01-21 09:39:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:39:32: rc=0 hasError=true state=0
2014-01-21 09:39:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:39:32: rc=0 hasError=true state=0
2014-01-21 09:40:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:40:32: rc=0 hasError=true state=0
2014-01-21 09:40:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:40:32: rc=0 hasError=true state=0
2014-01-21 09:41:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:41:32: rc=0 hasError=true state=0
2014-01-21 09:41:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:41:32: rc=0 hasError=true state=0
2014-01-21 09:42:32: ClientService cmd: STATUS#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:42:32: rc=0 hasError=true state=0
2014-01-21 09:42:32: ClientService cmd: GET INCRINTERVALL#pw=4qluLnODqFN7Qu72MwcOsRc4lJanYx
2014-01-21 09:42:32: rc=0 hasError=true state=0  

Client (Win7) log (debug enabled)

2014-01-21 19:13:22: WARNING: Upgrading...
2014-01-21 19:13:22: ERROR: Error preparing Query [SELECT tvalue FROM misc WHERE tkey='db_version']: no such table: misc
2014-01-21 19:20:57: Loaded -fileserv- plugin
2014-01-21 19:20:57: Loaded -fsimageplugin- plugin
2014-01-21 19:20:57: Loaded -cryptoplugin- plugin
2014-01-21 19:20:57: Created new database connection for urbackup/backup_client.db
2014-01-21 19:20:57: urbackupserver: Server started up sucessfully!
2014-01-21 19:20:57: FileSrv: Backup privileges set successfully
2014-01-21 19:20:57: FileSrv: Info: retval 0
2014-01-21 19:20:57: FileSrv: Info: retval 0
2014-01-21 19:20:57: FileSrv: Info: Window size=524288
2014-01-21 19:20:57: FileSrv: Binding udp socket...
2014-01-21 19:20:57: FileSrv: done.
2014-01-21 19:20:57: FileSrv: Disabling new behavior...
2014-01-21 19:20:58: FileSrv: Servername: -Win7-Ult64-Test-
2014-01-21 19:20:58: FileSrv: Server started up sucessfully
2014-01-21 19:20:58: FileSrv: UDP Thread startet
2014-01-21 19:20:58: Started UrBackupClient Backend...
2014-01-21 19:20:59: Internet test mode not enabled. Waiting for local server...
2014-01-21 19:20:59: Looking for old Sessions... 0 sessions
2014-01-21 19:20:59: Created new database connection for urbackup/backup_client.db
2014-01-21 19:21:05: Created new database connection for urbackup/backup_client.db
2014-01-21 19:23:59: Internet mode is not enabled.
2014-01-21 19:26:22: urbackupserver: No available slots... starting new Worker
2014-01-21 19:26:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:26:22: Created new database connection for urbackup/backup_client.db
2014-01-21 19:26:22: rc=0 hasError=true state=0
2014-01-21 19:26:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:26:22: rc=0 hasError=true state=0
2014-01-21 19:27:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:27:22: rc=0 hasError=true state=0
2014-01-21 19:27:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:27:22: rc=0 hasError=true state=0
2014-01-21 19:28:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:28:22: rc=0 hasError=true state=0
2014-01-21 19:28:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:28:22: rc=0 hasError=true state=0
2014-01-21 19:29:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:29:22: rc=0 hasError=true state=0
2014-01-21 19:29:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:29:22: rc=0 hasError=true state=0
2014-01-21 19:30:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:30:22: rc=0 hasError=true state=0
2014-01-21 19:30:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:30:22: rc=0 hasError=true state=0
2014-01-21 19:31:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:31:22: rc=0 hasError=true state=0
2014-01-21 19:31:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:31:22: rc=0 hasError=true state=0
2014-01-21 19:32:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:32:22: rc=0 hasError=true state=0
2014-01-21 19:32:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:32:22: rc=0 hasError=true state=0
2014-01-21 19:33:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:33:22: rc=0 hasError=true state=0
2014-01-21 19:33:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:33:22: rc=0 hasError=true state=0
2014-01-21 19:34:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:34:22: rc=0 hasError=true state=0
2014-01-21 19:34:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:34:22: rc=0 hasError=true state=0
2014-01-21 19:35:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:35:22: rc=0 hasError=true state=0
2014-01-21 19:35:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:35:22: rc=0 hasError=true state=0
2014-01-21 19:36:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:36:22: rc=0 hasError=true state=0
2014-01-21 19:36:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:36:22: rc=0 hasError=true state=0
2014-01-21 19:37:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:37:22: rc=0 hasError=true state=0
2014-01-21 19:37:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:37:22: rc=0 hasError=true state=0
2014-01-21 19:38:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:38:22: rc=0 hasError=true state=0
2014-01-21 19:38:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:38:22: rc=0 hasError=true state=0
2014-01-21 19:39:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:39:22: rc=0 hasError=true state=0
2014-01-21 19:39:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:39:22: rc=0 hasError=true state=0
2014-01-21 19:40:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:40:22: rc=0 hasError=true state=0
2014-01-21 19:40:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:40:22: rc=0 hasError=true state=0
2014-01-21 19:41:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:41:22: rc=0 hasError=true state=0
2014-01-21 19:41:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:41:22: rc=0 hasError=true state=0
2014-01-21 19:42:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:42:22: rc=0 hasError=true state=0
2014-01-21 19:42:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:42:22: rc=0 hasError=true state=0
2014-01-21 19:43:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:43:22: rc=0 hasError=true state=0
2014-01-21 19:43:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:43:22: rc=0 hasError=true state=0
2014-01-21 19:44:22: ClientService cmd: STATUS#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:44:22: rc=0 hasError=true state=0
2014-01-21 19:44:22: ClientService cmd: GET INCRINTERVALL#pw=XXufLKtu5ArkQtnE0LejBdw3H4lVKJ
2014-01-21 19:44:22: rc=0 hasError=true state=0  

Can anyone please let me know what I am doing wrong? Or at least if I should be doing things differently?

I am sorry if some information is missing - let me know if you need anything else and I will provide.

I would really need to get UrBackup to work and use it in production as soon as possible.

Thank you for your help!

It’s having trouble getting the interfaces via getifaddrs . I’m having trouble understanding your setup. How can you use Debian GNU/Linux in a FreeBSD jail. Don’t you mean Debian GNU/kFreeBSD ?
Maybe you can strace the problem. Otherwise I can add additional log output or a fallback to just binding to one interface.

Hi Uroni, thank you for your reply!

Indeed that was the only message in the log that seemed to have any relevance, but since I can access the web interface from any machine in the subnet I figured it could not be that since it is serving the web page.

My setup is this:

I am running FreeNAS 9.2.0 on a physical server (Intel Xeon E3-1270 v2), which (as you may know) is basically just a storage-oriented GUI build on FreeBSD (v 9.2.0). The FreeNAS GUI has the option to create multiple different kinds of jails running a few different FreeBSD and Linux OSes, like:
Debian 7.1.0
Gentoo 20130820
Ubuntu 13.04
suse 12.3
centos 6.4

more info here: http://doc.freenas.org/index.php/Jails

running “head -n1 /etc/issue” outputs this information: Debian GNU/Linux 7 \n \l
running “uname -a” outputs this: Linux UrBackup 3.9.9 FreeBSD 9.2-RELEASE #0 r+2315ea3: Fri Dec 20 12:48:50 PST 2013 i686 GNU/Linux

so I guess it must be Debian GNU/Linux.

Anyway, I tried installing UrBackup in a FreeBSD jail, but I had all kinds of issues and could not get the program to install properly, so I went with the Debian package as it was much easier to install and to set up in the Debian jail. Everything else works OK in the Debian Jail, and UrBackup installed fairly easily and without issues and the server starts and the web admin page is live and accesible. The only problem is that no clients see the server - they will not connect even if adding manually their IPs.

Is there any configuration I can make on my part to force the server to get and bind to the only 1 interface that matters? here is the output from ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          UP MULTICAST  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  

eth1      Link encap:Ethernet  HWaddr 00:25:90:d4:e0:86  
          inet addr:192.168.0.21  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:22283057 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20341623 errors:7 dropped:0 overruns:0 carrier:0
          collisions:0 
          RX bytes:8980601358 (8.3 GiB)  TX bytes:78747764616 (73.3 GiB)  

igb0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18387687 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15127113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 
          RX bytes:8486700593 (7.9 GiB)  TX bytes:55422302166 (51.6 GiB)  

igb1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3892367 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5230112 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 
          RX bytes:494949415 (472.0 MiB)  TX bytes:23327202567 (21.7 GiB)  

lo0       Link encap:Local Loopback  
          UP LOOPBACK RUNNING MULTICAST  MTU:16384  Metric:1
          RX packets:2230804 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2230809 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 
          RX bytes:600894234 (573.0 MiB)  TX bytes:600854683 (573.0 MiB)  

usbus0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          UP  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  

usbus1    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          UP  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  

If not will you be able to provide a new build? If so, when?

Also, if I have to make any tweak (or you can provide a build that solves this), will I be able to upgrade in the future or will I run in the same issue?

Again thank you for the great peace of software and your help.

If you need more info please let me know.

Is there anything I could tweak in a config file or something to make the server communicate with the clients on any and all available network connections?

Or to make it work as the web server does?

Okay, read up on it. Neat. The FreeBSD kernel is able to emulate the Linux binary interface. “90%” of Linux applications work (I guess UrBackup is in the 10%). You can try the newest version here http://urpc.dyndns.org/urbackup_unstable/ . I have added a fallback in case the syscall fails (+logging the error code).

Anyway, I’ve nearly got it compiling as a FreeBSD port. Next up PBI. If you want to help…

Yeah, it`s pretty nice - when it works, that is. From the Linux distros that Freenas (FreeBSD) supports, I found that there are many issues with CentOS and Ubuntu (I would have loved if Ubuntu was more stable as I have the most experience with that) - these distros are practically unusable as they are right now. However, I had more luck with Debian as that seems a lot more stable - the only problem is that although the network works, the configuration is non-standard (probably it needs to be so due to the emulation and other stuff that goes on, it being a Jail and all). I have been able to run other software in Debian Jails without problems.

I would have preferred UrBackup to work in a Linux jail, be it Debian or Ubuntu, but since I could not get past the error I mentioned, I gave up and tried again on a standard FreeBSD Jail. This time I was able to compile UrBackup and even start it and browse its admin interface from the network in that FreeBSD Jail - but here I hit another snag: the server complains that it cannot access the backup location… This might be a permission issue, but I performed all configuration as root and there is only one other user (urbackup) created during the compiling process which has no password and who is a member of the wheel group and has full sudo rights, so I do not understand why it would not be able to write anywhere I ask it to. (tried in various places, including in the home folder of the user, but with no success).

This was on Friday and I had no more time to tinker more; I`ll try again this week (probably from Tuesday on), when I will have some time.

I find this backup server to have a huge potential - if it will work as advertised it can replace thousand of dollars worth of backup server software - a saving that we badly need as we are cutting down expenses everywhere. So I would like very much for this particular program to work and if I can I will help. I am a Systems Administrator with experience mostly on Windows Operating Systems (server and clients), but since we had to start replacing expensive server/app solutions with cheaper (or free where possible) I had to dig into Linux and start learning some of that - so I am not too experienced with Linux/Unix (until not so long ago I did not know that FreeBSD is not actually Linux :shock: ) but I learn fast.

I could have easily set up UrBackup on Windows and be done with it, but licensing another Windows instance just for this does not seem a good idea (and we do not have enough storage on Windows machines, nor are there advanced options on Windows, like ZFS compression and Deduplication) when we already have a FreeNAS server that would be perfect for the role as Backup Server and not just a simple NAS (it has plenty of storage and is easily expendable, uses ZFS and can enable Compression and Deduplication). Although your program is great, I believe that it could really shine if it could integrate with a NAS (and I hope it will be FreeNAS) seamlessly.

If I can get UrBackup to work with FreeNAS (in any way) I will write a guide with what I did to get it working. If I can also help with the PBIs, I will, but so far I don’t understand how those work - probably a Unix man (especially one with more FreBSD experience would be a better idea).

Anyway I hope we`ll get it running and that in the near future it will be an indispensable plugin/addition to any NAS.

There are others here who are in the same situation.

I’ve got it to compile to a PBI on PC-BSD. You can download it here: http://sourceforge.net/projects/urbackup/files/Server/1.3.2PBI/urbackup-server-1.3.2PBI-amd64.pbi/download and install it as FreeNAS plugin. Once installed it won’t show the correct status but will work anyway. I’ve had the same user issue you had but got around it by running it as root. It is in a jail anyway.
Now we just have to continously build it on a PC-BSD build server or get it into the official FreeNAS plugin list :)

Wow, this is great news! I will definitely give the PBI a try and let you know.

In the mean time, I also got it compiling and working on a standard FreeBSD Jail in FreeNAS and the clients can connect and everything works. There is only a minor inconvenience that if I start the server from the command line, it will output there the log and so I cannot use the command line anymore (unless I close the CLI window and open another one). This is aggravated if I stop and start the Jail, as some services will not start (like SSH) until I manually shut down the UrBackup server that start automatically. So, the way I got it working, although UrBackup starts automatically, it is best if I start it manually after the jail starts (so that I can make sure all services started OK).

Although you got it to compile as a PBI, I will also post here a log I kept while trying to compile UrBackup myself in a standard FreeBSD jail - maybe someone will find something useful here (I know I wish I found something like this while I was trying to compile), although others may find the mistakes I made to bee noobish (but I do not care).

base guide: http://forums.freenas.org/threads/urbackup-and-freenas-8-3-backup-and-windows-baremetal-restore-fantastic-solution.9823/  

Created a Standard FreeBSD Jail with the name 'UrBackup' and IP: 192.168.0.XX
autostart remained checked
VIMAGE - unchecked
NAT - unchecked
vanilla - checked  

Ran 'pkg install' to install the package manager and got the error: 'pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file' -->  ran 'pkg2ng'  

Ran 'pkg install update'  

Ran 'pkg install nano' to install the nano editor (success) - I know I should use vi as an editor, but I passionately hate that program so I use nano instead.  

Ran 'portsnap fetch extract'  

'cd /usr/ports/security/cryptopp'
'make CXXFLAGS="-fPIC"'
'make install'
--> sucess  

Ran 'pkg install curl' to install curl  

Added a password to the root account (I found that if I copied the tarball via any other method from within the jail, when unpacking it I would get all kind of errors) so I can copy the server source files to the Jail via SSH with FileZIlla
Enabled SSHD ('sshd_enable=yes' in /etc/rc.conf) and changed 'PermitRootLogin' to yes in '/etc/ssh/sshd_config' then ran '/etc/rc.d/sshd start' -> this should be disabled later on and a new user for SSH created  

Downloaded the latest tarball containing the urbackup source from here: https://sourceforge.net/projects/urbackup/files/Server/1.3.2/urbackup-server-1.3.2.tar.gz/download
Copied urbackup binaries to '/urbackup' (created the directory for this) via SSG with FileZilla.  

Unpacked urbackup:
'cd /urbackup'
ran 'tar zxvf cd urbackup-server-1.3.2.tar.gz'  

Install urbackup:
'cd urbackup-server-1.3.2'
ran './configure'
ran 'make' - this took quite some time, but no errors occurred (like in Linux jails)
ran 'make install' - this had the following steps:
'mkdir -p "/usr/local/var/urbackup"' - so I guess it wanted to create the use with the home directory here
'adduser urbackup --system --quiet --group --home "/usr/local/var/urbackup" || true' - so it tried to create the 'urbackup' user silently but failed, so I had to create it manually:
username: urbackup (and pressed ENTER)
full name: urbackup (and pressed ENTER)
uid: left empty for default and pressed ENTER
login group: pressed ENTER, so I guess the default group of 'urbackup' was created
invite urbackup into other groups: pressed ENTER
login class: left empty for default and pressed ENTER
shell: left empty for default and pressed ENTER
home directory: wrote '/usr/local/var/urbackup' since I saw that the install script was trying to make that path the user`s home
home directory permissions: left empty for default and pressed ENTER
use password-based authentication: no (and presed ENTER)
lock out the accoutn after creation: no (and presed ENTER)
OK: yes (and presed ENTER)
add another user: no (and presed ENTER)  

Did not start the server via command line, but rather proceeded to building the Initializing script:
Ran: 'nano /etc/rc.d/urbackup_srv'
using nano I wrote the init script (you can find the text of the init script in the guide in the url I gave before)  

Ran 'chmod +x /etc/rc.d/urbackup_srv' to give the script execute permissions  

Added the line 'urbackup_srv_enable="YES"' to the autostart file '/etc/rc.conf'  

Ran '/etc/rc.d/urbackup_srv onestart' - server hanged after trying to load the first plugin (from line '--plugin' onward) - this was caused by the fact that the nano editor adds an extra space (or line breaks?) when I paste the 'command_args' long text into the initialization script !-->> so great care must be taken so there will be no space where it should not be. Writing the 'command_args' text by hand would be the best idea as then there would be no spaces where there shouldn`t, but laziness got the better of me (I did write it by hand once and had no issues, but the second time I did not).  

after removing the extra spaces (or line breaks?) form the initializing scrip, I ran '/etc/rc.d/urbackup_srv onestart' again: this time the server started, but again there was a problem with the path where the server was trying to store the backups (by default it seems this path is 'C:\urbackup' which is obviously wrong on Unix)  

I created the folder '/BACKUPS' in the root of the Jail and afterwards changed the ownership of this folder to urbackup user, via this command: 'chown urbackup /BACKUPS'  

Ran '/etc/rc.d/urbackup_srv onestart' again, now the error: 'ERROR: No permission to access "/BACKUPS/urbackup_tmp_files"' occured in the log of the program, but the   

Ran 'chown -R urbackup /BACKUPS' then '/etc/rc.d/urbackup_srv onestart' again and now no more errors occured in the log of the program -->> so the permissions were still wrong as I did not run the chown command correctly.  

Although now the server starts, a problem still remains: when urbackup starts it captures the console and you cannot enter other commands unless you close and start the console again. This would no be a problem, but for the fact that if you turn off the jail, when you turn it back on, other services (like SSH) do not start - this may be because urbackup prevents them.  

Again, the above log is for Unix noobs like me that might find anything useful from there; the rest of you just ignore it.

I will give the PBI a try and also post in FreeNAS forums and also add a feature request for UrBackup as an official plugin.
FreeNAS allready has a backup-related official plugin (bacula-sd), but this is useless to us as it does not do image backups (from all the information I was able to gather).
I find your program much more useful and easier to use and if it will be integrated as an official FreeNAS plugin, this killer combination might compete even with major commercial dedicated backup software (in my humble opinion). I hope you will not start charging $$$ for it when you will see that it brings down Acronis & co :) (or at least give use early adopters a discount ;) ).

I gave the PBI a try and here is the log I made:

Downloaded the PBI from here: http://sourceforge.net/projects/urbackup/files/Server/1.3.2PBI/urbackup-server-1.3.2PBI-amd64.pbi/download  

In FreeNAS I went to Plugins and uploaded the provided PBI - it installed itself  

The 'customplugin_1' jail was created - it would have been nice if the hostname and the name of the plugin would be something more descriptive (like 'urbackup')  

The Jail configured the IP automatically, and set Autostart and VIMAGE enabled (NAT disabled)  

service status is wrong and cannot be changed ('some error occurred' will appear if you click on service status to change it)  

when the plugin starts, this error is logged in FreeNAS: Couldn`t retrieve http://xxx.xxx.xxx.xxx/plugins/urbackup-server/1/_s/treemenu: HTTP Errror 502: Bad Gateway  

after the Jail and the plugin were installed and started, I browsed to the admin interface from the network and it showed up right away. Again, the error that the backup folder cannot be accessed (it is 'C:\backups' by default) - this should be changed on Linux/Unix  

I created a /BACKUPS folder in the Jail, changed in UrBackup settings the path to the backup folder and then restarted the Jail (I would have restarted the urbackup service from the Jail`s CLI, but now I do not know where it installed the urbackup start script).
restarting the jail results in the same error being logged in FreeNAS as above  

after the Jail restarts, the server is no longer accessible from the subnet  

Since I do not know where the urbackup server was installed and other variables, I will not try to debug this; also I cannot trust this to use in production as it is.  

I will go instead with manual Jail and with the manually compiled server as that way at least I can trust the server to start whenever I want it to and I also know the environment and the variables of the configurations I made.  

As you can see, it is nice that the PBI worked and it performed all the installation by itself and that the server even started up and was accessible at first. However, after restarting the Jail, it would not longer be accessible and I could not find the startup script.

There is another issue with the PBI way as it is right now - in order to be able to successfully use the server in production, it must be easily upgradeable too, without having to install it again separately.

Right now I will try to perform some more tests on the Jail that I successfully set up and see if backing up and restoring in various ways and different types of systems works flawlessly - then I will use that Jail in production.

If you will compile any other PBIs or an plugin for FreeNAS I would be happy to test it.

By the way - does anyone have any idea how can I make the script start silently (without capturing the CLI and outputting the log there)?

I’ve uploaded a new PBI ( https://sourceforge.net/projects/urbackup/files/Server/1.3.2PBI/ ) which does start at startup. In that folder there are also files to make it compile as a port (extract to a folder in /usr/ports ).

One can update it by uploading the plugin to the plugin jail. It overwrites the relevant files and keeps the database etc. .

If you add --daemon to your server binary arguments it will run in the background.

Thank you for the info: adding ‘–daemon’ fixed the issue where the startup script would capture the CLI. This way the Jail starts instantly along with all the services.

I will try the PBI when I will have some time - hopefully before tomorrow evening.

Hi again,

I tested the PBI from 30 Jan and it installed without issues and the Jail can be stopped and started and works OK - no problems here. (the plugin status cannot be changed of course, but I do not think you worked on that)

The web interface was accessible right away (but the default backup location was off again [C:\urbackup]) and my 1 client was discovered.

I also wanted to try “upgrading” the plugin, so I uploaded the PBI from 28 Jan, then uploaded the one from 30 Jan again and restarted the Jail. When the Jail started and the web interface was accessible, it seems that UrBackup reset itself (the backup location was one again the default one [C:\urbackup] and my 1 client was gone). I set the right backup path and restarted the Jail, but my client was not discovered anymore (granted, I had no backups of it).

I also wanted to compile UrBackup as a port, and for that I did the following (not sure I did the good thing):

  • ran ‘portsnap fetch’, ‘portsnap fetch extract’ and ‘portsnap fetch update’ - this created the /usr/ports folder (did not exist previously)

  • copied ‘urbackup-port3.tar.gz’ the /usr/ports folder

  • ‘cd /usr/ports’, ran ‘tar zxvf urbackup-port3.tar.gz’ -> this was a mistake as it overwrote some files in the root of /ports folder and this was bad

  • ran ‘portsnap fetch’, ‘portsnap fetch extract’ and ‘portsnap fetch update’ again which re-made the /ports folder as it should be

  • copied ‘urbackup-port3.tar.gz’ the /usr/ports/urbackup-port3 folder

  • ran ‘tar zxvf urbackup-port3.tar.gz’ in the /usr/ports/urbackup-port3 folder

  • ran ‘make’ -> it installed a bunch of things (I left all options as they were), but then it failed with the following error:

    -Wl,-soname -Wl,liburbackupserver_cryptoplugin.so.0 -o
    .libs/liburbackupserver_cryptoplugin.so.0
    /usr/bin/ld: /usr/local/lib/libcryptopp.a(iterhash.o): relocation R_X86_64_32 ag
    ainst `pthread_once’ can not be used when making a shared object; recompile with
    -fPIC
    /usr/local/lib/libcryptopp.a: could not read symbols: Bad value
    *** [liburbackupserver_cryptoplugin.la] Error code 1
    1 error
    *** [all] Error code 2
    1 error
    *** [all-recursive] Error code 1
    1 error
    *** [all] Error code 2
    1 error
    ===> Compilation failed unexpectedly.
    Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
    the maintainer.
    *** [do-build] Error code 1

    Stop in /usr/ports/urbackup-port3.

I guess cryptopp was not instructed to compile with ‘make CXXFLAGS="-fPIC"’ like it has to when compiling manually?


In the mean time, I have been using UrBackup (the one I manually compiled) in my network and I want to share some feedback.
My setup is this:
UrBackup Server v1.3.2 is running on a FreeNAS 9.2.0 system in a standard FreeBSD Jail and I have 3 clients that I am testing:
A VM with MS Windows XP x32
A VM with MS Windows 7 x64
A physical server running MS Server 2003 x32

The datastore the Jail with UrBackup has ZFS GZIP-9 compression enabled and since my server is quite good, performance is very good and so is the compression rate (2.67x overall for the dataset). For example, the C:\ partition of the Windows 7 VM has 16.7 GB full space (the partition itself is 40GB), but on the FreeNAS datastore, the VHD with a full backup of it measures only 6.6 GB. During Full Image backup operations I get speeds of ~ 60MB/sec average (with peaks over 95MB) - so this is when writing to the FreeNAS system, which is very nice.

I have noticed no issues with the Full or Incremental File Backups and I also had very good experience with backing up and bare-metal restoring partitions which fully occupied a whole HDD. However, I had the following problems:

  • Backing up of multiple partitions from the same HDD went OK, but when I tried to restore them I hit a snag: how do I do that if each restore of a partition will erase the whole destination HDD, regardless of the partitions I`ve just restored on it? So If I have 1 HDD with 3 partitions: C, D and E, I can restore 1 on that HDD and not the others. Since most PCs and servers are in this situation (they have at least 2 partitions on each HDD), I cannot actually perform a full bare-metal restore, but for just 1 partition - which is not good as for example I have a server that will not start properly without 3 partitions present at boot and if there is just 1 HDD to restore them to, how do I restore them all?

  • I backed up C:\ and D:\ from a VM, which were each on their own HDD and restore back of both partitions on those 2 HDDs (I deleted and formatted the HDDs before restoring) went flawlessly several times, both from Full Image Backups, as well as from Incremental backups. However, I then shrinked C:\ partition from one of the HDDs and created another partition (E:) on that HDD, alongside it, and also shrinked D:\ and made partitions F:\ and G:\ alongside it on that other HDD and initiated an incremental backup (added all partitons in the client settings) - from that moment on, Incremental Image of that system fails all the time - I`ll PM you a server log if you want to have a look at it. I have not yet tried a Full Image Backup yet, maybe that will solve the problems.

  • My server has multiple partitions on 2 HDDs and some of these partitions and extended. They seem to have backed up, but when I tried to restore (in a VM, not on the physical server), only C:\ partition restored OK (it was primary); all the others get stuck at “stuck at testing partition availability” in the Live CD during restoration (suing Live CD: urbackup_restore_1.1.iso), although I tried restoring them each on a separate HDD (do not know how I could restore them on the same HDD).

I did not had the time to examine deeply all the errors or to fiddle extensively with UrBackup; I will do this maybe next week some more - but even from these initial tests it would seem that UrBackup is not really usable if you do not have pretty standard and basic disk/partition configurations. I hope these can be fixed or worked around, as otherwise the ease of backing up and restoring (when it works) is unmatched.

Some other questions:

  • how are the incremental backups linked? If at some point an error occurs in one of the intermediary incremental backups will the final incremental backup be corrupted too? Or is this checked and solved by UrBackup? Are the intermediary backups ever verified for consistency?
  • I would be forced to manually use a VHD to restore a system myself or just to open it and copy some files and my recent backups would all be incremental, how could I mount/open the incremental VHDs? Do I need the original + all subsequent VHDs in the same folder and then would it be possible, or it is impossible to open an incremental VHD and need to use the latest Full Image VHD?

If/when you can find some time, maybe you can answer these questions.

Thank you for your patience and I look forward to testing improved versions of UrBackup!