在主机上测试 Samba 服务器导致 NT_STATUS_INVALID_NETWORK_RESPONSE

在主机上测试 Samba 服务器导致 NT_STATUS_INVALID_NETWORK_RESPONSE

smbclient -L localhost在 Samba 服务器主机上运行返回:

Unable to initialize messaging context
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

不知道我是不是做了什么蠢事。谷歌搜索没有找到任何结果。希望得到任何帮助。

相关信息如下。如果我能提供其他信息,请告诉我。


服务器正在Ubuntu 19.04 Live Server运行Samba 4.10.0

systemctl status smbd.service并且systemctl status nmbd.service两者都返回Active: active (running)Status: *mbd: ready to serve connections...所以看起来它们运行良好。

使用服务器的本地 IP 地址ifconfig(即192.168.1.xxx)而localhost不是不起作用。

添加client max protocol = SMB3到全局配置设置没有任何作用。server max protocol = SMB3似乎已经是默认设置了。在客户端最大行中添加client min protocol = SMB3server min protocol = SMB3添加也不起作用。

以 root 身份运行smbclient -L localhost会导致该Unable to initialize messaging context行消失,但该protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE行仍然会被打印。

相关目录的文件系统是 ZFS zpool,由四个 HDD 的条带镜像组成。zfs set sharesmb=on并且zfs set sharenfs=on针对所有文件系统进行了设置。

网络接口是eno1,但是将其添加到配置文件中并interfaces = 127.0.0.0/8 eth0 eno1不会bind interfaces only = yes执行任何操作。

不要认为这很重要,因为甚至没有达到这一步,但是已经为所有已经使用的用户帐户创建了 samba 帐户密码smbpasswd

不要认为这在这里很重要,但是ufw配置了ufw allow from 192.168.0.0/16 to any app Samba,但ufw彻底禁用也无济于事。

/etc/samba/smb.conf文件:

[global]
   workgroup = REDACTEDGROUP
   server string = REDACTED Samba Server v%v @ %h
   hide unreadable = yes
   read only = no
   hosts allow = 192.168.0.0/16
   hosts deny = 0.0.0.0/0
   log file = /var/log/samba/log.%m
   logging = file
   map to guest = Bad User
   max log size = 1000
   obey pam restrictions = Yes
   pam password change = Yes
   panic action = /usr/share/samba/panic-action %d
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   passwd program = /usr/bin/passwd %u
   server role = standalone server
   unix password sync = Yes
   usershare allow guests = Yes
   idmap config * : backend = tdb

[REDACTEDBox]
   comment = REDACTED file hosting
   path = /box/REDACTED
   valid users = @groupa, @groupb, @wheel
   write list = @groupa, @wheel
   read list = @groupb
   guest ok = no
   create mask = 0774
   directory mask = 0775

[PublicBox]
   comment = REDACTED public file hosting
   path = /box/public
   guest ok = yes
   create mask = 0775
   directory mask = 0775

testparm配置文件上没有发现任何问题。

答案1

我在 smbclient 命令中添加了 -m SMB3,问题就消失了。我在这里找到了解决方案:https://github.com/dperson/samba#troubleshooting

答案2

只需添加@hugues-antoine-rabany 的答案中链接的原始解释,它对我有用(抱歉,仍然无法评论):

尝试使用 smbclient 命令行工具进行连接。默认情况下,samba 仍尝试使用 SMB1,但该功能已弃用且存在安全问题。此容器默认使用 SMB2,尽管受支持,但出于不可知的原因,默认情况下已禁用,因此请以 smbclient -m SMB3 的形式运行命令,然后运行您要指定的任何其他选项。

相关内容