Confuso sobre rsync, porta 873 e NAS

1

Estou tentando configurar um backup do meu NAS (QNAP TS-469 Pro) para o meu PC executando o Ubuntu 16.10, usando a "Estação de Backup" oferecida pelo NAS.

Se eu ssh para o NAS e executo os seguintes comandos, o rsync funciona:

touch file.txt                             # Create "file.txt" on the QNAP 
rsync file.txt username@ipaddress:~        # Backup "file.txt" on the backup PC

No entanto, ao configurar um backup a partir da GUI do NAS (em um navegador), recebo o erro

Invalid port number or the service is disabled.

Eu li algumas coisas sobre a porta 873 ou executando um daemon rsync, mas tudo isso é muito pouco claro para mim.

Por que a execução de rsync funciona manualmente, enquanto recebo um erro com a "Estação de backup"? É claro que, no final, estou interessado em fazer o trabalho de backup automático.

    
por anderstood 20.01.2017 / 21:23

2 respostas

1

O Rsync pode funcionar em dois modos diferentes:

  • via túnel SSH: a conexão rsync (para controle e transferência de dados) é tunelizada dentro de um túnel SSH (basicamente usando pipes). Devido à onipresença do acesso SSH e sua segurança, essa é a abordagem preferida. No entanto, para ser verdadeiramente transparente e automatizado (sem necessidade de senha), você tinha que configurar a autenticação RSA. Além disso, como todos os dados são criptografados pelo SSH, ele pode ser mais lento que a outra abordagem;
  • através do modo daemon (ou serviço): no sistema remoto, o rsync é executado como um daemon / serviço, escutando na porta TCP 873. Esse modo não possui criptografia integrada e, portanto, é mais rápido e menos seguro do que o túnel SSH. É o modo usado pelo QNAP para backups locais e remotos. Para permitir que a QNAP use o seu PC como alvo de backup (ou seja: backup do NAS no PC), você precisa habilitar o serviço rsync no seu PC . Embora não seja difícil, certamente é mais complexo que um simples túnel SSH. Você pode encontrar mais informações na Internet, por exemplo aqui .
por 20.01.2017 / 21:37
1

Você provavelmente está recebendo rsync over rsync vs rsync over ssh confused.

Rsync por SSH (usando sua configuração ssh)

rsync -av file.txt username@ipaddress:~

Este método atravessa um canal SSH e é criptografado.

Rsync sobre Rsync usando o protocolo rsync padrão

rsync -av file.txt ipaddress::myhome/.

O mais recente assume que você configurou o rsyncd.conf e iniciou o rsync como um daemon. Como um daemon, toda a autenticação / segurança é definida em rsyncd.conf e isso não usa criptografia.

A maneira fácil de identificar a diferença é os dois dois pontos após o endereço e o nome do compartilhamento após os dois-pontos.

Aqui está um exemplo muito simples e perigoso de rsyncd.conf (simples, porque root e permissões não são um problema. perigoso, porque rodando como root e não chroot)

uid = root
gid = root
use chroot = no
max connections = 64
lock file = /var/tmp/rsyncd.lock
syslog facility = local5
pid file = /var/tmp/rsyncd.pid 
strict modes = false
hosts allow = 192.168.120.2
timeout = 60
dont compress = *.xz *.gz *.tgz *.zip *.rpm *.bz2 *.7z *.rar *.jp* *.gif *.png *.avi *.mp* *.wmv *.asf *.flv *.m4v *.mkv *.mov *.ogm *.rm *.3g*
#refuse options = checksum delete
refuse options = delete
#
[myhome]
list = false
comment = "myhome"
path = /home/myself/mydir
read only = no

E aqui está eu começando o daemon:

#!/bin/bash
set -o posix
set -u
# keep nagios happy
renice 19 -p $$ > /dev/null 2>&1
ionice -c3 -p $$ > /dev/null 2>&1
rsync --daemon --ipv4 --address=192.168.120.1 --config=/home/myhome/rsyncd.conf --log-file=/dev/shm/rsync.log
    
por 20.01.2017 / 21:34