Client max protocol nt1

Для отображения в файловом менеджере общих ресурсов, которые расположены в доменах Microsoft Active Directory, нужно отредактировать на клиентском ПК конфигурационный файл samba — /etc/samba/smb.conf, а также включить на сервере службу «Браузер компьютеров».

В качестве примера рассматривается: домен alteros.os, имя контроллера домена — dcalter.alteros.os

1) На сервере Windows нужно включить службу «Браузер компьютеров». Укажите «Тип запуска» службы — «Автоматически», после чего произведите запуск службы.

2) В файле /etc/samba/smb.conf в секции [global] на клиенте нужно изменить параметры. По умолчанию в файле указываются параметры workgroup = SAMBA и security = user. Измените значения параметров или закомментируйте данные строки, добавив нужные:

3) В файле /etc/krb5.conf закомментировать строку

а вместо нее вставить параметр:

4) Перезагрузите ПК.

После выполнения данных действий общие ресурсы будут отображаться в файловом менеджере. В файловом менеджере Nemo в боковой панели слева нужно выбрать пункт «Сеть».

Начиная с Samba 4.8 перестал работать «обзор сети Windows», даже если она состоит из других самб. При этом в smbtree все видится. В Samba 4.7 проблемы нет.

Михаил Новоселов, [08.02.19 21:02]
Почему в одной подсети из виртуалок и контейнеров одна подхватила имеющийся мастер-браузер samba, а другая нет? Конфиги 192.168.122.106 и 192.168.122.62 одинаковые.

Михаил Новоселов, [08.02.19 21:02]
[ Фотография ]

Alexey Shabalin, [08.02.19 21:48]
[В ответ на Михаил Новоселов]
Если это не DC, то мастер выбирается на выборах. В выборах сравниваются разные параметры — версия ОС, процессор и т.п. выборы могут затянутся на долго. Каждая новая включенная машинка инициирует выборы.

Alexey Shabalin, [08.02.19 21:49]
Придумано это было в эпоху до dns, и даже до tcp/ip. Все это легаси.

Михаил Новоселов, [08.02.19 21:58]
[В ответ на Alexey Shabalin]
Не DC, обычные samba standalone server. У меня несколько lxc контейнеров с Росой запущено, при этом они почти одинаковые, т.к. получены клонированием, только хостнейм менял. Они друг друга видят. Все признали ROSA5 как мастера. А вот в той же подсети 192.168.1220/24

Михаил Новоселов, [08.02.19 21:58]
есть ALT и DragonFlyBSD, они не признают ROSA5 как мастера. Получается, это как раз сработала описанная эвристика подбора?

Михаил Новоселов, [08.02.19 22:05]
Вообще это все делаю из-за того, что в Samba 4.9 (Sisyphus) по сравнению с 4.7 (p8) сломался обзор сети Windows через libsmbclient, в т.ч. в GVFS и KIO. Вероятно, связано с постепенным отказом от SMB1.

Михаил Новоселов, [08.02.19 22:06]
При чем обычно помогает установка client max protocol = NT1 в smb.conf клиента. Никак не пойму, почему max, а не min.

Михаил Новоселов, [08.02.19 22:06]
По всей документации оно пробует NT1 (SMB1) и далее по возрастающей.

Михаил Новоселов, [08.02.19 22:07]
Разве что после WannaCry что-то второпях сделали.

Alexey Shabalin, [08.02.19 22:18]
Зря в max такое пишете

Alexey Shabalin, [08.02.19 22:19]
Значит smb3 вообще не будет

Михаил Новоселов, [08.02.19 22:25]
[В ответ на Alexey Shabalin]
Я понимаю, что тогда smb3 не будет, но не понятно, почему именно эта настройка помогает, не улавливаю логики.

Михаил Новоселов, [08.02.19 22:26]
client min protocol = NT1 ничего не меняет и не имеет смысла, т.к. это и так дефолт. Почему-то libsmbclient при листинге smb:// в Samba 4.9 перестал переключаться в SMB1 для вывода списка рабочих групп.

Михаил Новоселов, [08.02.19 22:26]
По факту листинг smb:// вообще перестал работать. Может, так и задумано, конечно, потому что на Windows отказались от NetBIOS, и новые протколы smb его уже не подедрживают.

Михаил Новоселов, [08.02.19 22:28]
В файловых менедежрах обзор сети Windows престал работать из-за этого. Он тоже использует libsmbclient.

Михаил Новоселов, [08.02.19 22:29]
Вот в Caja в ALT p8 работает, а в Sisyphus — пусто.

Михаил Новоселов, [08.02.19 22:29]
И так на всех дистрибутивах.

Alexander Bokovoy, [08.02.19 22:59]
Браузинг сети возможен только в SMB1, поэтому max и помогает. Но в апстриме мы это уже починили тем, что переключаемся в SMb1 для конкретно браузинга сети, если требуется и gvfs-smb должен это нормально подхватывать. Не работало всё это до 4.8/

Alexander Bokovoy, [08.02.19 23:03]
но также есть https://bugzilla.samba.org/show_bug.cgi? >

Alexander Bokovoy, [08.02.19 23:05]
проблема в том, что на протокольном уровне это всё просто не поддерживается больше. Микрософт добавила поддержку dnssd, но она с ошибками, так что и тут проблемы. Короче, с исчезновением smb1 всё совсем не должно работать.

Alexander Bokovoy, [08.02.19 23:08]
коммит 0f9d10246071160dc736205af234ab0ca456d0dc должен быть в 4.8.0+, он заставляет соединение к IPC$ выполнять по SMB1 и тем самым позволяет браузинг. По идее, этот код можно преписать на использование прямого DCE RPC вызова, чтобы он работал поверх любой версии SMB, но это все равно не решит проблему с поиском серверов в окружении, потому что они по-другому работают.

Михаил Новоселов, [08.02.19 23:14]
[В ответ на Alexander Bokovoy]
В выводе smbclient -L вижу текст о том, что выполнено переключение в SMB1 для вывода рабочих групп. До 4.8 или 4.9 все работает, по крайней мере в чисто линуксовой сети, Samba 4.7 в обзоре сети видит самбы 4.9. А вот самба 4.9 не видит ни 3.х, ни 4.7, ни 4.9.
Ниже скриншот из Samba 4.9.4 — smbtree видит сеть, а Gnome VFS — нет.
При этом в окружении с samba 4.7 и smbtree, и Gnome VFS видят сеть.

Михаил Новоселов, [08.02.19 23:14]
[ Фотография ]

Alexander Bokovoy, [08.02.19 23:15]
потому что начиная с 4.8 по умолчанию smb > 2

Alexander Bokovoy, [08.02.19 23:16]
это же вопрос клиента, что он там в браузинге найдет.

Михаил Новоселов, [08.02.19 23:16]
[В ответ на Alexander Bokovoy]
Этот коммит (0f9d10246071160dc736205af234ab0ca456d0dc) относится как раз только в CLI-утилите, к ней вопросов нет. Вопросы к libsmbclient.so.0.
По умолчанию smb >2 — имеется в виду, что до 4.8 клиент пытался установить соединение начиная с smb1, постепенно повышая версию протокола, а начиная с 4.8 начинает сразу с smb 2?

Alexander Bokovoy, [08.02.19 23:17]
если клиент не использует smb1, он ничего не найдет.

Михаил Новоселов, [08.02.19 23:18]
И начиная с 4.8 клиенты больше не пытаются использовать smb1? А это сделано в целях безопасности и ухода с smb1, или могут возникнуть проблемы при работе с современными версиями Windows-серверов?

Alexander Bokovoy, [08.02.19 23:20]
Современные Windows серверы перестали поддерживать SMb1

Alexander Bokovoy, [08.02.19 23:21]
https://support.microsoft.com/en-us/help/4034314/smbv1-is-not-installed-by-default-in-windows

Alexander Bokovoy, [08.02.19 23:21]
Windows Server 2016 no longer contains the SMBv1 client or server by default after a clean installation.
Windows 10 Home and Windows 10 Professional no longer contain the SMBv1 server by default after a clean installation.
Windows 10 Home and Windows 10 Professional still contain the SMBv1 client by default after a clean installation. If the SMBv1 client is not used for 15 days in total (excluding the computer being turned off), it automatically uninstalls itself.

Alexander Bokovoy, [08.02.19 23:23]
Единственная серьезная проблема на текущий момент для линуксовых клиентов — отсутствие POSIX extensions в SMB > 1, но работа над этим практически закончена. В ядре 5.0 почти всё должно быть в cifs.ko, а в Самбу пока еще не втянули отдельную ветку, но она практически завершена.

Alexander Bokovoy, [08.02.19 23:24]
Ну и браузинг.

Alexander Bokovoy, [08.02.19 23:25]
С браузингом никто не разбирается, потому что никому он не нужен из тех, кто работает над кодом. Там, в основном, вопросы клиент-серверного взаимодействия, а не декстопы.

Михаил Новоселов, [08.02.19 23:28]
А для браузинга насколько реально патчем опустить минимальную версию протокола с SMB2, как Вы сказали, до SMB1 (NT1), как было до 4.8? Что в новых Windows не работает smb1 и что microsoft очень хочет от него избавиться, знаю, но не совсем понятна причина не работы браузинга. В коде cli-клиента уже сам находил перебор протоколов, а вот в libsmclient.so.0, котоырй используется браузингом, по-моему, не нашел такого.

Михаил Новоселов, [08.02.19 23:29]
Еще по документации client min protocol = NT1 до сих пор, да и по коду смотрел, там client min protocol = CORE, где именно smb > 2 стало, не нашел

Anton Gorlov, [08.02.19 23:31]
а я во твсё с локами для 1с воюю…

Alexander Bokovoy, [08.02.19 23:31]
это всё SMBC_opendir_ctx(), там есть точка, где cli = get_ipc_connect_master_ip(), затем SMBC_server() и cli_NetServerEnum().

Anton Gorlov, [08.02.19 23:32]
зависла опять 1с… омпы на которых 1с была запущена перезагрузили…
а в smbstatus вижу что лк-файлы всё ещё типа держатся…

Alexander Bokovoy, [08.02.19 23:32]
проблема в том, что даунгрейд на SMB1 невозможен (это часть исправлений для badlock), поэтому там реально нужно делать отдельное соединение с smb1, потом пытаться соединиться и забирать через него данные.

Alexander Bokovoy, [08.02.19 23:34]
а внутри libsmbclient соединения к одному и тому же серверу кешируются

Alexander Bokovoy, [08.02.19 23:34]
то есть, открыть второе с другой версией протокола не получится

Alexander Bokovoy, [08.02.19 23:34]
см. SMBC_server_internal()

Alexander Bokovoy, [08.02.19 23:36]
тот же SMBC_server_internal() старается использовать минимальный-максимальный диапазон протокола при соединении, то есть в реальности он всегда попытается подключиться на SMB3

Anton Gorlov, [08.02.19 23:36]
Кстати вопрос.. вот есть мой комп домашний… он же в роли роутера… и он же самба-сервер
в самбе явно указано

interfaces = lo eth1
hosts allow = 127. 172.25.37.

виндовые компы меняв сети видят..а я с сервера их не особо.. по кр мере в kde..

Anton Gorlov, [08.02.19 23:37]
есть ли шанс чт-то тут сделать кроме как убиратьсмоего компа роутинг?

Alexander Bokovoy, [08.02.19 23:37]
и после чего cli_NetServerEnum() уже не вызовут, потому что перед этим идет проверка, версии соединения из SMBC_server()

Alexander Bokovoy, [08.02.19 23:37]
см. выше, эта та же история.

Anton Gorlov, [08.02.19 23:38]
а.. то есть никак в общем-то?

Anton Gorlov, [08.02.19 23:38]
хотя странно.. на рабое на компе тоже более 1 интерфейса..но при этом я вижу конторские шары

Anton Gorlov, [08.02.19 23:39]
а тут дельфин выдаёт
Невозможно найти рабочие группы в вашей локальной сети. Возможно, этому препятствует брандмауэр.

Alexander Bokovoy, [08.02.19 23:39]
это не имеет отношение к интерфейсу

Alexander Bokovoy, [08.02.19 23:39]
я же говорю, смотри нашу дискуссию выше

Anton Gorlov, [08.02.19 23:40]
как раз сижу читаю…

Anton Gorlov, [08.02.19 23:41]
более того не прокатывате даже
smb://172.25.37.113/

но главное не пойму почему в офисе отрабатывает..а дома нет

Михаил Новоселов, [08.02.19 23:41]
[В ответ на Alexander Bokovoy]
Примерно это и подозревал… код gnome vfs не смотрел,а вот в KIO-бекенде smb есть место, где обрабатывается условие «если URL = корень smb:/», в него бы подсунуть установку версии протокола smb1, но libsmbclient не позволяет это сделать, я смог только придумать, что чисто теоретически можно оттуда LD_PRELOAD некую бибилиотеку, которая подменит

/.smb/smb.conf на тот, в котором client max protocol = NT1, но это совсем изврат.

На счет POSIX-расширений, про них читал, а они имеют отношение к браузингу сети?

Alexander Bokovoy, [08.02.19 23:42]
нет, они не имеют отношение к браузингу. Они имеют отношение к расшариванию домашних директорий и тому подобному

Alexander Bokovoy, [08.02.19 23:42]
новые POSIX extensions в SMB3.11 еще и позволяют добиться производительности выше NFS

Alexander Bokovoy, [08.02.19 23:44]
но об этом https://fosdem.org/2019/schedule/event/smb2_posix_extensions/

Alexander Bokovoy, [08.02.19 23:46]
и еще клиентская часть в ядре — https://www.interopevents.com/uploads/2666379-4_39_1015_SMB3.1.1%20and%20beyond_Optimizing%20access%20from%20Linux%20to%20Samba%20and%20advanced%20SMB3.1.1%20servers-final.pdf

Alexander Bokovoy, [08.02.19 23:47]
fio with the read/write job file : SMB3 12.5% faster to Samba (than NFSv4.2 server) for random reads and SMB3 12.8% faster for writes
For sequential: SMB3 31.8% faster for read, 31.2% faster for write (and not just because of stricter sync)

Alexander Bokovoy, [08.02.19 23:48]
это примерно 4 месяца назад

Alexander Bokovoy, [08.02.19 23:48]
ладно, мне надо отключаться.

Михаил Новоселов, [08.02.19 23:48]
[В ответ на Alexander Bokovoy]
Если отключить кеш, это же не поможет, т.к. все равно нет функицонала перебора версий протокола?
Еще вопрос есть: Windows 10 не ищет по NetBIOS в обзоре сети, я не пробовал, но в теории он не увидит Samb-ы в сети. Есть весьма простой демон wsdd https://github.com/christgau/wsdd/ , призван обеспечить обнаружение самб виндовсами, как понял, этой проблемой в апмтриме самбы тоже почти не занимались.

Михаил Новоселов, [08.02.19 23:48]
[В ответ на Alexander Bokovoy]
Спасибо за пояснения.

Сегодня в 0:17
я уже костыльнул: в самбу добавлен /etc/avahi/services/smb.service (https://abf.io/import/samba/blob/rosa2016.1/avahi_samba.xml), а plasma5-zeroconf-ioslave запатчен (https://abf.io/import/plasma5-zeroconf-ioslave/blob/rosa2016.1/0001-Enable-SMB-Zeroconf-discovery.patch), чтобы по Zeroconf видеть smb в сети, в https://abf.io/import/plasma5-config-fresh добавлена зависимость от plasma5-zeroconf-ioslave , чтобы он приехал с обновлением, и в него же добавлен (https://abf.io/import/plasma5-config-fresh/commit/655075ff183e0a18caeb8be350813d8e618f742f) кусок конфига, позволяющий открывать smb, найденные по zeroconf (Avahi).

Однако это немного не то, что было, т.к. нет деления на рабочие группы.

Gnome VFS без патчей и так нормально находит smb по zeroconf. Сам zeroconf как протокол родом из macOS.

Survolog 0:24
Круто.
А рабочую группу возможно прочесть?
Если можно будет собрать такую информацию, то по ней можно и каталоги со ссылками создать, наверное.

0:25
Насколько бегло понял из чтения примеров сервис-файлов Avahi, по Zeroconf можно передать доп. параметры, например, рабочую группу. Вопроса 2: как ее передать (можно решить динамическим генерированием /etc/avahi/services/smb.service) и кто ее будет читать и что делать.

Тут проблема-то увидеть компы в сети
Если ты знаешь адрес или имя хоста компа, то smb://host работает, как и раньше, грубо говоря.

Вроде бы решение проблемы:

Михаил Новоселов, [09.02.19 11:40]
[В ответ на Alexander Bokovoy]
Нашел, о чем была речь про gvfs: https://bugzilla.redhat.com/show_bug.cgi? >

Михаил Новоселов, [09.02.19 11:56]
А ведь там smbc_setOptionProtocols (smb_context, "NT1", "NT1"); и нормальное решение всей проблемы.
(Эта функция добавлена в Samba коммитом 0dae4e2f5c65).

client max protocol (G)

The value of the parameter (a string) is the highest protocol level

Значение этого параметра (строка) — максимально возможная версия протокола Eng.

· CORE: Earliest version. No concept of user names.

. CORE: Максимальная версия. Без названия. Eng.

· COREPLUS: Slight improvements on CORE for efficiency.

. COREPLUS: Незначительные изменения в ядре для эффективности. Eng.

· LANMAN1: First modern version of the protocol. Long filename support.

· LANMAN1: Первая современная версия протокола. Поддержка длинных имен файлов. Eng.

· LANMAN2: Updates to Lanman1 protocol.

· LANMAN2: Обновление протокола Lanman1. Eng.

· NT1: Current up to date version of the protocol. Used by Windows NT. Known as CIFS.

. NT1: Текущая версия протокола. Используется с Windows NT. Известна как CIFS. Eng.

· SMB2: Re-implementation of the SMB protocol. Used by Windows Vista and later versions of Windows. SMB2 has sub protocols available.

. SMB2: Обновленная версия протокола. Используется в Windows Vista и более поздних весиях Windows. Существует несколько реализаций этого протокола. Eng.

· SMB2_02: The earliest SMB2 version.

.SMB2_02: Самая старая версия SMB2. Eng.

· SMB2_10: Windows 7 SMB2 version.

. SMB2_10: Версия Windows 7. Eng.

· SMB2_22: Early Windows 8 SMB2 version.

. SMB2_22: Первая версия SMB2 для Windows 8. Eng.

· SMB2_24: Windows 8 beta SMB2 version.

. SMB2_24: Бета версия протокола SMB2 для Windows 8. Eng.

By default SMB2 selects the SMB2_10 variant.

По умолчанию значение параметра SMB2 — это SMB2_10. Eng.

· SMB3: The same as SMB2. Used by Windows 8. SMB3 has sub protocols available.

· SMB3: Тоже что и SMB2. Используется в Windows8. Содержит разные версии протокола. Eng.

· SMB3_00: Windows 8 SMB3 version. (mostly the same as SMB2_24)
By default SMB3 selects the SMB3_00 variant.

· SMB3_00: Версия SMB3 для Windows 8. (тоже что и SMB2_24)
По умолчанию для версии протокола SMB3 значение параметра устанавливается в SMB3_00. Eng.

Normally this option should not be set as the automatic negotiation phase in the SMB protocol takes care of choosing the appropriate protocol.

Обычно этот параметр не определяет используемый протокол, SMB установит версию на стадии установки соединения. Eng.

Default: client max protocol = SMB3
Example: client max protocol = LANMAN1

Оцените статью
Много толка
Добавить комментарий