Должны ли общие папки отображаться в сетевых папках Windows и Ubuntu?

Вопрос или проблема

Мой хост-ноутбук работает на Windows 11 Home. Гостевая виртуальная машина VirtualBox — это Ubuntu 22.04.

  • IP адрес Ubuntu: 192.168.56.102
  • IP адрес Windows: 192.168.56.11

И хост, и гость находятся в одной WORKGROUP.

Я могу получить доступ к общим папкам напрямую через файловые менеджеры как хостовой, так и гостевой ОС:

  • С Windows 11: \\192.168.56.102\share
  • С Ubuntu: smb://192.168.56.11/share

Все работает как задумано. Вот вопрос, который мучает сеть Windows и Samba.

Почему я не вижу имена КОМПЬЮТЕРОВ в сетевых папках файловых менеджеров? Поскольку SMB1 устарел, должен ли я их видеть?

Когда я запускаю smbclient, я получаю следующее.

Запрос адреса гостя Ubuntu:

# smbclient -L \\192.168.56.102 -U root
Пароль для [WORKGROUP\root]:

    Имя общего ресурса  Тип      Комментарий
    ------------------  ----      -------
    print$              Диск      Драйверы принтеров
    share               Диск      Samba на Ubuntu 22.04
    IPC$                IPC       IPC Сервис
    HP Printer          HP Deskjet 4100
SMB1 отключен — рабочая группа недоступна

Запрос адреса хоста Windows:

# smbclient -L \\192.168.56.11 -U root
Пароль для [WORKGROUP\root]:
не удалось установить сессию: NT_STATUS_LOGON_FAILURE

Я думаю, вы сами ответили на свой вопрос.

“Имя компьютера” в этом контексте относится к имени NetBIOS машин. NetBIOS — это функция SMBv1, и без этого нет NetBIOS. Ни Windows, ни Samba по умолчанию не включают SMBv1.

Windows использует другой метод для “обнаружения” хостов в сети, а именно WS-Discovery.

В Ubuntu 22.04 вы можете включить WS-Discovery на стороне сервера, установив пакет wsdd:

sudo apt install wsdd

Это позволит Windows 10/11 обнаруживать ваш сервер Linux Samba в Проводнике.

В Ubuntu 22.04 это работает только в одном направлении. Windows может обнаруживать Linux, но не наоборот.

В Ubuntu 24.04 есть немного другая реализация, которая включается с помощью пакета wsdd-server. Иронично, что это также позволяет ws-discovery на стороне клиента Linux, чтобы он мог обнаруживать хосты Windows 10/11

Ответ или решение

Должны ли сетевые папки в Windows и Ubuntu отображать общие ресурсы?

Работа с сетевыми ресурсами в среде смешанных операционных систем, таких как Windows и Ubuntu, часто вызывает вопросы у пользователей, особенно касающиеся видимости общих ресурсов в сетевых папках. В этом ответе мы подробно разберем вашу ситуацию и проанализируем, почему компьютеры и их сетевые ресурсы не отображаются, а также предложим решения для улучшения видимости.

Текущая ситуация

Вы используете Windows 11 Home в качестве хоста и Ubuntu 22.04 как виртуальную машину в VirtualBox. Обе системы находятся в одной рабочей группе (WORKGROUP), и вы успешно получите доступ к общим ресурсам по IP-адресам:

  • Windows 11 может получить доступ к общему ресурсу Ubuntu через \\192.168.56.102\share
  • Ubuntu может получить доступ к общему ресурсу Windows через smb://192.168.56.11/share

Тем не менее, вы заметили, что компьютеры не отображаются в сетевых папках, что вызывает вопросы.

Почему компьютеры не отображаются?

Причина этого кроется в использовании протоколов сетевого взаимодействия. В Windows используется инструмент NetBIOS для нахождения других устройств в сети, но на современных системах, начиная с Windows 10 и 11, поддержка NetBIOS и SMBv1 по умолчанию отключена. Ваша ситуация подтверждается следующими фактами:

  1. SMB1 отключен: Вы упоминаете, что SMB1 отключен и доступ к рабочей группе невозможен из-за этого. Без этого протокола системы не могут обмениваться присвоенными именами компьютеров так эффективно, как это было в прошлом.

  2. WS-Discovery: Windows использует метод WS-Discovery для обнаружения узлов в сети. Ubuntu по умолчанию не поддерживает этот метод, что приводит к отсутствию функциональности обнаружения для Linux-систем в Windows.

  3. smbclient: В вашем выводе smbclient -L \\192.168.56.102 видно, что ваш Ubuntu VM должным образом отвечает на запросы, показывая доступные ресурсы, однако попытка подключения к Windows через smbclient приводит к ошибке NT_STATUS_LOGON_FAILURE. Это указывает на возможные проблемы с аутентификацией.

Решение проблемы

Для улучшения видимости ваших сетевых ресурсов можно предпринять следующие шаги:

  1. Установить wsdd в Ubuntu:
    Установите пакет wsdd (Web Services Dynamic Discovery) на вашей Ubuntu-машине. Это позволит Ubuntu обмениваться данными о доступных сервисах с Windows, тем самым улучшая видимость в сетевом окружении Windows.

    sudo apt install wsdd

    После установки запустите службу wsdd, и вы должны увидеть, что Windows теперь может обнаруживать ресурсы Ubuntu.

  2. Проверить параметры SMB:
    Возможно, потребуется убедиться, что конфигурация Samba на Ubuntu правильно настроена. Проверьте файл конфигурации /etc/samba/smb.conf и убедитесь, что параметры, связанные с рабочими группами и общими ресурсами, настроены корректно.

  3. Обновление Ubuntu:
    В будущих версиях, таких как Ubuntu 24.04, ожидается улучшенная функциональность, где будет доступен пакет wsdd-server, который позволит не только обнаруживать ресурсы Ubuntu из Windows, но и наоборот.

Заключение

Выводя из описанных факторов, можно сказать, что отсутствие отображения компьютеров в сетевых папках связано с различиями в используемых протоколах и методах обнаружения узлов. Установив wsdd на Ubuntu и убедившись, что у вас правильно настроен Samba, вы сможете значительно улучшить видимость ресурсов в смешанной среде.

После выполнения предлагаемых шагов, вы должны заметить улучшение в доступности общих ресурсов, что упростит вашу работу в мультиплатформенной сети.

Оцените материал
Добавить комментарий

Капча загружается...