Когда я монтирую свою долю 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 при монтировании моей доли?
У меня есть альтернативное предложение, если Вам интересно. Вместо того, чтобы иметь предосудительные отношения то, как клиент самбы получает доступ к 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 волшебство работало, точка монтирования должна находиться под / медиа или Вашим корневым каталогом.
Краткий ответ: Наутилус уже делает это. Возможно, вы почувствуете разницу между 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