我们有两台机器运行 Ubuntu,其中一台在一周左右之前从 19.10 升级到 20.04,另一台昨天升级。当第一个升级时,我们经历了 SMB 问题学习曲线,发现我们的路由器现在无法访问,因为它运行已停产的 SMB1 协议(这是我们的 ISP 提供它们的方式)。我们不得不添加
客户端最小协议 = NT1
到 20.04 机器上的 smb.conf 以使此访问再次工作。然后我们发现19.10的机器不能再访问20.04机器上的共享磁盘了,和路由器访问问题一样。更新 smb.conf
服务器最小协议 = NT1
在 20.04 机器上解决了这个问题,但给我们留下了不安全的访问权限。不好,但我们即将将另一台机器升级到 20.04,并希望能解决问题。它没有 - 两台机器都在 20.04 并且没有服务器最小协议参数,我们仍然得到同样的错误。在托管共享的机器上恢复服务器最小协议 = NT1 设置解决了问题,但我们又回到了不安全的访问。
我们还尝试添加
服务器最大协议 = SMB3
到主机上的 sbm.conf ,但这并没有什么区别,所以为了安全起见,我们不得不去掉 server min 协议参数并失去对共享的访问权限。这是个大问题。
我想了解的是我们是否在 smb 协议参数中出现了错误或缺失,或者某处是否真的限制了用于 SMB1(又名 NT1)的协议。我认为两台 20.04 机器应该协商两者都可以支持的最高协议(或最大协议设置允许的最高协议)。根据我们的设置,我认为这应该是 SMB3。
你有两个问题:
[1] 访问只能使用 SMB1 的服务器(在您的情况下为路由器)。
Samba 禁用了客户端 SMB1,因此如果您想使用 Nautilus,唯一的解决方法是“客户端最小协议 = NT1”编辑。您当然可以使用指定 smb1 的 CIFS 挂载,这样只有对路由器的访问才会受到影响。
[2] 访问在服务器端禁用了 SMB1 的服务器。(Win10、Ubuntu20等...)
这实际上是 GVFS 错误 ( gvfsd-smb-browse ) 而不是 samba 错误。但它涉及对服务器的“发现 - 然后访问”而不是自行访问。您仍然可以访问服务器,但您必须绕过错误并直接访问它。例如在连接到服务器中:
或者:
同样,您可以完全绕过 gvfs 并进行 CIFS 挂载,然后您可以指定所需的任何方言版本的 samba。