Если вы используете Samba для организации общих файловых ресурсов, то, наверное, заметили, что в последних версиях Windows такие сервера больше не отображаются в сетевом окружении, хотя нормально работают при прямом подключении к ним. Это связано с полным отказом в Windows от использования протокола SMB1 и невозможностью обнаружить Samba по протоколу NetBIOS. Современные Windows системы используют для обнаружения устройств WSD (Web Services for Devices) и сегодня мы расскажем, как добавить его поддержку для вашего сервера Samba.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Еще раз повторим, данная статья рассказывает, как включить отображение нормально работающего Samba-сервера в сетевом окружении современных Windows-систем. Если же вы испытываете проблемы доступа к серверу из последних версий Windows, то обратитесь к другой нашей статье:
Исправляем ошибку подключения Windows к общим ресурсам на сервере Samba Linux
Для включения поддержки WSD нам потребуется пакет wsdd, который штатно присутствует в репозиториях Debian 12 и Ubuntu 22.04, если вы используете другие версии систем, то вам потребуется подключить репозиторий разработчиков, он поддерживает Debian 9 - 11, и Ubuntu 16.04 - 22.04.
Чтобы подключить репозиторий разработчиков сначала скачайте и импортируйте в хранилище ключ:
wget -O- https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key | gpg --dearmour > /usr/share/keyrings/wsdd.gpg
Теперь подключим сам репозиторий:
echo "deb [signed-by=/usr/share/keyrings/wsdd.gpg] https://pkg.ltec.ch/public/ `lsb_release -cs` main" > /etc/apt/sources.list.d/wsdd.list
Обновим список пакетов и установим нужную нам службу:
apt update
apt install wsdd
Пакет будет автоматически добавлен в автозагрузку и нам останется только запустить его и проверить статус:
systemctl start wsdd
systemctl status wsdd
По умолчанию служба работает на всех интерфейсах и протоколах, если мы хотим изменить данное поведение, то следует добавить необходимые опции в файл /etc/default/wsdd, в нем находится единственная допустимая опция:
WSDD_PARAMS=""
В ней мы должны указать все необходимые параметры запуска согласно документации.
Так, например, если мы хотим ограничить работу службы только интерфейсом ens33 и протоколом IPv4, то добавим:
WSDD_PARAMS="--interface ens33 --ipv4only"
Либо:
WSDD_PARAMS="-i ens33 -4"
Короткая запись проще, но не такая информативная, поэтому в конфигурационном файле мы бы советовали придерживаться длинной.
После внесения изменений в настройки службу следует перезапустить:
systemctl restart wsdd
Для нормальной работы службы вам также нужно разрешить в брандмауэре входящие соединения для UDP 3702 и TCP 5357.
Со стороны Windows делать ничего не нужно, Samba-сервера автоматически появятся в вашем сетевом окружении.
Как видим, всего лишь одной простой установкой пакета мы можем быстро решить проблему отображения Samba-серверов в сетевом окружении и тем самым существенно повысить удобство работы простых пользователей.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии