Способы оплаты Abuse

Ошибка Ubuntu: не видит сеть Samba

14.05.2023, 01:15

У вас, возможно, возникала проблема, когда Ubuntu не может найти компьютеры под управлением Windows или не может обратиться к сетевым ресурсам через Samba. Такая ситуация обычна для многих дистрибутивов с GUI Gnome. Раньше причина этого была связана с багом в GVFS, однако с тех пор возникло несколько других причин. В этой статье мы расскажем, как можно решить проблему, настроить Ubuntu на работу с шарами Windows или Samba и переобучить Nautilus и Dolphin, чтобы они смогли видеть все сетевые ресурсы.

Почему Ubuntu не видит сеть Windows или Samba

Ubuntu может не видеть сеть Windows из-за отказа компании Microsoft от протокола SMB1 и перехода на протоколы SMB2 и SMB3, которые не имеют возможности сетевого обнаружения. Для отображения сетевых ресурсов на Ubuntu используется либо avahi либо протокол SMB1, поэтому увидеть шару Windows не получится, не включив обратно устаревший протокол в реестре.

Также, Windows не будет видеть шары Samba из-за отсутствия поддержки новым сервисом WS-Discovery. Для решения этой проблемы нужно отдельно установить сервис WSDD. Но ещё большей проблемой стало отключение поддержки протокола SMB1 на сервере Samba 4.11, из-за чего Nautils и Dolphin перестали видеть не только Windows шары, но и Linux тоже. Решение проблемы может быть либо установка на Samba сервер Avahi, либо включение поддержки старого протокола SMB1 на сервере Samba.

Настраиваем сеть Samba для удобного доступа к файлам

Включение поддержки протокола SMB1

Для того, чтобы сервер Samba был доступен в сети Windows, необходимо включить поддержку протокола SMB1.

Для этого отредактируйте файл /etc/samba/smb.conf следующим образом:

sudo vi /etc/samba/smb.conf
[global]
server min protocol = NT1
client min protocol = NT1
min protocol = NT1

Настройка имени хоста

Убедитесь, что имя хоста вашего сервера совпадает со значением параметра netbios name в файле /etc/samba/smb.conf. Вы можете проверить имя хоста командой hostname и добавить его в файл /etc/hosts:

hostname

sudo vi /etc/hosts

127.0.0.1       localhost
192.168.1.2     my_server

[...]

[global]
netbios name = my_server

Установка Avahi

Если проблема не решена, попробуйте установить и настроить сервис Avahi. Он позволит вашему серверу Samba отображаться в сетевом окружении в Nautilus.

Для установки Avahi выполните:

sudo apt install avahi-daemon avahi-utils

Далее запустите сервис и добавьте его в автозагрузку:

sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon

Проверьте доступные сервисы командой:

avahi-browse --all

Установка WSDD

Чтобы ваш сервер Samba был доступен в сети Windows, установите и настройте сервис WSDD. Этот сервис позволяет Windows видеть ваш сервер в сети.

Для установки WSDD выполните следующие команды:

git clone https://github.com/Andy2244/wsdd2.git
cd wsdd2
make
sudo make install
sudo systemctl daemon-reload
sudo systemctl enable --now wsdd2

Теперь ваш сервер Samba должен быть доступен в сети Windows. Проверьте его доступность, открыв сетевое окружение в Nautilus или проводнике Windows. Если все настроено правильно, вы должны увидеть ваш сервер Samba и его шары.