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 = SMB3
和server 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 的形式运行命令,然后运行您要指定的任何其他选项。