1 votos

¿Es posible hacer una copia de seguridad a través de Time Machine a SMB detrás de un NAT en puertos no estándar?

Tengo un servidor Linux con un SMB share Backup expuesto. Está conectado físicamente a una LAN a través de un enrutador. MacBook Pro conectado físicamente a la misma LAN a través del mismo enrutador puede conectarse, configurar Time Machine y hacer una copia de seguridad en este SMB share usando la IP de LAN del servidor Linux (por ejemplo, 192.168.X.X).

El enrutador también tiene una dirección WAN. El ISP bloquea las conexiones entrantes en los puertos 139 y 445 en el lado WAN, así que hice un NAT del puerto WAN:tcp:446 al puerto tcp:445 del servidor Linux.

Otro MacBook Pro en Internet quiere hacer una copia de seguridad en el mismo share. Puede conectarse al share como smb://usuario@IPWAN:446 a través de Finder, luego aparece un aviso del sistema con el usuario preinsertado, un campo para la contraseña y una casilla para guardar la contraseña en el Llavero. Después de proporcionar la contraseña, se conecta correctamente al servidor Linux y expone el share Backup y puedo ver, leer, editar, eliminar, crear, cambiar el nombre, etc. de los archivos y directorios en él a través de Finder.

Luego voy a la configuración de Time Machine, Elijo Disco, veo correctamente el share conectado y me permite elegirlo, solicita usuario y contraseña y ambos están preinsertados. Luego programa correctamente una copia de seguridad en 120 segundos.

Cuando pasan los 120 segundos o si ordeno una copia de seguridad manual en este momento, aparece un mensaje de autorización fallida y no se puede hacer una copia de seguridad.

Después de eso, todavía puedo hacer todo con el share en Finder, es decir, está funcionando completamente.

tmutil muestra que todo está bien.

$ tmutil destinationinfo
====================================================
Nombre          : Backup
Tipo          : Red
URL           : smb://usuario@IPWAN:446/Backup
Punto de Montaje   : /Volumes/Backup
ID            : {***GUID***}

los registros muestran estos errores específicos

$ log show --style syslog  --predicate 'senderImagePath contains[cd] "TimeMachine"' --info
...
2020-05-14 14:46:10.150565+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] Intentando montar 'smb://usuario@IPWAN:446/Backup'
2020-05-14 14:46:10.427385+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] NAConnectToServerSync falló con el error: 80 (Error de autenticación) para la URL: smb://usuario@IPWAN:446/Backup
2020-05-14 14:46:10.427395+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] Error de autenticación (80) - la información correcta de usuario o contraseña puede no existir en el Llavero del Sistema o el servidor ya no permite el acceso para este usuario.
2020-05-14 14:46:10.427414+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] Intentando montar URL alternativa 'smb://usuario@IPWAN:446/Backup'
2020-05-14 14:46:10.706242+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] NAConnectToServerSync falló con el error: 80 (Error de autenticación) para la URL alternativa: smb://usuario@IPWAN:446/Backup
2020-05-14 14:46:10.706249+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] Error de autenticación (80) - la información correcta de usuario o contraseña puede no existir en el Llavero del Sistema o el servidor ya no permite el acceso para este usuario.
2020-05-14 14:46:10.706328+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] Error de autenticación (80) - la información correcta de usuario o contraseña puede no existir en el Llavero del Sistema o el servidor ya no permite el acceso para este usuario.
2020-05-14 14:46:10.706771+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] La copia de seguridad falló con el error 29: Hubo un problema al autenticar con el destino.
2020-05-14 14:46:10.708332+0100  localhost backupd[2435]: (TimeMachine) [com.apple.TimeMachine:General] Solicitud de cancelación pendiente despejada.

El smb.conf es bastante simple

[global]
   use sendfile = yes
   store dos attributes = no
   server services = smb
   mangled names = no
   dos filetimes = no
   workgroup = MYGROUP
   server string = Samba Server
   server role = standalone server
   log file = /dev/stdout
   max log size = 50
   dns proxy = no 
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes
   create mask = 0660
   force create mode = 0000
   directory mask = 0770
   force directory mode = 0110
   force user = smbuser
   force group = smb
   follow symlinks = yes
   load printers = no
   printing = bsd
   printcap name = /dev/null
   disable spoolss = yes
   strict locking = no
   aio read size = 0
   aio write size = 0
   vfs objects = catia fruit streams_xattr
   client ipc max protocol = SMB3
   client ipc min protocol = SMB3_02
   client max protocol = SMB3
   client min protocol = SMB3_02
   server max protocol = SMB3
   server min protocol = SMB3_02
   fruit:delete_empty_adfiles = yes
   fruit:time machine = yes
   fruit:veto_appledouble = no
   fruit:wipe_intentionally_left_blank_rfork = yes

[Backup]
   path = /home/backup
   browsable = yes
   read only = no
   guest ok = no
   veto files = /.apdisk/.DS_Store/.TemporaryItems/.Trashes/desktop.ini/ehthumbs.db/Network Trash Folder/Temporary Items/Thumbs.db/
   delete veto files = yes

Si solo cambio guest ok = no a sí sin otros cambios y me conecto a smb://invitado@IPWAN:446 en lugar de usuario - la copia de seguridad funciona (obviamente, el acceso rw de invitados a través de Internet es una mala idea).

Si creo una VPN enrutada entre el MacBook Pro en Internet y el enrutador (L3, no L2, por lo que las transmisiones SMB no se ven), dejo guest ok = no y me conecto a smb://usuario@LANIP:445 con contraseña - la copia de seguridad funciona (es mucho más lento a través de la VPN, desafortunadamente, por eso estoy tratando de configurarlo sin).

Estoy perdido - no es un problema de autenticación, ya que puedo conectarme y hacer todo a través de Finder vía IPWAN con guest ok = no. No es un problema de privilegios, ya que puedo hacer una copia de seguridad a través de LANIP a través de VPN con guest ok = no. Parece no ser un problema de NAT, ya que puedo hacer una copia de seguridad a través de IPWAN con guest ok = sí.

He intentado reducir los requisitos de SMB3 a SMB2 - mismo comportamiento. He intentado eliminar todas las contraseñas del Llavero y reconectar, cambiar el nombre del share, cambiar IPWAN (para que no haya configuraciones guardadas en el MacBook Pro relacionadas con este share), mismo comportamiento.

¿Qué me falta? ¿Requiere el acceso no invitado NATear otro puerto? (No puedo NATear 137-139 ya que están bloqueados por el ISP.)

¡Agradecería mucho si pudieras ayudarme! ¡Gracias de antemano!

macOS Catalina 10.15.4 en MacBook Pro 13" 2018. Kernel de Linux 5.1.18. Samba 4.11.5.

1voto

neuen Puntos 1

Configurar esto en el cliente resolvió el problema

$ cat /etc/nsmb.conf
[default]
port445=no_netbios

0voto

Mike Wentworth Puntos 27

MacOS 12.1, puerto SMB personalizado

Estaba recibiendo el mismo "Error de autenticación (80) - la información correcta de usuario o contraseña puede que no exista en el System.keychain o el servidor puede que ya no permita el acceso para este usuario."

Era un problema de llavero. Después de agregar la ubicación, miré en Acceso a Llaveros y la ubicación de Time Machine, en 'donde' estaba guardado como smb://servidor/carpeta en vez de smb://servidor:puerto/carpeta

Así que agregué el puerto y ahora funciona.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X