无法将 Samba 与 SMBv2 或 3 一起使用

无法将 Samba 与 SMBv2 或 3 一起使用

除了使用 SMBv1 之外,还有其他方法可以让 Linux 共享出现在网络(Win10-Home 和 Prof)中吗?

我正在运行带有 Samba 4.11.6 的 20.04,当使用 SMBv2 或 3 时,我无法通过网络从 Windows 10 访问我的 Linux 共享。我可以通过映射 \name\share 访问我的共享,或者在 Windows 上启用 SMBv1 时没有任何问题。

我不想使用 SMBv1 或使用 \name\share 方法。

我取消选中 Windows 中的所有 SMBv1 框,并在我的 smb.conf 文件中尝试了以下各种组合,但 SMB2 或 3 不起作用。

客户端最小协议 = SMB2

客户端最大协议 = SMB3

最小协议 = SMB2

最大协议 = SMB3

协议 = SMB2

协议 = SMB3

服务器最小协议 = SMB2

服务器最大协议 = SMB3

我还关闭了所有防火墙(Win/Linux)以进行故障排除,并尝试了不同的注册表破解,但到目前为止,唯一能使其发挥作用的方法是使用不安全的 SMBv1。我在 Win 或 Linux 上需要启用什么吗?

答案1

Win10 无法通过 NetBIOS 名称“发现”共享,因为这需要 SMB1。

如果需要,您可以使用 \linux-host-name.local 连接到服务器。

或者您可以在 Linux 服务器上配置 WS-Discovery:

我在启动板中将此作为错误/功能请求提交: https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1831441

github 上已经存在一些已经创建好的内容。可以在 Ubuntu 中使用它,但需要做一些工作来实现:

[1]下载文件:

wget https://github.com/christgau/wsdd/archive/master.zip

[2] 解压:

unzip master.zip

[3] 重命名python脚本

sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd

[4] 复制到/usr/bin

sudo cp wsdd-master/src/wsdd /usr/bin

[5] 软件包中已经提供了 systemd 服务文件,只需将其复制到正确的位置即可:

sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system

[6] 需要编辑 wsdd.service 文件( /etc/systemd/system/wsdd.service )来删除对 nobody 用户的引用:

#User=nobody
#Group=nobody

[7]然后启用服务:

sudo systemctl daemon-reload
sudo systemctl start wsdd
sudo systemctl enable wsdd

现在Win10可以使用自己的原生WSD协议发现Ubuntu服务器,无需启用smb1。

相关内容