16.04 CIFS "Хост вниз", але їх немає


27

У мене встановлення CIFS у fstab, і вони працюють так, як належить під час завантаження. Вони монтуються як слід і деякий час працюють. Здається, нізвідки (це може бути після розблокування машини тощо), я отримую помилку "Хост вниз", намагаючись отримати доступ до нього. У мене кілька, і всі вони вниз. Вони також спільно використовуються з одного сервера. В цей час я перевіряю на комп'ютері з Windows і застарілою машиною 14.04, і вони працюють і працюють як слід. Після натискання на акції nautilus і повторення помилок вони просто почнуть працювати знову. Для доступу до пайової частини, що знаходиться вниз, потрібно приблизно 2-3 хвилини випадкового клацання різних кріплень і повернення до першого, коли автоматично воно показує дані в точці монтажу.

У мене немає цієї проблеми на 14,04 машинах, які не оновлювались протягом певного часу. Всі ці машини є повністю функціональними, і CIFS ніколи не знижується. 16.04 вони не були проблемою ще зовсім недавно.

Я переконався, що оновлююсь через день і очистив старі заголовки Linux (з огляду, я, мабуть, повинен був повернутись). Я роблю це, тому що я благаю, щоб виправлення було просто з'явлене, але минули тижні боротьби з кріпленнями CIFS без жодного рішення.


У мене виникає точно таке саме питання. Нещодавно розпочався кілька тижнів тому. Будь-яка удача?
Ян H

Ні, все ще стикається з тим же питанням. Чи використовуєте ви gnome-shell абсолютно випадково? Я починаю цікавитись, чи це переломний момент, тому що у мене ноутбук, який був нормальний до gnome-shell
DevinM

Ні, я використовую urxvt. Я думаю, це помилка в запобіжниках.
Ян H

Відповіді:


14

Я зіткнувся з тією ж проблемою. Здається, це має щось спільне з новітніми версіями Kernel та самбою.

Мені вдалося вирішити це, додавши vers = 2.0 у команди mount (або в кінці кожного рядка fstab)


3
Чи можете ви спробувати зробити це зрозумілішим для інших? Покажіть рядок зі свого fstab або shell і поясніть, чому це допомагає?
Занна

Привіт, я застосував цей спосіб вирішення наступних кроків, зазначених на панелі запуску: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1687273
josepcoves

Я зараз тестую це виправлення. Все йде нормально. Якщо його все ще працює до завтра, я прийму це як відповідь. Дякую за інформацію!
DevinM

Не працює для мене - чи можете ви розмістити те, що ви зробили? Як сказати, який номер версії використовувати?
hippyjim

4
Оскільки це прийнята відповідь, можливо, слід згадати, що випробування дійсних значень для versдасть найкращі результати, замість того, щоб рекомендувати одну конкретну версію протоколу (яка не працюватиме на застарілих серверах). Почніть з версії з високим протоколом і спускайтесь по черзі. Якщо у вас vers=1.0є віддалений сервер, можливо, доведеться оновити (якщо можливо) або захистити його іншим чином.
0xC0000022L

38

Після багатьох тестів додавання vers=1.0в рядку кріплення, здається, вирішує проблему. Монтаж працює зараз на Ubuntu 17.10, як це робилося роками у старих версіях Ubuntu.


3
Після багатьох x 10 спроб це єдине рішення, яке спрацювало. vers=2.0не працювало.
Олів'є Понс

Я не знаю про vers = 1.0 проти 2.0 чи 3.0 та не можу знайти жодної згадки на сторінках man, але це працювало для мене.
Грег Чабала

3
//192.168.1.222/volume_1 / media / nas cifs username = ****, password = ****, vers = 1.0
Стівен

@GregChabala: можливо, перевірити mount.cifs(8)тобто з man 8 mount.cifs? У mount.cifsверсії 6.8 (з cifs-utilsпакета) сторінка "man" містить згадування про vers=arg.
0xC0000022L

vers=1.0працював у моєму випадку.
Сохель Патан

7

Я зіткнувся з тією самою проблемою, я хотів автоматично встановити монтування, використовуючи метод, знайдений у вікі Ubuntu ( https://wiki.ubuntu.com/MountWindowsSharesPermanently ), хоча у мене є та сама проблема, що зазначена вище:mount error(112): Host is down

Справа в тому, що мені допомогло додавання vers=3.0в і варіантів:

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

Тож здається, що це працює лише зараз, якщо ви обійти SMB1 і використати інший вказаний, SMB3 працював на мене, тому я ще нічого не пробував.

Я використовував локальний обліковий запис на машині Windows, а не один з доменним іменем outlook.com, оскільки я прочитав щось, що також може спричинити конфлікти.


Схоже, що нещодавнє оновлення до версії Windows 10 Pro Insider попередній перегляд збірки 16232.rs_prerelease.170624-1334 включало зміни, які вимагали від мене додати vers=3.0для монтажу частку, яка раніше працювала без неї.
Ділан Олівер

6

Інші вже натякали на рішення, але, можливо, варто коротко пояснити причину.

mount.cifs в Ubuntu 16.04 використовується за замовчуванням протокол SMB1.

У пізніших версіях версії mount.cifsSMB за замовчуванням є 2.1 або 3.0.

Поточні сервери Windows вже не підтримують протокол SMB 1.0, якщо тільки вони не налаштовані в їх реєстрі для його прийняття. Тож за замовчуванням вони відхиляють з'єднання від клієнтів за допомогою протоколу SMB1. Що призводить до оманливого повідомлення "Хост вниз".

Але деякі старі системи (найчастіше NAS) не підтримують протоколи 2.1 або 3.

Рішення полягає в тому, щоб сказати mount.cifsвикористовувати правильний протокол для підключення до вашого сервера, використовуючи vers=параметр. Наприклад, для підключення до машини Windows 10:

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

або до старого NAS від Ubuntu 18.04 або новішої версії:

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

З man mount.cifs(в 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.

Якщо ви визначите своє кріплення /etc/fstab, воно може виглядати приблизно так:

//server/share  /mnt/share  cifs  defaults,vers=3.0,...your_other_options...,nofail,x-systemd.device-timeout=15 0 0

cifs vers = 1.0, облікові дані = / root / .smbcredentials, працювали для мене в 18.04 LTS. У тому числі "за замовчуванням" у fsatb генерується помилка розбору, так що видалення тексту дозволяє уникнути помилки.
Грем

@Graham smb1 надзвичайно застарілий і небезпечний. Це також повільніше. Спробуйте дістатися хоча бvers=2.1
Джоель Коухорн

@JoelCoehoorn, але версія = 1,0 працювала, тоді як пізніші версії не були ... Я почав з 3 і змінив версію вниз, поки не працювало 1,0. З тих пір абсолютно немає проблем.
Грем

@Graham Тоді вам потрібно виправити хост, до якого ви підключаєтесь, щоб він підтримував smb2.1 або новішу версію. SMB1.0 насправді поганий .
Джоел Куехорн

@JoelCoehoorn Я дотримувався поради, що міститься в цій темі: serverfault.com/questions/414074/mount-cifs-host-is-down, щоб вирішити проблему. Просто спробували vers = 3.0 знову, і така ж помилка зберігається, а диск не монтується. Що таке жахливе у версії = 1.0?
Грем

0

У мене був такий самий випуск після оновлення клієнтами cifs-utils до 6.7-2. І в основному для мене працювало рішення від josepcoves та user695658. Але для мене працювало лише значення 1,0 для параметра монтажу 'vers'. Здається, що параметр 'vers' за замовчуванням більше не становить 1,0.


Це дублікат прийнятої відповіді.
карел
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.