Перейти к содержимому

Почему SMB-ресурс в контейнере Incus с Tailscale подключается к SMB-ресурсу хостовой ОС?

0

Я пытаюсь создать SMB-ресурс для резервного копирования Time Machine на Mac. Мой NAS работает на Ubuntu 24.04, и я использую ksmbd, который в данный момент не поддерживает необходимые функции для резервного копирования Time Machine. Я хотел бы запустить экземпляр Samba (обычную, основную версию пользовательского пространства) с необходимыми настройками и подключиться к нему через Tailscale (чтобы не нужно было давать ему отдельный IP-адрес и не возиться с прямым доступом контейнера к сети, а иметь доступ откуда угодно). У меня нет привязки к конкретному IP, но нет очевидной причины, по которой он должен подключаться к хосту. Я пытался настроить контейнер Incus на Ubuntu 24.04, установить Tailscale и протестировать подключение к нему с Windows-машины в той же сети, что и хост, через Tailscale. В теории, я также могу протестировать с совершенно другой сети. Я пробовал это с вторым контейнером, начиная с нуля на том же хосте, и произошло то же самое. Интересно, что при попытке начать с нуля ресурсы работали один раз из контейнера, а затем перестали работать корректно, и я вижу ресурсы с хоста, а не из контейнера. Я также пробовал подключаться к контейнеру через тот же IP Tailscale по SSH, и это подключается к правильному экземпляру - контейнеру, а не хосту. Tailscale настроен с использованием опции Добавить сервер Linux на сайте Tailscale.

1 просмотр
WikiRoot спросил 1 час назад
W

1 ответ

0
Принятый ответ

Чтобы решить проблему с подключением к SMB-ресурсу в контейнере Incus, выполните следующие шаги:

  1. Проверьте настройки Samba в контейнере. Убедитесь, что в конфигурационном файле Samba (обычно /etc/samba/smb.conf) правильно указаны параметры, такие как interfaces и bind interfaces only. Попробуйте установить:

    interfaces = tailscale0
    bind interfaces only = yes
    

    Это заставит Samba слушать только на интерфейсе Tailscale.

  2. Проверьте, что контейнер работает. Убедитесь, что контейнер запущен, и Samba также запущен внутри контейнера. Вы можете использовать команду:

    systemctl status smbd
    

    для проверки статуса службы Samba.

  3. Настройте файрвол. Убедитесь, что файрвол на хосте не блокирует порты, используемые Samba (обычно 445 и 139). Проверьте настройки iptables или ufw.

  4. Проверьте доступность ресурсов. Попробуйте подключиться к SMB-ресурсу из другого устройства в сети, используя IP-адрес контейнера, а не хоста. Убедитесь, что вы используете правильный путь к ресурсу, например:

    \100.108.xxx.xx\имя_ресурса
    
  5. Перезапустите службы. Если изменения не вступили в силу, перезапустите Samba и контейнер:

    systemctl restart smbd
    incus restart timemachine
    
  6. Проверьте логи. Если проблема не решена, проверьте логи Samba на наличие ошибок. Логи обычно находятся в /var/log/samba/. Это может дать подсказки о том, что идет не так.

Если после выполнения всех этих шагов проблема сохраняется, возможно, стоит проверить настройки Tailscale и убедиться, что он корректно настроен для работы с контейнерами.

WikiRoot ответил 1 час назад
W