Несколько рабочих групп Samba

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

Обмен файлами Samba “сканирует” при нажатии на вкладку сети, и это работает отлично, когда настройки рабочей группы совпадают с рабочей группой Windows.

   workgroup = WORKGROUP

Это приемлемо для настольного компьютера, но когда я использую свой ноутбук и подключаюсь к многим сетям, я не вижу сетевые ресурсы, пока не обновлю эту строку с текущей рабочей группой. Я могу подключиться, если знаю имя хоста (например, smb://hostname).

ПК на Windows отображают все сети нормально. Есть ли способ настроить Samba так, чтобы она делала то же самое?

У меня нет прав администратора на какие-либо ресурсы, и вряд ли будет выбран то же самое имя для трех из них.

Да,

вы можете сделать это, запустив несколько экземпляров Samba с разными /etc/smb/smb.conf файлами. Например, вы можете иметь файлы /etc/smb/smb.conf.homenet и /etc/smb/smb.conf.worknet с разными параметрами workgroup =. После этого вы можете запустить их от имени root так:

service smb.homenet start
service smb.worknet start

Я, безусловно, что-то упустил, поэтому для получения дополнительной информации посмотрите:

https://wiki.samba.org/index.php/Multiple_Server_Instances

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

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

Вот шаги, которые помогут вам в этом процессе:

  1. Создайте несколько файлов конфигурации:

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

    • /etc/samba/smb.conf.homenet
    • /etc/samba/smb.conf.worknet

    В каждом из этих файлов настройте workgroup в соответствии с конкретной сетью:

    • Для домашней сети:

      [global]
      workgroup = HOMENET
      ...
    • Для рабочей сети:

      [global]
      workgroup = WORKNET
      ...
  2. Настройте параметры запуска для каждого инстанса:

    Чтобы запускать разные инстансы Samba с соответствующими конфигурациями, вам потребуется использовать параметр командной строки -s для указания нужного конфигурационного файла. Запуск может выглядеть так:

    smbd -s /etc/samba/smb.conf.homenet
    smbd -s /etc/samba/smb.conf.worknet
  3. Запуск сервисов:

    Если вы используете систему, поддерживающую управление сервисами Systemd, вы сможете создать отдельные юниты для каждого инстанса. Пример файла для юнита может выглядеть так:

    • /etc/systemd/system/smb.homenet.service

      [Unit]
      Description=Samba Service for Home Network
      
      [Service]
      ExecStart=/usr/sbin/smbd -s /etc/samba/smb.conf.homenet
      PIDFile=/run/smbd-homenet.pid
      ...
      
      [Install]
      WantedBy=multi-user.target
    • Аналогично создайте файл для рабочей сети.

  4. Запустите и активируйте службы:

    После создания юнитов, запустите их:

    sudo systemctl start smb.homenet.service
    sudo systemctl start smb.worknet.service

    Чтобы они автоматически запускались при загрузке системы, выполните:

    sudo systemctl enable smb.homenet.service
    sudo systemctl enable smb.worknet.service
  5. Проверка работы:

    Теперь при подключении к различным сетям вы сможете запускать соответствующий инстанс Samba, и при этом у вас будет доступ ко всем сетевым ресурсам, что облегчает работу с сетевыми папками без необходимости постоянного изменения конфигурации.

Для дополнительной информации и детальных настроек ознакомьтесь с документом по Множественным инстансам Samba.

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

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