Тема: [RedHat-like] WS-Discovery (WSD) та AVAHI для легшого пошуку SAMBA
Все доволі просто.
Почнемо з WSD.
Встановлюємо.
# dnf -y install wsddДодаємо нову службу ws-discovery для firewalld, спочатку створивши файл ws-discovery.xml з вмістом:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>WSD</short>
<description>Web Services Dynamic Discovery (WS-Discovery) is a multicast discovery protocol to locate services on a local network. The component WSDMON in Windows 7 and later uses WS-Discovery to automatically discover WSD-enabled network printers, which show in Network in Windows Explorer, and can be installed by double-clicking on them. In Windows 8 or later installation is automatic.</description>
<port protocol="tcp" port="3702"/><!-- ws-discovery -->
<port protocol="udp" port="3702"/><!-- ws-discovery -->
<port protocol="tcp" port="5357"/><!-- wsdapi -->
<port protocol="udp" port="5357"/><!-- wsdapi -->
</service>Потім активувавши його:
# firewall-cmd --permanent --new-service-from-file=ws-discovery.xmlДодавши до активної зони, в моєму випадку public:
# firewall-cmd --zone=public --add-service=ws-discovery --permanent && firewall-cmd --reloadПотім wsdd вказуємо опцію імені хоста, має збігатися із зазначеною в smb.conf та hostnamectl, насправді ця опція необов'язкова, але якщо у вас smb.conf розбито на кілька файлів чи використовуєте щось на зразок cockpit-file-sharing який використовує збереження конфіга в registry, то треба так як wsdd не знайде строку в файлі конфіга, тож в /etc/sysconfig/wsdd треба замінити строку:
OPTIONS=""На строку:
OPTIONS="--interface eno1 --hoplimit 1 --ipv4only --workgroup WORKGROUP --hostname HOSTNAME"де HOSTNAME це ім'я машини прописане в smb.conf та hostnamectl, WORKGROUP це ім'я групи в якій перебуває машина, eno1 назва мережевого інтерфейсу який слухати.
Запускаємо і ставимо в автозапуск:
# systemctl start wsdd && systemctl enable wsddВітаю, тепер Windows 7 && 8 && 10 && 11 буде знаходити вашу машину з samba без встановлення компонента SMBv1.
Переходимо до Avahi.
Встановлюємо.
# dnf -y install avahiЯкщо у машини наявно більше одного мережевого інтерфейсу (байдуже чи підключенні) то дивимося як називається той який використовуємо, наприклад цією командою:
# ifconfigЙдемо прописуємо його в /etc/avahi/avahi-daemon.conf додавши строку:
allow-interfaces=eno1Де eno1 в моєму прикладі ім'я інтерфейсу.
Додаємо сервіс в firewalld відповідно в активну зону:
# firewall-cmd --zone=public --add-service=mdns --permanent && firewall-cmd --reloadде в моєму прикладі активною зоною є public.
Потім запускаємо та додаємо в автозапуск:
# systemctl start avahi-daemon && systemctl enable avahi-daemonПрописувати сервіс samba в avahi потреби немає, звісно якщо у вас в конфігураційному файлі samba немає строки:
multicast dns register = noВітаю, тепер продукція apple буде легко знаходити вашу машину з samba.