В этой краткой заметке я не буду касаться настройки Samba, благо таких материалов в сети более, чем достаточно.
Я хотел бы рассказать о том, как сделать доступ к файловому серверу удобнее.
TL;DR: настройка Avahi и WSD, чтобы файловый сервер отображался в сетевом окружении в Windows, в MacOS и в Ubuntu (и в других дистрибутивах, разумеется, но в них я не проверял).
Итак, начнём с Windows.
В незапамятные времена, когда список компьютеров в сетевом окружении формировался броадкастами через NetBIOS, всё было просто.
Мы прописывали в
Те времена ушли безвозвратно и сегодня, чтобы наш файловый сервер высветился в сетевом окружении пользователя, нужно либо проводить мануальную терапию реестра на каждом компьютере, подключая обратно устаревший и небезопасный SMBv1, либо смириться с тем, что мир изменился и начать использовать рекомендуемый Microsoft WS-Discovery (WSD).
Почему Microsoft решили использовать его, а не появившийся раньше и используемый в MacOS и Linux mDNS (он же Bonjour, он же Avahi)?
Ну… Это же Microsoft.
Итак, что нам нужно, чтобы WSD заработал?
Не так уж много — добавить репозитарий, установить демон WSD, внести настройки в конфигурацию, перезапустить сервис и, собственно, всё.
Теперь слегка поменяем
Моя строка настройки выглядит так:
Полагаю, что параметры говорят сами за себя, отмечу только, что если вы используете Samba в режиме контроллера домена, то вместо
Ну и рекомендую заглянуть в
Завершим всё перезапуском сервиса:
и проверкой на каком-нибудь из компьютеров с версией Windows начиная от Vista и старше, что наш сервер появился в сетевом окружении.
Теперь пришло время Avahi. После его настройки наш файловый сервер начнёт отображаться в сетевом окружении в MacOS и в Ubuntu.
Для начала, убедимся, что avahi установлен:
Теперь анонсируем через него наш сервер:
Можно также заглянуть в
Завершим всё перезапуском сервиса:
Отдельно упомяну, что таким образом можно анонсировать не только Samba, но и множество других сервисов (список здеcь).
Надеюсь эта заметка сэкономит вам время и добавит удобства вашим пользователям.
Я хотел бы рассказать о том, как сделать доступ к файловому серверу удобнее.
TL;DR: настройка Avahi и WSD, чтобы файловый сервер отображался в сетевом окружении в Windows, в MacOS и в Ubuntu (и в других дистрибутивах, разумеется, но в них я не проверял).
Итак, начнём с Windows.
В незапамятные времена, когда список компьютеров в сетевом окружении формировался броадкастами через NetBIOS, всё было просто.
Мы прописывали в
smb.conf
что-то вроде local master = yes
и были счастливы.Те времена ушли безвозвратно и сегодня, чтобы наш файловый сервер высветился в сетевом окружении пользователя, нужно либо проводить мануальную терапию реестра на каждом компьютере, подключая обратно устаревший и небезопасный SMBv1, либо смириться с тем, что мир изменился и начать использовать рекомендуемый Microsoft WS-Discovery (WSD).
Почему Microsoft решили использовать его, а не появившийся раньше и используемый в MacOS и Linux mDNS (он же Bonjour, он же Avahi)?
Ну… Это же Microsoft.
Итак, что нам нужно, чтобы WSD заработал?
Не так уж много — добавить репозитарий, установить демон WSD, внести настройки в конфигурацию, перезапустить сервис и, собственно, всё.
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4BBAE4C69C568C54
echo "deb https://pkg.ltec.ch/public/ $(grep VERSION_CODENAME /etc/os-release | cut -d'=' -f2) main" | tee /etc/apt/sources.list.d/wsdd.list
apt install wsdd
Теперь слегка поменяем
/etc/wsdd.conf
Моя строка настройки выглядит так:
WSDD_PARAMS="--shortlog --interface enp3s0 --hostname server --workgroup HOME"
Полагаю, что параметры говорят сами за себя, отмечу только, что если вы используете Samba в режиме контроллера домена, то вместо
--workgroup
нужно использовать --domain
.Ну и рекомендую заглянуть в
man wsdd
, а также в репозитарий wsdd (там же есть инструкции и для дистрибутивов, отличающихся от Debian/Ubuntu)Завершим всё перезапуском сервиса:
systemctl restart wsdd.service
и проверкой на каком-нибудь из компьютеров с версией Windows начиная от Vista и старше, что наш сервер появился в сетевом окружении.
Теперь пришло время Avahi. После его настройки наш файловый сервер начнёт отображаться в сетевом окружении в MacOS и в Ubuntu.
Для начала, убедимся, что avahi установлен:
apt install avahi-daemon avahi-utils
Теперь анонсируем через него наш сервер:
nano /etc/avahi/services/smb.service
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_smb._tcp</type>
<port>445</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=RackMac</txt-record>
</service>
</service-group>
Можно также заглянуть в
/etc/avahi/avahi-daemon.conf
и, например, ограничить вещание одним интерфейсом, но это уже на ваше усмотрение.Завершим всё перезапуском сервиса:
systemctl restart avahi-daemon.service
Отдельно упомяну, что таким образом можно анонсировать не только Samba, но и множество других сервисов (список здеcь).
Надеюсь эта заметка сэкономит вам время и добавит удобства вашим пользователям.