Ошибка Samba: reply_trans: недопустимые параметры трансляции

Ошибка Samba: reply_trans: недопустимые параметры трансляции

Я пытаюсь включить общий доступ к папкам через Samba на моем сервере Ubuntu 18.04;

Что я уже сделал:

  1. Отредактируйте /etc/samba/smb.conf следующим образом:
[global]
workgroup = WORKGROUP
interfaces = lo eth0
server role = standalone server
server string = Samba Server %v
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no
bind interfaces only = yes
log file = /var/log/samba/smb.log
max log size = 10000

[Public]
   path = /samba/share
   writable = yes
   guest ok = yes
   guest only = yes
   read only = no
   create mode = 0777
   directory mode = 0777
   force user = nobody
  1. Запустите testparm с этим результатом
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing
rlimit_max (1024) to minimum Windows limit (16384) Processing section
"[Public]" Loaded services file OK. Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters [global]
    bind interfaces only = Yes
    dns proxy = No
    interfaces = lo eth0
    log file = /var/log/samba/smb.log
    map to guest = Bad User
    max log size = 10000
    name resolve order = bcast host
    security = USER
    server role = standalone server
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    create mask = 0777
    directory mask = 0777
    force user = nobody
    guest ok = Yes
    guest only = Yes
    path = /samba/share
    read only = No
  1. Перезапустить smbd.service
  2. Попытка входа через Windows; Windows не может получить доступ к \SERVERNAME\...
  3. Посмотреть журнал ошибок
[2019/06/23 21:05:54.565424,  0]
../lib/util/become_daemon.c:124(daemon_ready)   STATUS=daemon 'smbd'
finished starting up and ready to serve connections [2019/06/23
21:06:34.482176,  0] ../source3/smbd/ipc.c:843(reply_trans)  
reply_trans: invalid trans parameters

Я занимаюсь этим уже около 5 дней, есть ли у кого-нибудь подсказки, что происходит? Как это исправить? Мне просто нужна одна публичная папка и еще одна для ограниченного доступа.

решение1

только интерфейсы привязки = Да

интерфейсы = lo eth0

Вы говорите samba использовать только определенные интерфейсы, но тот, который вы указали ( eth0 ), не существует в Ubuntu 18.04. Это другая форма.

Если у вас нет причин что-либо указывать и вы предпочитаете позволить Samba разобраться с этим самостоятельно, я бы удалил эти две строки из smb.conf и перезапустил smbd:

sudo service smbd restart

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

nmcli device show | grep DEVICE

решение2

Теперь Windows использует WSD (обнаружение веб-сервисов?), который не включен в различные версии Samba, доступные начиная с Ubuntu 19.04.

На github есть проект, реализующий WSD, написанный на Python. Его можно найти по адресуhttps://github.com/christgau/wsddили напрямую загрузить наhttps://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py

Частью хитрости использования этого метода является то, что вам нужно будет включить несколько портов в вашем брандмауэре:

Для работы wsdd должны быть открыты порты 5357/tcp и 3702/udp.

wsdd можно запустить из командной строки, или можно создать службу systemd для его запуска.

Это активная (возможно) область разработки Samba, и некоторую информацию о ней можно найти на сайтеhttps://www.ixsystems.com/community/resources/how-to-kill-off-smb1-netbios-wins-and-still-have-windows-network-neighbourhood-better-than-ever.106/и в настоящее время доступен в пользовательском репозитории Arch, и, по-видимому, в нескольких других дистрибутивах. Он также упоминается в AskUbuntu насделать общий ресурс Samba видимым в Windows «Сеть»

Начинаем как услуга

Я создал файл сервисного модуля systemd для wsdd, /lib/systemd/system/wsdd.service его содержимое следующее:

[Unit]
Description=WSDD Network Service
BindsTo=smbd.service
After=smbd.service

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/bin/wsdd
#ExecReload=/user/bin/wsdd

[Install]
WantedBy=multi-user.target

Затем я перешел wsdd.pyк /usr/bin/wsddи изменил его разрешения на 555 (чтение и выполнение).

Наконец, sudo systemctl enable wsdd.serviceперезагрузка — и моя система Ubuntu теперь видна моим компьютерам Win10.

Связанный контент