Назад | Перейти на главную страницу

Ошибка монтирования 13 с Ubuntu 16.04 и Azure (тот же регион)

Я пытаюсь смонтировать общий ресурс samba в Azure, используя строку подключения, которую они предоставляют рядом с моей общей папкой, и в 16.04 я получаю «Ошибка подключения 13, разрешение отказано»

Строка подключения после установки cifs-utils работает точно так, как я ожидал в Сервер Ubuntu 17.04

Строка подключения:

sudo mount -t cifs //<HOSTNAME>.file.core.windows.net/<SHARENAME> /mnt/etclol -o vers=3.0,username=<HOSTNAME>,password=<PASSWORD KEY>,dir_mode=0777,file_mode=0777,sec=ntlmssp

Мне известно, что в 16.04 есть проблема, которая предотвращает внешние подключения и подключения между регионами для виртуальных машин на базе Azure, которые имеют дело с шифрованием, которое ядро ​​16.04 не поддерживает. Итак, я работал над этим:

Я изменил свой узел хранения с GRS (географически избыточное хранилище) на LRS (локально избыточное хранилище), в результате чего у меня было два региона (Восток США и Центральный США) до только Центрального США (как и мои веб-серверы).

Я постоянно получаю ошибку монтирования 13 при попытке подключить эти общие ресурсы в том же регионе и внутри Azure. Каждый пост, который я просматривал, наводит меня на мысль, что такая конфигурация будет работать.

Чтобы также убедиться, что это не проблема локального монтирования, я пробовал монтировать как chmod'd 0777, так и каталоги в моем домашнем каталоге. Я решил, что это не имеет значения.

Мой единственный другой вариант - перенести живые серверы 16.04 на 17.04, что будет работать, но будет довольно неудачно.

TL; DR: Почему это не работает в предлагаемой ими иерархии инфраструктуры. Бонус: есть ли способ получить 16.04 внешне работать тоже?

Ниже приведен контрольный список, необходимый для подключения файлового ресурса к виртуальной машине Azure Linux.

  1. Требуется, чтобы виртуальная машина находилась в том же регионе, где была создана учетная запись хранения.
  2. Порт 445 должен быть открыт на виртуальной машине
  3. cifs-utils.x86_64 должен быть установлен на виртуальной машине Linux для доступа к общему ресурсу cifs
  4. Если вы используете RHEL 7.2, используйте smb 2.1, если 7.4 и выше используйте smb 3.0
  5. В учетной записи хранилища -> перейдите к настройке -> Конфигурация -> Требуется безопасная передача ---> Отключить, тогда общий ресурс смонтирован в Linux vm

У меня такая же проблема на производственных серверах. Мы решили обновить Ubuntu 16.04 LTS до Ubuntu 16.10 (Я убедился, что установка с включенной безопасной передачей работает). Я знаю, что это непростое решение, но у меня сработало только оно.

Положительным моментом является то, что обновление с 16.04 до 16.10 «безопаснее», чем с 16.04 до 17.04;)

Насколько мне известно, Ubuntu 16.04 LTS поддерживает функцию шифрования SMB 3.0.

Возможно, мы сможем выполнить следующие действия, чтобы смонтировать файловый ресурс Azure:
1. установить cifs-utils пакет:

sudo apt-get update  #we should update it then install cifs-utils
sudo apt-get install cifs-utils

2. создайте папку для точки монтирования:

mkdir mymountpoint

3. С помощью команды mount смонтируйте общую папку Azure:

sudo mount -t cifs //<storage-account-name>.file.core.windows.net/<share-name> ./mymountpoint -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino

Дополнительные сведения об использовании хранилища файлов Azure с Linux см. В этом ссылка на сайт.

================================================== =========
Обновить:
На данный момент учетная запись хранения Azure поддерживает «Требуется безопасная передача», эта функция используется для SMB 2.1, SMB 3.0 без шифрования и некоторых разновидностей клиента SMB Linux.

По умолчанию ubuntu 16.04 поддерживает функцию шифрования SMB 3.0. так что мы должны выключить Требуется безопасная передача и монтаж напрямую.

Ubuntu 16.04LTS может поддерживать только шифрование пароля для SMB - поэтому учетные данные для доступа к хранилищу файлов Azure зашифрованы, но сами данные отправляются в виде чистый текст.

Когда вы используете службу файлов Azure, любое соединение без шифрования не работает, если включен параметр «Требуется безопасная передача». Сюда входят сценарии с использованием SMB 2.1, SMB 3.0 без шифрования и некоторые разновидности клиента SMB Linux. По умолчанию опция «Требуется безопасная передача» отключена.

О хранилище файлов Azure в Linux см. Здесь ссылка на сайт.

Больше информации о Require secure transferпожалуйста, обратитесь к этому ссылка на сайт.