16.04 CIFS "L'hôte est en panne" mais ils ne le sont pas

27

J'ai ma configuration CIFS dans fstab et ils fonctionnent comme ils sont censés démarrer. Ils montent comme ils le devraient et travaillent pendant un certain temps. De nulle part, il semble (pourrait être après le déverrouillage de la machine, etc.) que j'obtiens l'erreur "L'hôte est en panne" en essayant d'y accéder. J'en ai plusieurs et ils sont tous en panne. Ils sont également partagés depuis le même serveur. En ce moment, je vérifie un ordinateur Windows et une machine 14.04 obsolète et ils fonctionnent comme ils sont censés le faire. Après avoir cliqué sur les partages dans nautilus et obtenu des erreurs répétées, ils recommenceront à fonctionner. Pour accéder à un partage qui est "en panne", il faut environ 2 à 3 minutes pour cliquer de manière aléatoire sur différents montages et revenir au premier lorsque automatiquement il affiche les données dans le point de montage.

Je n'ai pas ce problème sur les machines 14.04 qui n'ont pas été mises à jour depuis longtemps. Toutes ces machines sont entièrement fonctionnelles et le CIFS ne descend jamais. Le 16.04, ce n'était plus un problème plus récemment.

Je me suis assuré de mettre à jour tous les deux jours et j'ai nettoyé les anciens en-têtes Linux (avec le recul, j'aurais probablement dû revenir). Je le fais parce que je mendie pour qu'un correctif apparaisse, mais cela fait des semaines de lutter contre les montures CIFS sans aucune solution.

DevinM
la source
J'ai exactement le même problème. Récemment commencé il y a quelques semaines. Tu as de la chance?
Ian H
Non, toujours confronté au même problème. Utilisez-vous gnome-shell par hasard? Je commence à me demander si ce fut le tournant parce que j'ai un ordinateur portable qui était ok jusqu'à gnome-shell
DevinM
Non, j'utilise urxvt. Je pense que c'est un bug dans le fusible.
Ian H
Connexes - serverfault.com/a/842686/301458
David Refoua

Réponses:

14

Je fais face au même problème. Il semble que cela ait quelque chose à voir avec les dernières versions du noyau et la samba.

J'ai réussi à résoudre ce problème en ajoutant vers = 2.0 aux commandes de montage (ou à la fin de chaque ligne fstab)

josepcoves
la source
3
Pourriez-vous peut-être essayer de rendre cela plus clair pour les autres? Montrez la ligne de votre fstab ou shell et expliquez pourquoi cela aide?
Zanna
Bonjour, j'ai appliqué cette solution de contournement en suivant les étapes indiquées sur le tableau de bord: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1687273
josepcoves
Je teste ce correctif maintenant. Jusqu'ici tout va bien. Si cela fonctionne encore d'ici demain, j'accepterai cela comme réponse. Merci pour l'info!
DevinM
Ne fonctionne pas pour moi - pouvez-vous poster ce que vous avez fait? Comment savoir quel numéro de version utiliser?
hippyjim
4
Comme c'est la réponse acceptée, il convient peut-être de mentionner que tester les valeurs valides pour versdonnerait les meilleurs résultats, au lieu de recommander une version de protocole particulière (qui ne fonctionnera pas sur des serveurs obsolètes). Commencez avec une version à protocole élevé et descendez un par un. Si vous vous retrouvez avec vers=1.0le serveur distant, il peut être nécessaire de mettre à niveau (si possible) ou autrement sécurisé.
0xC0000022L
38

Après de nombreux tests, l'ajout vers=1.0de la ligne de montage semble résoudre le problème. Le montage fonctionne maintenant sur Ubuntu 17.10 comme il l'a fait pendant des années sur les anciennes versions d'Ubuntu.

Stéphane PIOTROWSKI
la source
3
Après de nombreux essais x 10, c'est la seule solution qui a fonctionné. vers=2.0n'a pas fonctionné.
Olivier Pons du
Je ne connais pas vers = 1.0 vs 2.0 ou 3.0, et je ne trouve aucune mention dans les pages de manuel, mais cela a fonctionné pour moi.
Greg Chabala
3
//192.168.1.222/volume_1 / media / nas cifs username = ****, password = ****, vers = 1.0
Steven
@GregChabala: peut-être vérifier par mount.cifs(8)exemple avec man 8 mount.cifs? Avec la mount.cifsversion 6.8 (du cifs-utilspackage), la page de manuel contient une mention de vers=arg.
0xC0000022L
vers=1.0travaillé dans mon cas.
Sohel Pathan
7

J'ai moi-même rencontré le même problème, je voulais monter automatiquement en utilisant la méthode trouvée dans le wiki Ubuntu ( https://wiki.ubuntu.com/MountWindowsSharesPermanently ) bien que j'ai le même problème que celui indiqué ci-dessus:mount error(112): Host is down

La chose est ce qui m'a aidé vers=3.0à ajouter au et des options:

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

Il semble donc que cela ne fonctionne maintenant que si vous contournez SMB1 et utilisez un autre spécifié, SMB3 a fonctionné pour moi, donc je n'ai rien essayé d'autre.

J'ai utilisé un compte local sur la machine Windows, pas un avec le nom de domaine Outlook.com car j'ai lu quelque chose qui pourrait également provoquer des conflits.

user695658
la source
il semble qu'une récente mise à jour de la version 16232.rs_prerelease.170624-1334 de prévisualisation d'initiés de Windows 10 Pro incluait une modification qui m'obligeait à ajouter vers=3.0pour monter un partage qui fonctionnait auparavant sans.
dylan oliver
6

D'autres ont déjà fait allusion à la solution, mais il peut être utile d'expliquer brièvement la raison.

mount.cifs dans Ubuntu 16.04 utilise le protocole SMB1 par défaut.

Dans les versions ultérieures de mount.cifs, la version SMB par défaut est 2.1 ou 3.0.

Les serveurs Windows actuels ne prennent plus en charge le protocole SMB 1.0, sauf s'ils sont spécifiquement configurés dans leur registre pour l'accepter. Par conséquent, par défaut, ils rejettent les connexions des clients utilisant le protocole SMB1. Ce qui conduit au message trompeur "L'hôte est en panne".

Mais certains systèmes plus anciens (le plus souvent des NAS) ne prennent pas en charge les protocoles 2.1 ou 3.

La solution est de dire mount.cifsd'utiliser le bon protocole pour se connecter à votre serveur, en utilisant l' vers=option. Par exemple, pour vous connecter à une machine Windows 10:

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

ou vers un ancien NAS d'Ubuntu 18.04 ou version ultérieure:

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

De man mount.cifs(dans 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 vous définissez votre monture dans /etc/fstab, cela pourrait ressembler à ceci:

//server/share  /mnt/share  cifs  defaults,vers=3.0,...your_other_options...,nofail,x-systemd.device-timeout=15 0 0
mivk
la source
cifs vers = 1.0, credentials = / root / .smbcredentials, a fonctionné pour moi en 18.04 LTS. L'inclusion de «valeurs par défaut» dans fsatb a généré une erreur d'analyse, donc la suppression de ce texte a évité l'erreur.
Graham
@Graham smb1 est extrêmement obsolète et dangereux. C'est aussi plus lent. Essayez d'obtenir au moinsvers=2.1
Joel Coehoorn
@JoelCoehoorn mais le vers = 1.0 fonctionnait alors que les versions ultérieures ne fonctionnaient pas ... J'ai commencé à 3 et j'ai changé le vers le bas jusqu'à ce que 1.0 fonctionne. Depuis lors, absolument aucun problème.
Graham
@Graham Ensuite, vous devez corriger l'hôte auquel vous vous connectez pour qu'il prenne en charge smb2.1 ou version ultérieure. SMB1.0 est vraiment mauvais .
Joel Coehoorn
@JoelCoehoorn J'ai suivi les conseils contenus dans ce fil: serverfault.com/questions/414074/mount-cifs-host-is-down pour résoudre le problème. Je viens de réessayer vers = 3.0 et la même erreur persiste et le lecteur ne monte pas. Qu'est-ce qui est si terrible avec vers = 1.0?
Graham
0

J'ai eu le même problème après une mise à jour client de cifs-utils en 6.7-2. Et fondamentalement, la solution de josepcoves et user695658 a fonctionné pour moi. Mais seule la valeur 1.0 pour l'option de montage «vers» a fonctionné pour moi. Il semble que la valeur par défaut du paramètre «vers» ne soit plus 1.0.

dev-null
la source
Ceci est un double de la réponse acceptée.
karel