Содержание

Настройка отображения Linix-машины в сетевом окружении Windows

Экспорт в PDF Преобразовать страницу в формат Open Document

Дата создания: 2023/07/28 14:03 (C) mihanik

Дано

ПК под управлением ОС Linux семейства CentOS, Fedora, RHEL (Centos 7 и старше), который выполняет роль файлового сервера, и на котором настроен сетевой доступ к файлам посредством протокола samba.

Предполагается, что изначально сервер настраивается по циклу моих статей о SAMBA, и предыдущим шагом настройки был "Настройка на сервере samba анонимного доступа к папке".

Надо

Добиться того, чтобы файловый сервер отображался в сетевом окружении ПК, работающих под управлением ОС Windows.

Решение

НИКОГДА!!!
Никогда не подавайте команды компьютеру, которые вы сами не до конца понимаете!!!

Лирическое отступление.

SAMBA - это протокол, который используют компьютеры, которые работают под управлением ОС Windows. Ранние версии ОС Windows по умолчанию используют протокол SMB1, более поздние SMB2, SMB3, SMB 4… Самое интересное, что от версии к версии samba менялся механизм обнаружения компьютеров в локальной сети.

В младших версиях (Windows XP, Windows 7 и т.п.) по умолчанию использовался протокол SMB1, соответственно, для обнаружения компьютеров в сети использовался NetBIOS и mDNS. В более старших версиях использование использование NetBIOS и mDNS не приветствуется, поэтому Microsoft перешёл на использование WSD.

Веб-службы для устройств (WSD) — это API Microsoft, позволяющий программировать подключения к устройствам с поддержкой веб-служб, таким как принтеры, сканеры и общие файловые ресурсы. Он служит заменой старых сетевых функций Windows, таких как NetBIOS.

Мы постараемся настроить наш сервер так, чтобы он отображался в сетевом окружении компьютеров, которые работают под управлением ОС Windows от XP до 10.

Шаг 0

Открываем терминал.

Все остальные команды будем выполнять в терминале.

При помощи команды

sudo su

становимся суперпользователем root.

Шаг 1

Настроим на нашем сервере возможность использования NetBIOS и mDNS.

Сначала установим и запустим сервис Avahi

Avahi во многом базируется на реализации протокола mDNS.
yum -y install avahi avahi-tools avahi-ui-tools
systemctl enable avahi-daemon
systemctl start avahi-daemon
systemctl status avahi-daemon

И откроем порты mDNS в межсетевом экране

firewall-cmd --permanent --add-service=mdns
firewall-cmd --add-port=5353/udp --permanent
firewall-cmd --add-port=53791/udp --permanent
firewall-cmd --reload

Также не забудем открыть в межсетевом экране порты NetBIOS

firewall-cmd --add-port=137/tcp --permanent
firewall-cmd --add-port=138/tcp --permanent
firewall-cmd --add-port=139/tcp --permanent
firewall-cmd --add-port=137/udp --permanent
firewall-cmd --add-port=138/udp --permanent
firewall-cmd --add-port=139/udp --permanent
firewall-cmd --reload

Шаг 2

Теперь установим и запустим WSD.

yum -y install wsdd
systemctl enable wsdd.service
systemctl start wsdd.service
systemctl status wsdd.service

Не забудем открыть порты, которые использует WSD

firewall-cmd --add-port=3702/udp --permanent
firewall-cmd --add-port=5357/tcp --permanent
firewall-cmd --reload

Это всё. Теперь ваш файловый сервер должен отображаться в сетевом окружении Windows.

PS.

Иногда при запуске wsdd.service может появится ошибка:

systemctl start wsdd.service
 
Job for wsdd.service failed because of unavailable resources or another system error.
See "systemctl status wsdd.service" and "journalctl -xeu wsdd.service" for details.

Вопрос решается просто, - нужно создать отсутствующий файл wsdd в папке /etc/default.

touch /etc/default/wsdd
Пояснение.

В описании юнита wsdd.service используется переменная EnvironmentFile со следующим значением

EnvironmentFile=/etc/default/wsdd

⇑ Наверх ⇑

В моей WIKI постоянно ведётся какая-то работа со статьями.
Если у вас возникли вопросы или замечания,
можете их отправлять на почту support@mihanik.net