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

can*_*r95 3 samba smb windows-10

除了使用 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 上启用什么吗?

Mor*_*us1 5

没有办法让 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
Run Code Online (Sandbox Code Playgroud)

[2] 解压:

unzip master.zip
Run Code Online (Sandbox Code Playgroud)

[3]重命名python脚本

sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd
Run Code Online (Sandbox Code Playgroud)

[4] 复制到/usr/bin

sudo cp wsdd-master/src/wsdd /usr/bin
Run Code Online (Sandbox Code Playgroud)

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

sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system
Run Code Online (Sandbox Code Playgroud)

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

#User=nobody
#Group=nobody
Run Code Online (Sandbox Code Playgroud)

[7] 然后启用服务:

sudo systemctl daemon-reload
sudo systemctl start wsdd
sudo systemctl enable wsdd
Run Code Online (Sandbox Code Playgroud)

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