Windows 10 no puede conectarse a recursos compartidos de Linux Samba, excepto desde SMB1/CIFS

Windows 10 no puede conectarse a recursos compartidos de Linux Samba, excepto desde SMB1/CIFS

Tengo un problema en Windows 10 para acceder a algunos recursos compartidos de Linux Samba con el siguiente error:

Check the spelling of the name. Otherwise, there might be a problem with your network. To try to identify and resolve network problems click Diagnose.
Error code: 0x80070035
The network path was not found

Puedo navegar con éxito desde un openSUSE 12.1 antiguo que usa solo SMB1/CIFS pero no desde un openSUSE Leap 15 más reciente, excepto si fuerzoTE1protocolo (es decir, para SMB1/CIFS) en su lado, en/etc/samba/smb.conf globalsección:

[global]
...
min protocol = NT1
max protocol = NT1

Para información, por defectoprotocolo mínimoesLANMAN1yprotocolo máximoesSMB3, ese rango entonces incluyeTE1protocolo (ver¿Valores mínimos y máximos del protocolo SMB disponibles?):

$ testparm --parameter-name="min protocol"
[...]
LANMAN1
$ testparm --parameter-name="max protocol"
[...]
SMB3

Y puedo acceder a estas carpetas compartidas desde otra computadora Linux sin forzar el protocolo con el siguiente comando, por ejemplo, puedo enumerar carpetas:

smbclient -L MyLeap15Computer -N

O conéctese a la carpeta compartida tmp con:

smbclient //MyLeap15Computer /tmp -N

También confirmé que SMB2 y 3 están realmente activos conCómo detectar, habilitar y deshabilitar SMBv1, SMBv2 y SMBv3 en Windows, y también pude acceder a ellos desde otro Windows 10. Y desde la computadora en la que no puedo acceder a ellos, hago ping con éxito a MyLeap15Computer.

De todos modos, técnicamente puedo acceder a mis carpetas compartidas forzando el protocolo NT1, pero como debería ser posible, quiero poder acceder a ellas desde SMB2 o SMB3 ya que hay problemas de seguridad en SMB1/CIFS (y luego desactivarlo también en Windows 10). ), además como puedo acceder a ellos desde otro Windows 10 sin forzar este protocolo entonces debería haber algo en la configuración de Windows pero no logro ver cuál ya que todo aparece activo en ambos.

Y finalmente, aunque el problema parece estar más en el lado del cliente, aquí está la configuración del servidor./etc/samba/smb.confsin obligar aTE1protocolo (esta configuración acepta usuarios invitados, entonces no es necesario proporcionar credenciales para la conexión):

[global]
workgroup = WORKGROUP
passdb backend = tdbsam
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = bad user
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = yes
usershare max shares = 100
winbind offline logon = yes
winbind refresh tickets = yes
create mask = 777
directory mask = 777
delete readonly = yes

[tmp]
comment = Temp folder
path = /tmp
browseable = yes
writable = yes
read only = no
guest ok = yes
mangled names = no

Editar: aquí hay más información después de lo sugerido por @JW0914, lo sugerido no funcionó pero encontré algo interesante en los registros del servidor (agregadonivel de registro = 3a/etc/samba/smb.conf globalsección luego miró/var/log/samba/log.smbddespués de haber intentado la conexión):

  check_ntlm_password:  Checking password for unmapped user [DOMAIN]\[USER]@[Windows10Computer] with the new password interface
[2020/02/05 14:21:23.845849,  3] ../source3/auth/auth.c:192(auth_check_ntlm_password)
  check_ntlm_password:  mapped user is: [DOMAIN]\[USER]@[Windows10Computer]
[2020/02/05 14:21:23.845879,  3] ../source3/auth/check_samsec.c:399(check_sam_security)
  check_sam_security: Couldn't find user 'USER' in passdb.
[2020/02/05 14:21:23.845890,  2] ../source3/auth/auth.c:332(auth_check_ntlm_password)
  check_ntlm_password:  Authentication for user [USER] -> [USER] FAILED with error NT_STATUS_NO_SUCH_USER, authoritative=1
[2020/02/05 14:21:23.845910,  2] ../auth/auth_log.c:760(log_authentication_event_human_readable)
  Auth: [SMB2,(null)] user [DOMAIN]\[USER] at [Wed, 05 Feb 2020 14:21:23.845900 CET] with [NTLMv2] status [NT_STATUS_NO_SUCH_USER] workstation [Windows10Computer] remote host [ipv4:172.168.0.69:56937] mapped to [DOMAIN]\[USER]. local host [ipv4:172.168.0.99:445]
[...]
  No such user USER [DOMAIN] - using guest account
[2020/02/05 14:21:23.847182,  3] ../source3/smbd/server_exit.c:244(exit_server_common)
  Server exit (NT_STATUS_CONNECTION_RESET)

Veo que el servidor está intentando autenticarse con el usuario que inició sesión en Windows 10, pero como no existe, vuelve al usuario invitado, pero la conexión se restablece justo después. En el otro lado, con una computadora para la cual está funcionando, cuando inicio sesión con el mismo dominio/usuario y accedo exitosamente tengo los mismos registros (diferente nombre de computadora e IP) pero al final:

  No such user USER [DOMAIN] - using guest account
[2020/02/05 14:43:21.147396,  3] ../lib/util/access.c:365(allow_access)
  Allowed connection from 192.168.0.77 (192.168.0.77)

Lo estoy investigando pero me alegraría que alguien tuviera alguna idea de lo que está pasando.

Editar2: después de un vistazo rápido encontré una solución alternativaActualización de otoño de Windows 10 y cuenta de invitado de sambapero al intentaruso netocomando Tengo el siguiente problema, entonces esta es mi empresa que puede haber cambiado la seguridad en la computadora más nueva (ambas utilizadas están en el mismo dominio pero la que no funciona proviene de una instalación más nueva):

You can't access this shared folder because your organization's security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.

Gracias

Respuesta1

En mi caso (Windows 10, antiguo Samba 4.2.10 en CentOS 6), lo que ayudó fue configurar el protocolo mínimo en SMB2 y el protocolo máximo en SMB3:

[global]

min protocol = SMB2
max protocol = SMB3

client min protocol = SMB2
client max protocol = SMB3

client ipc min protocol = SMB2
client ipc max protocol = SMB3

server min protocol = SMB2
server max protocol = SMB3

Y luegoconectando el recurso compartido como una unidad de red ( Explorer -> Home -> Easy access -> Map as drive), ingresando el nombre del recurso compartido ( \\1.2.3.4\ShareName), marcando "Conectar usando diferentes credenciales", luego Otro, e ingresa el nombre de usuario en el formatoDOMAIN\username.

Al intentar acceder al recurso compartido en Explorer, nunca me pedía credenciales ni pude especificar el nombre de usuario net use \\shareserver\data /user:testuser(obtuve el error del sistema 58).

Respuesta2

¡Correr smbpasswd -a useres crucial aquí!

Mi carrera smb.conf:

[global]
    client max protocol = SMB3
    name resolve order = wins lmhosts host bcast
    security = USER
    username map = /etc/samba/smbusers
    idmap config * : backend = tdb

[rootfs]
    create mask = 0644
    force group = root
    force user = root
    path = /
    read only = No

Respuesta3

Finalmente, gracias aNo puedo acceder a la carpeta compartida debido a las políticas de seguridad de la organización, encontré una manera de anular esto:

  • de regeditir aHKLM\SOFTWARE\Policies\Microsoft\Windows
  • Cree una nueva clave LanmanWorkstationy dentro de ella un nuevo DWORD nombrado AllowInsecureGuestAuthcon valor1
  • Reiniciar

Por supuesto, no puedo prescindir de la aprobación de su empresa. Solo lo hice para probar, pero estoy trabajando con nuestro departamento de TI para ver cómo podemos gestionarlo.

Respuesta4

En mi caso, deshabilitar las conexiones en el puerto 139/TCP ayudó mucho para el error 0x80070035 en la primera conexión del cliente Windows 10 a samba Ubuntu 20.04.

[global]
...
smb ports = 445
...

Ahora las conexiones al servidor samba desde las PC con Windows 10 de mi hogar son más rápidas que nunca.

Pero realmente no sé qué efectos secundarios traerá esto.

información relacionada