16.04 CIFS "Host está inactivo" pero no están

27

Tengo mi configuración CIFS en fstab y están funcionando como se supone que deben arrancar. Se montan como deberían y trabajan por un tiempo. Parece que de la nada (podría ser después de desbloquear la máquina, etc.) aparece el error "El host está inactivo" al intentar acceder. Tengo múltiples y todos están caídos. También se comparten desde el mismo servidor. En este momento, verifico en una computadora con Windows y una máquina 14.04 obsoleta y están en funcionamiento como se supone que deben hacerlo. Después de hacer clic en los recursos compartidos en nautilus y obtener errores repetidos, comenzarán a funcionar nuevamente. Para acceder a un recurso compartido que está "inactivo", se necesitan unos 2-3 minutos para hacer clic al azar en diferentes montajes y volver al primero cuando muestra automáticamente los datos en el punto de montaje.

No tengo este problema en las máquinas 14.04 que no se han actualizado en mucho tiempo. Todas esas máquinas son completamente funcionales y los CIFS nunca se "caen". El 16.04 no fueron un problema hasta más recientemente.

Me he asegurado de actualizar cada dos días y he limpiado los viejos encabezados de Linux (a simple vista, probablemente debería haber revertido). Hago esto porque estoy suplicando que solo aparezca una solución, pero han pasado semanas luchando contra los montajes CIFS sin ninguna solución.

DevinM
fuente
Estoy teniendo exactamente el mismo problema. Recientemente comenzó hace unas semanas. ¿Alguna suerte?
Ian H
No, todavía enfrenta el mismo problema. ¿Estás ejecutando gnome-shell por casualidad? Estoy empezando a preguntarme si este fue el punto de inflexión porque tengo una computadora portátil que estaba bien hasta gnome-shell
DevinM
No, yo uso urxvt. Creo que esto es un error en el fusible.
Ian H
Relacionado - serverfault.com/a/842686/301458
David Refoua

Respuestas:

14

Estoy enfrentando el mismo problema. Parece que tiene algo que ver con las versiones más recientes de Kernel y samba.

He logrado resolver esto agregando vers = 2.0 en los comandos de montaje (o al final de cada línea fstab)

josepcoves
fuente
3
¿Podrías intentar aclarar esto para los demás? Muestre la línea de su fstab o shell y explique por qué ayuda.
Zanna
Hola, apliqué esta solución siguiendo los pasos indicados en el launchpad: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1687273
josepcoves
Estoy probando esta solución ahora. Hasta aquí todo bien. Si todavía funciona para mañana, aceptaré esto como respuesta. Gracias por la info!
DevinM
No funciona para mí, ¿puedes publicar lo que hiciste? ¿Cómo saber qué número de versión usar?
hippyjim
44
Como esta es la respuesta aceptada, quizás debería mencionar que probar los valores válidos para versproduciría los mejores resultados, en lugar de recomendar una versión de protocolo particular (que no funcionará en servidores obsoletos). Comience con una versión de alto protocolo y baje uno por uno. Si termina con vers=1.0el servidor remoto, es posible que tenga que actualizarlo (si es posible) o protegerlo de otra manera.
0xC0000022L
38

Después de muchas pruebas, agregar vers=1.0la línea de montaje parece solucionar el problema. El montaje funciona ahora en Ubuntu 17.10 como lo hizo durante años en versiones anteriores de Ubuntu.

Stéphane PIOTROWSKI
fuente
3
Después de muchos x 10 intentos, esta es la única solución que funcionó. vers=2.0no funcionó
Olivier Pons
No sé acerca de vers = 1.0 vs 2.0 o 3.0, y no puedo encontrar ninguna mención en las páginas de manual, pero esto funcionó para mí.
Greg Chabala
3
//192.168.1.222/volume_1 / media / nas cifs username = ****, password = ****, vers = 1.0
Steven
@GregChabala: tal vez echa un vistazo, mount.cifs(8)es decir, con man 8 mount.cifs? Con la mount.cifsversión 6.8 (del cifs-utilspaquete) la página del manual contiene una mención de vers=arg.
0xC0000022L
vers=1.0Trabajó en mi caso.
Sohel Pathan
7

Yo mismo he enfrentado el mismo problema, quería montar automáticamente usando el método que se encuentra en el wiki de Ubuntu ( https://wiki.ubuntu.com/MountWindowsSharesPermanently ) aunque tengo el mismo problema que se indicó anteriormente:mount error(112): Host is down

Lo que me ayudó fue agregar vers=3.0en las opciones y:

//servername/sharename /media/windowMBsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8,sec=ntlm,vers=3.0 0 0

Parece que ahora solo funciona si omites SMB1 y usas otro especificado, SMB3 funcionó para mí, así que no he intentado nada más.

He usado una cuenta local en la máquina de Windows, no una con el nombre de dominio outlook.com, ya que he leído algo que también podría causar conflictos.

usuario695658
fuente
parece que una actualización reciente de Windows 10 pro insider preview build 16232.rs_prerelease.170624-1334 incluyó un cambio que requirió agregar vers=3.0para montar un recurso compartido que anteriormente funcionaba sin él.
dylan oliver
6

Otros ya han insinuado la solución, pero puede valer la pena explicar brevemente la razón.

mount.cifs en Ubuntu 16.04 usa el protocolo SMB1 por defecto.

En versiones posteriores de mount.cifs, la versión SMB predeterminada es 2.1 o 3.0.

Los servidores actuales de Windows ya no admiten el protocolo SMB 1.0, a menos que estén configurados específicamente en su registro para aceptarlo. Entonces, de manera predeterminada, rechazan las conexiones de los clientes que utilizan el protocolo SMB1. Lo que lleva al mensaje engañoso "Host está inactivo".

Pero algunos sistemas más antiguos (más a menudo NAS) no son compatibles con los protocolos 2.1 o 3.

La solución es decirle mount.cifsque use el protocolo correcto para conectarse a su servidor, usando la vers=opción. Por ejemplo, para conectarse a una máquina con Windows 10:

mount -t cifs ... -o vers=3.0,...

o a un viejo NAS de Ubuntu 18.04 o posterior:

mount -t cifs ... -o vers=1.0,...

De man mount.cifs(en Ubuntu 16.04):

   vers=
       SMB protocol version. Allowed values are:

       ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

       ·   2.0 - The SMBv2.002 protocol. This was initially introduced in
           Windows Vista Service Pack 1, and Windows Server 2008. Note
           that the initial release version of Windows Vista spoke a
           slightly different dialect (2.000) that is not supported.

       ·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft
           Windows 7 and Windows Server 2008R2.

       ·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft
           Windows 8 and Windows Server 2012.

       Note too that while this option governs the protocol version used,
       not all features of each version are available.

Si define su montura /etc/fstab, podría verse así:

//server/share  /mnt/share  cifs  defaults,vers=3.0,...your_other_options...,nofail,x-systemd.device-timeout=15 0 0
mivk
fuente
cifs vers = 1.0, credenciales = / root / .smbcredentials, funcionó para mí en 18.04 LTS. La inclusión de "valores predeterminados" en fsatb generó un error de análisis, por lo que eliminar ese texto evitó el error.
Graham
@Graham smb1 es extremadamente anticuado y peligroso. También es más lento. Intenta llegar al menosvers=2.1
Joel Coehoorn
@JoelCoehoorn pero vers = 1.0 funcionó, mientras que las versiones posteriores no ... Comencé a las 3 y cambié las versiones anteriores hasta que 1.0 funcionó. Desde entonces absolutamente no hay problemas.
Graham
@Graham Luego, debe reparar el host al que se está conectando para que sea compatible con smb2.1 o posterior. SMB1.0 es realmente malo .
Joel Coehoorn
@JoelCoehoorn Seguí los consejos contenidos en este hilo: serverfault.com/questions/414074/mount-cifs-host-is-down para resolver el problema. Acabo de probar vers = 3.0 nuevamente y el mismo error persiste y la unidad no se monta. ¿Qué tiene de terrible vers = 1.0?
Graham
0

Tuve el mismo problema después de una actualización del cliente de los cifs-utils a 6.7-2. Y básicamente la solución de josepcoves y user695658 funcionó para mí. Pero solo el valor 1.0 para la opción de montaje 'vers' funcionó para mí. Parece que el valor predeterminado para el parámetro 'vers' ya no es 1.0.

dev-null
fuente
Este es un duplicado de la respuesta aceptada.
karel