Synology como copia de seguridad para FreeNAS

by Mayra Salas

Durante un tiempo había estado buscando un NAS secundario de algún tipo, preferiblemente barato, para actuar como copia de seguridad de mi servidor FreeNAS.

No tenía nada en particular en mente y estaba considerando varias unidades listas para usar.

Mientras navegaba por eBay tarde una noche, me topé con un Synology DS212j que iba muy barato y, debido al tiempo limitado restante, no investigué en absoluto y lo hice.

Al llegar, fue un poco difícil ponerse a trabajar hasta que descubrí que las tablas de particiones existentes en los discos duros que estaba usando estaban interfiriendo con el proceso de instalación. Después de limpiar las unidades y utilizar el software Synology Assistant para instalar la última versión de Synology DSM (6.0), finalmente pude acceder a la interfaz web.

A partir de ahí, creé el RAID, establecí el nombre de host y las diversas configuraciones de red y comencé a leer sobre la mejor manera de obtener mis datos en mi nuevo Synology NAS desde FreeNAS.

Desafortunadamente, aquí es donde comencé a tener problemas. Si bien Synology DSM admite rsync, no está exento de peculiaridades, como verá.

Usuarios, servicios, permisos y recursos compartidos

Synology

Personalmente, no me gusta usar la cuenta de administrador incorporada para la administración y, por lo tanto, creé una cuenta separada para mí. También creé otra cuenta de servicio separada con el único propósito de hacer copias de seguridad de rsync. Para usar rsync sobre ssh en lugar del módulo rsync, ambas cuentas deberán ser administradores.

A continuación, necesitaba habilitar los servicios requeridos.

El servicio rsync se puede habilitar navegando al Panel de control > Servicios de archivos > rsync y seleccionando «Habilitar servicio rsync». Al marcar esta opción, se crea un nuevo recurso compartido llamado «NetBackup» que no se puede eliminar ni renombrar sin deshabilitar el servicio rsync.

Luego habilité el servicio ssh navegando al Panel de control > Terminal y Terminal SNMP > y seleccionando «Habilitar servicio SSH».

Para permitir que la nueva cuenta de servicio rsync use realmente rsync, debe asignar el permiso de la aplicación, lo que se puede hacer yendo al Panel de control > Privilegios y editando los permisos rsync.

En lugar de usar el recurso compartido rsync predeterminado del sistema, decidí crear uno nuevo, dando a mi usuario rsync permisos completos. Aunque no pude eliminar el recurso compartido de NetBackup, pude configurarlo como oculto y eliminar todos los permisos.

En este punto, pude sincronizar manualmente los datos con el NAS.

FreeNAS

En FreeNAS, en lugar de configurar una tarea que se ejecuta bajo mi propia cuenta de usuario, decidí crear una nueva cuenta para este propósito. Necesitaba un directorio de inicio para la cuenta, así que creé un nuevo conjunto de datos en mi grupo llamado «home» para este propósito.

Llamé a la nueva cuenta rsync-backup y utilicé las siguientes opciones:

La opción de shell de inicio de sesión es temporal para fines de configuración y se eliminará más adelante.

Autenticación de clave SSH

Para la autenticación basada en clave ssh sin contraseña con rsync (necesaria para una tarea automatizada a menos que se use un archivo de contraseña), la cuenta de usuario en el dispositivo de destino debe tener un archivo que contenga la clave pública del remitente.~/.ssh/authorized_keys

Synology

Para crear esto, entré en Synology como mi cuenta rsync para crear el archivo, solo para descubrir que el usuario no tenía directorio de inicio. Encontré la ubicación correcta para el directorio de inicio de la siguiente manera:

rsync@Synology:~$ echo $HOME
/var/services/homes/rsync
rsync@Synology:~$ cat /etc/passwd | grep rsync
rsync:x:1027:100::/var/services/homes/rsync:/bin/sh

Luego pude crear el directorio y el archivo y establecer los permisos correctamente de la siguiente manera:

rsync@Synology:~$ sudo mkdir -p /var/services/homes/rsync/.ssh
rsync@Synology:~$ sudo chown -R rsync /var/services/homes/rsync
rsync@Synology:~$ touch /var/services/homes/rsync/.ssh/authorized_keys

Creo que es menos probable que este método se rompa debido a una actualización.

FreeNAS

Con la cuenta de usuario creada, ssh’d en mi caja FreeNAS como root y usé los siguientes comandos para cambiar a mi nueva cuenta rsync y crear las claves ssh que usaría para la autenticación.

root@FreeNAS:~$ su rsync-backup
rsync-backup@FreeNAS:~$ ssh-keygen # Do NOT set a password for this key
rsync-backup@FreeNAS:~$ cat .ssh/id_rsa.pub

Esto genera la clave pública recién creada que luego copié y pegué en el campo Clave pública para la cuenta de usuario rsync-backup en FreeNAS. También pegué esta clave en el archivo que creé anteriormente para el usuario rsync en el Synology NAS, ya que el comando no parece funcionar en FreeNAS.authorized_keysssh-copy-id

En este punto, era posible ssh desde la cuenta de usuario rsync-backup en FreeNAS a la cuenta rsync en Synology sin usar una contraseña:

rsync-backup@FreeNAS:~$ ssh 192.168.1.2 -l rsync # Substitute with the IP address of your Synology
The authenticity of host '192.168.1.2 (192.168.1.2)' cant be established.
ECDSA key fingerprint is SHA256:e10151907f4ff16abe68224c2377c441403aadc1051f75af482fbbc4d098f78c.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (ECDSA) to the list of known hosts.
rsync@Synology:~$ exit
logout
Connection to 192.168.1.2 closed.
rsync-backup@FreeNAS:~$ ssh 192.168.1.2 -l rsync
rsync@Synology:~$

Deberá hacerlo al menos una vez para agregar su Synology a la lista de hosts conocidos en el servidor FreeNAS o rsync fallará desde la GUI con el siguiente error:

Tarea Rsync

En este punto, todo estaba en su lugar para rsync sin contraseña a través de ssh desde mi servidor FreeNAS a mi Synology NAS.

Creé la tarea rsync en FreeNAS usando la documentación aquí de la siguiente manera:

Tareas > Tareas de sincronización > Agregar tarea de sincronización

Luego pude establecer el horario y probar la tarea seleccionándola y haciendo clic en «ejecutar ahora».

Con todo funcionando, volví y configuré el shell de inicio de sesión para el usuario de freeNAS rsync-backup en «nologin».

Esto parece estar funcionando bien y todavía no he tenido un fracaso.

NB: Los nombres de host, nombres de usuario, direcciones IP, rutas y pubkey / huellas dactilares se cambiaron para los fines de esta publicación. Por favor, sustitúyalo por el suyo.

Utilizo el editor vi tanto en FreeNAS como en Synology, ya que está disponible y estoy familiarizado con él. Siéntase libre de usar el editor o su elección

Related Posts

Leave a Comment