Samba エラー: reply_trans: 無効なトランスパラメータ

Samba エラー: reply_trans: 無効なトランスパラメータ

Ubuntu 18.04 サーバーで Samba 経由でフォルダー共有を有効にしようとしています。

すでにやったこと:

  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 つと、アクセス制限用の共有 1 つだけです。

答え1

インターフェースのみをバインド = はい

インターフェース = lo eth0

samba に特定のインターフェースのみを使用するように指示していますが、指定したインターフェース ( eth0 ) は Ubuntu 18.04 には存在しません。これは別の形式です。

何かを指定する理由がなく、samba にこれを独自に解決させたい場合は、smb.conf から次の 2 行を削除して smbd を再起動します。

sudo service smbd restart

特定のインターフェースを指定したい場合は、次のコマンドを使用して実際の名前を見つけます。

nmcli device show | grep DEVICE

答え2

Windows は現在、WSD (Web サービス検出?) を使用していますが、これは Ubuntu 19.04 時点で利用可能なさまざまな Samba には含まれていません。

githubにはPythonで書かれたWSDを実装したプロジェクトがあります。https://github.com/christgau/wsddまたは直接ダウンロードhttps://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py

これを使用するコツの 1 つは、ファイアウォールを介していくつかのポートを有効にする必要があることです。

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でも言及されています。Windows の「ネットワーク」で samba 共有を表示する

サービスとして開始

wsdd用のsystemdサービスユニットファイルを作成しました。/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 コンピューターに表示されるようになりました。

関連情報