背景
我有一个大约有 5000 个工作站和大约 1000 个服务器的环境。
我的所有文件共享服务器都运行 Windows Server 2012 或更高版本,因此支持 SMBv3。
我的大约一半工作站是 Windows 10,因此支持 SMBv3;但另一半是 Windows 7,因此仅支持 SMBv2 或更低版本。
我正在努力更换这些 Windows 7 机器,但还需要一段时间。我们已经支付了延长支持的费用,所以再等一年也没问题。
我的问题
当可以实现 SMBv3 连接时,是否可以强制进行 SMBv3 连接,但在其他情况下支持 SMBv2?
例子:
Windows 10 工作站访问“会计”部门共享以获取文件。工作站和部门共享(我们的文件服务器)之间的连接是通过 SMBv3 进行的
Windows 7 工作站访问“会计”部门共享以获取文件。工作站和部门共享(我们的文件服务器)之间的连接是通过 SMBv2 进行的
编辑
我Get-SmbConnection
在 Win10 工作站上运行到我的文件服务器,它报告版本 3.02。
但是,在工作站和共享之间传输文件时运行 Wireshark 会显示 SMBv2,Wireshark 能够从捕获的数据包中重新创建传输的文件。SMBv3 是加密的,因此如果是加密的,这应该是不可能的。
我想这就是我的困惑的根源所在。
答案1
这就是 SMB 按照规范运行的方式。它将以双方支持的最高版本进行连接。Server 2012 到 Windows 10 = smb3,7 到 server 2012,smb2 等。这可以 Get-SmbConnection
在任何与另一台主机建立 smb 连接的主机上使用 powershell 中的 cmdlet 进行验证。