Примерно начиная с версии Samba 4.10 команда smbtree не находит никаких доступных ресурсов, не выдавая при этом никакой диагностики, при этом команда smbclient -L ресурсы конкретных машин отображает правильно. Кроме этого, команды smbtree и smbclient ещё и запрашивают пароль для текущего пользователя при каждом выполнении, чего ранее не было.
Samba и системы виртуализации
Samba (и 4.9 тоже) по умолчанию привязывается ко всем обнаруженным интерфейсам. Если на сервере samba установлена система виртуализации (проверено с Oracle VirtualBox и с KVM), то samba привязывается и к адаптерам виртуальных мостов, после чего в виртуальной подсети сама среди себя проводит выборы мастер-браузера, объявлет себя мастером и перестаёт видеть расшаренные ресурсы на физическом сетевом интерфейсе. Характерный симптом - после команды
Samba name server ASTRA is now a local master browser for workgroup WORKGROUP on subnet 192.168.27.1
Чтобы этого избежать нужно в секцию [global] конфигурационного файла /etc/samba/smb.conf добавить указание, с какими интерфейсами работать, и запрет работать с другими интерфейсами (интерфейс lo - локальная обратная петля, второй интерфейс задан адресом подсети):
interfaces = lo 192.168.32.0/24 bind interfaces only = yes
После чего перезапустить сервисы:
Отключение запроса пароля в командах smbtree и smbclient
Запрос пароля отключается опцией -N:
Включение обнаружения разделяемых ресурсов командой smbtree
На клиентах
Для того, чтобы КЛИЕНТЫ samba корректно запрашивали разделяемые ресурсы нужно:
в файл /etc/samba/smb.conf НА КЛИЕНТСКОМ КОМПЬЮТЕРЕ в секцию [global] добавить параметр:
client min protocol = NT1
После этого запросы к серверам samba версии 4.9 будут отправляться и отрабатываться корректно, запросы к настроенным по умолчанию серверам версии 4.11 и новее будут завершаться ошибкой вида:
\\CE-2-13-3-1115 Samba 4.12.5-Debian
smbXcli_negprot_smb1_done: No compatible protocol selected by server.
На серверах
Для того, чтобы новые СЕРВЕРЫ samba корректно отвечали на запросы нужно:
в файл /etc/samba/smb.conf в секцию [global] НА СЕРВЕРЕ SAMBA добавить параметр:
server min protocol = NT1
После чего перезагрузить конфигурацию сервера:
Прочее
В дефолтных настройках samba для ALD прописан параметр wide links = yes (следовать ссылкам вне экспортируемого дерева) , который не работает в сочетении с дефолтным параметром unix extensions = yes из соображений безопасности. Чтобы они работали нужно добавить allow insecure wide links = yes.
smbtree в Смоленск 1.5
Для того, чтобы smbtree (samba_3.6.26) начал видеть свои и чужие ресурсы в секцию [global] на клиенте 1.5 нужно добавить параметр:
client ipc signing = auto
nmblookup
Узнать кто мастер - браузер группы WORKGROUP (код - 1d) :
192.168.1.1 WORKGROUP<1d>
Найти "специальный сервер __MSBROWSE__":
192.168.1.1 __MSBROWSE__<01>
Avahi
Список доступных серверов samba:
sudo avahi-browse -r _smb._tcp