Заставьте Наутилус смонтировать долю SMB с Протоколом 2.0

Когда я монтирую свою долю SMB через Наутилус, скорости передачи являются медленными. Таким образом, я сделал некоторое рытье и нашел, что, когда я монтирую долю через CLI и конкретно устанавливаю версию протокола на 2,0, это намного быстрее.

Вот команда, которую я использую на CLI:

sudo mount -t cifs -o vers=2.0,username=Lukas,password=xxxx,uid=1000,gid=1000 //nas/video /media/lukas/nas

Как я могу заставить Наутилус использовать Версию 2.0 при монтировании моей доли?

  • Версия Наутилуса является "наутилусом GNOME 3.26.3"
  • Gnome Версия Shell является "GNOME Shell 3.28.3"
  • Версия Ubuntu является "18.04.1 LTS"
7
задан 1 September 2018 в 07:53

2 ответа

У меня есть альтернативное предложение, если Вам интересно. Вместо того, чтобы иметь предосудительные отношения то, как клиент самбы получает доступ к NAS - который, поскольку я сказал, должно быть ненужным, так как он будет использовать SMB2/3 отдельно при необходимости - почему не только используют CIFS автоматически?

Добавьте следующую строку в конец/etc/fstab:

//nas/video /media/lukas/nas cifs vers=2.0,username=Lukas,password=xxxx,uid=1000,gid=1000,noauto,user 0 0

Примечание: Сервер может также быть выражен, поскольку mDNS квалифицировал имя хоста, если сервер поддерживает его://nas.local/video Или IP-адрес://192.168.0.100/видео

Как это будет работать:

noauto = сделает его так, чтобы это не монтировалось при начальной загрузке. Мы собираемся настроить это для использования CIFS по требованию, когда Вам нужен он - полезный, если у Вас есть ноутбук.

пользователь = сделает его так, обычный пользователь (не sudo) может смонтировать долю.

точка монтирования =, Так как это находится под / медиа, это вызовет udisks ответ:

(1) Значок появится на боковой панели Наутилуса.

(2) Это будет "действенным" - нажимают на него, и система перейдет к fstab, чтобы узнать, как смонтировать, что это затем монтирует, что - нажимает на него снова для размонтирования доли.

Существует дополнительная льгота к этому подходу. Значок, который это добавит к Наутилусу, также обнаружится в большинстве Ваших приложений - как gedit> Открытый, например. Затем можно смонтировать долю из приложения непосредственно.

Отметьте любому читающему это: точка монтирования важна здесь. Чтобы udisks волшебство работало, точка монтирования должна находиться под / медиа или Вашим корневым каталогом.

3
ответ дан 23 November 2019 в 06:39

Краткий ответ: Наутилус уже делает это. Возможно, вы почувствуете разницу между CIFS (управляемым ядром Linux) и gvfs / smbclient (который использует Nautilus) для общего ресурса. Метод CIFS кажется более быстрым, возможно, из-за накладных расходов gvfs.

Samba-клиент, используемый Nautilus, будет вести переговоры с сервером, чтобы найти лучший диалект SMB для использования между «min», предшествующим SMB1, вплоть до «max» SMB3_11.

Ядро Linux, начиная с 4.13.5, также будет согласовывать с сервером CIFS между SMB2.1 и SMB3.

Полагаю, вы могли бы переопределить то, что клиент samba делает естественным образом в Nautilus, добавив значение min в /etc/samba/smb.conf, но это не должно иметь никакого значения: поместите эту строку в раздел [global] следующим образом прямо под строкой рабочая группа = WORKGROUP :

client min protocol = SMB2

Существуют различные варианты SMB2: SMB2_02, SMB2_10, SMB2_22, SMB2_24. По умолчанию «SMB2» выбирает «SMB2_10». Просто убедитесь, что вы ничего не добавляете для максимального значения.

РЕДАКТИРОВАТЬ: Кажется, есть некоторая путаница относительно того, где вы размещаете строку «минимальный протокол клиента» - на сервере или в клиенте. Было предложено, чтобы это было на сервере.

Если я настроил сервер 18.04 и указал «минимальный протокол клиента = SMB2» на сервере, то получил к нему доступ с помощью клиента Ubuntu 16.04, который в лучшем случае (без модификации) может получить доступ только к серверу с SMB1 (он же NT1) Вот результат этого доступа на сервере:

xxx@srvub1804:~$ sudo smbstatus

Samba version 4.7.6-Ubuntu
PID     Username     Group        Machine                                   **Protocol**               
-------------------------------------------------------------------------------------
4681    nobody       nogroup      vub1604 (ipv4:192.168.1.140:45648)        **NT1**

Нет изменений, так как клиент все еще обращается к серверу, используя SMB1 (NT1).

Если, однако, я изменяю настройку min / man клиента на клиенте на «client min protocol = SMB2» и «client max protocol = SMB3» и удаляю «client min protocol» с сервера, я в итоге получаю то, что ожидал:

xxx@srvub1804:~$ sudo smbstatus


Samba version 4.7.6-Ubuntu
PID     Username     Group        Machine                                   **Protocol**             
-------------------------------------------------------------------------------------
4915    nobody       nogroup      vub1604 (ipv4:192.168.1.140:45664)        **SMB3_11**

Я думаю, что путаница проистекает из другого параметра, называемого «минимальный протокол» (он же «минимальный протокол сервера»), который фактически определяет, какой минимальный диалект smb допустим для доступа. Это делается на сервере. «протокол min / max клиента» выполняется на клиенте.

Если у вас есть smb.conf на клиенте, это здорово. Если нет, вы можете установить его следующим образом:

sudo apt install smbclient
3
ответ дан 23 November 2019 в 06:39

Другие вопросы по тегам:

Похожие вопросы: