Extraño comportamiento de rsync entre debian y truenas

Extraño comportamiento de rsync entre debian y truenas

Quiero usar rsync para hacer una copia de seguridad de los datos del servidor web en Truenas. El servidor web ejecuta Debian 11 y Truenas está en 12.0-U5. La copia de seguridad se guarda en el servidor web en un formato cifrado utilizando restic. Como ya está cifrado, quiero usar rsync directamente para evitar la sobrecarga de ssh.

En Debian, rsync está en la versión 3.2.3 y en Truenas 3.1.3 ahora cuando uso

rsync -rdt rsync://rsync@truenas

De vez en cuando, un compañero restablece la conexión

rsync: [Receiver] safe_read failed to read 1 bytes: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.2.3]

Esto sucede como 3, 4 o 5 veces y luego la transferencia funciona.

rsync -rdt rsync://rsync@truenas
web_backup      
db_backup 

Encendí tcpdump para ver qué pasa. El cliente envía la misma cadena todo el tiempo, pero el rsync de Truenas a veces responde y a veces restablece la conexión ([R]-Flag):

Transferencia exitosa:

12:26:44.035035 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 66)
    truenas.873 > webserver.58482: Flags [P.], cksum 0x2e81 (correct), seq 1:15, ack 15, win 1027, options [nop,nop,TS val 2820912976 ecr 2728215840], length 14
E..B..@[email protected]...:.c...........
.#.P..E @RSYNCD: 31.0

12:26:44.035098 IP (tos 0x0, ttl 63, id 53872, offset 0, flags [DF], proto TCP (6), length 52)
    webserver.58482 > truenas.873: Flags [.], cksum 0xd829 (correct), ack 15, win 502, options [nop,nop,TS val 2728215841 ecr 2820912976], length 0
E..4.p@.?.....n......r.i.:.c.y.......).....
..E!.#.P
12:26:44.035127 IP (tos 0x0, ttl 63, id 53873, offset 0, flags [DF], proto TCP (6), length 53)
    webserver.58482 > truenas.873: Flags [P.], cksum 0xce20 (correct), seq 15:16, ack 15, win 502, options [nop,nop,TS val 2728215841 ecr 2820912976], length 1
E..5.q@.?.....n......r.i.:.c.y....... .....
..E!.#.P

12:26:44.035218 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 69)
    truenas.873 > webserver.58482: Flags [P.], cksum 0x56b7 (correct), seq 15:32, ack 16, win 1027, options [nop,nop,TS val 2820912976 ecr 2728215841], length 17
E..E..@[email protected]...:.d....V......
.#.P..E!web_backup      

12:26:44.035226 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 83)
    truenas.873 > webserver.58482: Flags [FP.], cksum 0xa8e8 (correct), seq 32:63, ack 16, win 1027, options [nop,nop,TS val 2820912976 ecr 2728215841], length 31
E..S..@.@..?......n..i.r.y.!.:.d...........
.#.P..E!db_backup       
@RSYNCD: EXIT

Transferencia fallida:

12:26:50.724628 IP (tos 0x0, ttl 63, id 469, offset 0, flags [DF], proto TCP (6), length 66)
    webserver.58532 > truenas.873: Flags [P.], cksum 0x98eb (correct), seq 1:15, ack 1, win 502, options [nop,nop,TS val 2728222530 ecr 633812564], length 14
E..B..@.?..{..n........iB.'.M..............
.._B%.6T@RSYNCD: 31.0

12:26:50.724972 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    truenas.873 > webserver.58532: Flags [R], cksum 0x43ae (correct), seq 1292349879, win 0, length 0
E..(..@[email protected].........
12:26:50.725398 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 66)
    truenas.873 > webserver.58532: Flags [P.], cksum 0x96d0 (correct), seq 1:15, ack 15, win 1027, options [nop,nop,TS val 633812564 ecr 2728222530], length 14
E..B..@[email protected].'............
%.6T.._B@RSYNCD: 31.0

12:26:50.725470 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    webserver.58532 > truenas.873: Flags [R], cksum 0xd85b (correct), seq 1123821333, win 0, length 0
E..(..@.?..j..n........iB.'.....P....[..

El registro de Truenas no muestra nada más:

Sep  3 12:26:44 truenas 1 2021-09-03T12:26:44.030844+02:00 truenas.local rsyncd 10028 - - connect from UNDETERMINED (webserver)
Sep  3 12:26:44 truenas 1 2021-09-03T12:26:44.031075+02:00 truenas.local rsyncd 10028 - - module-list request from UNDETERMINED (webserver)
Sep  3 12:26:50 truenas 1 2021-09-03T12:26:50.721209+02:00 truenas.local rsyncd 10032 - - connect from UNDETERMINED (webserver)
Sep  3 12:26:50 truenas 1 2021-09-03T12:26:50.721447+02:00 truenas.local rsyncd 10032 - - rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (54)
Sep  3 12:26:50 truenas 1 2021-09-03T12:26:50.721476+02:00 truenas.local rsyncd 10032 - - rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.3]

¿Que esta pasando aqui?

Respuesta1

Intente utilizar una versión anterior y la misma de rsync en su Debian (viejo estable). Porque TrueNAS-13.1-RELEASE utiliza la versión 31 del protocolo rsync versión 3.1.3.Parecela versión más reciente con soporte para FreeBSD ACL en funcionamiento (202112). TambiénProblemas actuales y depuración de rsync.

información relacionada