Windows服务器如何启用/禁用SMBv1、SMBv2和SMBv3

98次阅读
没有评论

共计 5773 个字符,预计需要花费 15 分钟才能阅读完成。

行业资讯    
服务器    
Windows 服务器如何启用 / 禁用 SMBv1、SMBv2 和 SMBv3

这篇文章主要讲解了“Windows 服务器如何启用 / 禁用 SMBv1、SMBv2 和 SMBv3”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Windows 服务器如何启用 / 禁用 SMBv1、SMBv2 和 SMBv3”吧!

禁用 smbv2 和 smbv3 的影响

我们建议不要禁用 smbv2 或 smbv3。禁用 smbv2 或 smbv3 只能作为临时故障排除措施。请勿使 smbv2 或 smbv3 保持禁用状态。

禁用 smbv2 的影响

在 windows 7 和 windows server 2008 r2 中,禁用 smbv2 会停用以下功能:

请求复合 – 允许发送多个 smb 2 请求作为单个网络请求

大型读写 – 更好地利用更快速的网络

文件夹和文件属性缓存 – 客户端保留文件夹和文件的本地副本

持久句柄 – 如果临时断开连接,则允许连接以透明方式重新连接到服务器

改进的消息签名 – hmac sha-256 代替 md5 作为哈希算法

改进的文件共享扩展性 – 每个服务器的用户数量、共享数量和打开文件数量大大增加

支持符号链接

客户端 oplock 租赁模式 – 限制在客户端和服务器之间传输的数据,从而提高高延迟网络性能并增强 smb 服务器的扩展性

大型 mtu 支持 – 可充分利用 10 千兆字节 (gb) 以太网

改进的能效 – 向服务器打开文件的客户端可以睡眠

禁用 smbv3 的影响

在 windows 8、windows 8.1、windows 10、windows server 2012 和 windows server 2016 中,禁用 smbv3 会停用以下功能(以及以上列表中所述的 smbv2 功能):

透明故障转移 – 在维护或故障转移期间,客户端会重新连接,不会干扰群集节点

扩展 – 并发访问所有文件群集节点上的共享数据

多通道 – 如果客户端和服务器之间有多个路径可用时,则聚合网络带宽和容错

smb 直通 – 增加 rdma 网络支持,实现极高的性能、低延迟和低 cpu 利用率

加密 – 提供端到端加密,并防止不可靠网络上的窃听

目录租赁 – 通过缓存改进分支机构中应用程序的响应时间

性能优化 – 对小型随机读 / 写 i/o 的优化

在 smb 服务器上启用 / 禁用 smb 协议

windows 8 和 windows server 2012
windows 8 和 windows server 2012 引入了新的 set-smbserverconfiguration windows powershell cmdlet。通过此 cmdlet,你可以在服务器组件上启用或禁用 smbv1、smbv2 和 smbv3 协议。

注意:因为 smbv2 和 smbv3 共用一个堆叠,所以在 windows 8 或 windows server 2012 中启用或禁用 smbv2 时,也会启用或禁用 smbv3。

使用 powershell cmdlet

运行 set-smbserverconfiguration cmdlet 后,无须重启计算机。

  若要获取 smb 服务器协议配置的当前状态,请运行以下 cmdlet:

get-smbserverconfiguration | select enablesmb1protocol, enablesmb2protocol

若要在 smb 服务器上禁用 smbv1,请运行以下 cmdlet:

set-smbserverconfiguration -enablesmb1protocol $false

若要在 smb 服务器上禁用 smbv2 和 smbv3,请运行以下 cmdlet:

set-smbserverconfiguration -enablesmb2protocol $false

若要在 smb 服务器上启用 smbv1,请运行以下 cmdlet:

set-smbserverconfiguration -enablesmb1protocol $true

若要在 smb 服务器上启用 smbv2 和 smbv3,请运行以下 cmdlet:

set-smbserverconfiguration -enablesmb2protocol $true 

 windows 7、windows server 2008 r2、windows vista 和 windows server 2008

若要在运行 windows 7、windows server 2008 r2、windows vista 或 windows server 2008 的 smb 服务器上启用或禁用 smb 协议,请使用 windows powershell 或注册表编辑器。

使用 windows powershell 2.0 或更高版本的 powershell

若要在 smb 服务器上禁用 smbv1,请运行以下 cmdlet:

set-itemproperty -path hklm:\system\currentcontrolset\services\lanmanserver\parameters smb1 -type dword -value 0 -force

若要在 smb 服务器上禁用 smbv2 和 smbv3,请运行以下 cmdlet:

set-itemproperty -path hklm:\system\currentcontrolset\services\lanmanserver\parameters smb2 -type dword -value 0 -force

若要在 smb 服务器上启用 smbv1,请运行以下 cmdlet:

set-itemproperty -path hklm:\system\currentcontrolset\services\lanmanserver\parameters smb1 -type dword -value 1 -force

若要在 smb 服务器上启用 smbv2 和 smbv3,请运行以下 cmdlet:

set-itemproperty -path hklm:\system\currentcontrolset\services\lanmanserver\parameters smb2 -type dword -value 1 -force

注意:进行这些更改后,必须重启计算机。

使用注册表编辑器

注意:以下内容包含有关如何修改注册表的信息。修改注册表之前,一定要先对其进行备份。并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请查看 如何在 windows 中备份和还原注册表。

若要在 smb 服务器上启用或禁用 smbv1,请配置以下注册表项:

注册表子项:hkey_local_machine\system\currentcontrolset\services\lanmanserver\parameters 注册表项:smb1
reg_dword:0 = 已禁用
reg_dword:1 = 已启用
默认值:1 = 已启用
若要在 smb 服务器上启用或禁用 smbv2,请配置以下注册表项:

注册表子项:hkey_local_machine\system\currentcontrolset\services\lanmanserver\parameters 注册表项:smb2
reg_dword:0 = 已禁用
reg_dword:1 = 已启用
默认值:1 = 已启用

在 smb 客户端上启用 / 禁用 smb 协议

windows vista、windows server 2008、windows 7、windows server 2008 r2、windows 8 和 windows server 2012
注意:因为 smbv2 和 smbv3 共用一个堆叠,所以在 windows 8 或 windows server 2012 中启用或禁用 smbv2 时,也会启用或禁用 smbv3。

若要在 smb 客户端上禁用 smbv1,请运行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled

若要在 smb 客户端上启用 smbv1,请运行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto

若要在 smb 客户端上禁用 smbv2 和 smbv3,请运行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled

若要在 smb 客户端上启用 smbv2 和 smbv3,请运行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto

注意:

必须在提升的命令提示符中运行这些命令。
进行这些更改后,必须重启计算机。

使用组策略禁用 smbv1 服务器

这将在注册表中配置以下新项:

hkey_local_machine\system\currentcontrolset\services\lanmanserver\parameters 注册表项:smb1 reg_dword: 0 = disabled

使用组策略配置流程

1、打开组策略管理控制台。右键单击应包含新首选项的组策略对象 (gpo),然后单击 编辑。

2、在 计算机配置 下的控制台树中,展开 首选项 文件夹,然后展开 windows 设置 文件夹。

3、右键单击 注册表 节点,指向 新建,然后选择 注册表项。

4、在 新建注册表属性 对话框中,选择以下内容:

操作:创建
hive:hkey_local_machine
注册表项路径:system\currentcontrolset\services\lanmanserver\parameters
值名称:smb1
值类型:reg_dword
值数据:0

5、将此组策略应用到域中所有必需的工作站、服务器和域控制器,以禁用 smbv1 服务器组件。也可以将 wmi 筛选器设置为不包含不受支持的操作系统或选中的排除项(如 windows xp)。

注意:在旧版 windows xp 或 linux 早期版本以及第三方系统(不支持 smbv2 或 smbv3)需要访问 sysvol 或其他文件共享(已启用 smb v1)的域控制器上进行这些更改时要谨慎小心。

使用组策略禁用 smbv1 客户端

若要禁用 smbv1 客户端,需要将服务注册表项更新为禁止 mrxsmb10 启动,然后还需要将 mrxsmb10 的依赖项从 lanmanworkstation 项中删除,以便它可以正常启动(无需首先启动 mrxsmb10)。

这将更新和替换注册表以下 2 个项中的默认值

hkey_local_machine\system\currentcontrolset\services\mrxsmb10 注册表项:start reg_dword: 4 = disabled
hkey_local_machine\system\currentcontrolset\services\lanmanworkstation 注册表项:dependonservice reg_multi_sz:“bowser”,”mrxsmb20″,”nsi”
注意:默认包含的 mrxsmb10 现已作为依赖项删除。

使用组策略配置流程

1、打开组策略管理控制台。右键单击应包含新首选项的组策略对象 (gpo),然后单击 编辑。

2、在 计算机配置 下的控制台树中,展开 首选项 文件夹,然后展开 windows 设置 文件夹。

3、右键单击 注册表 节点,指向 新建,然后选择 注册表项。

4、在 新建注册表属性 对话框中,选择以下内容:

操作:更新
hive:hkey_local_machine
注册表项路径:system\currentcontrolset\services\mrxsmb10
值名称:start
值类型:reg_dword
值数据:4

 

然后删除刚刚禁用的 mrxsmb10 的依赖项

5、在 新建注册表属性 对话框中,选择以下内容:

操作:替换
hive:hkey_local_machine
注册表项路径:system\currentcontrolset\services\lanmanworkstation
值名称:dependonservice
值类型 reg_multi_sz
值数据:
bowser
mrxsmb20
nsi
注意:这 3 个字符串不带项目符号(具体如下)

在 windows 的多个版本中,默认值包括 mrxsmb10,通过将其替换为此多值字符串,实际上就删除了作为 lanmanserver 依赖项的 mrxsmb10,结果是从四个默认值减少为上述这三个值。

注意:使用组策略管理控制台时,无需使用引号或逗号。只需在各行键入每个项,如上面所示。

需要重新启动

应用策略且正确设置注册表后,必须重新启动目标系统,然后才能禁用 smb v1。

摘要
如果所有设置均在同一组策略对象 (gpo) 中,组策略管理将显示以下设置。

测试和验证

配置完成后即允许策略进行复制和更新。作为测试的必要步骤,请从 cmd.exe 提示符处运行 gpupdate/force,然后查看目标计算机,以确保注册表设置得以正确应用。确保 smbv2 和 smbv3 在环境中的所有其他系统中正常运行。

注意:请务必重新启动目标系统。

如何在 windows 8.1、windows 10、windows 2012 r2 和 windows server 2016 中轻松删除 smbv1

windows server:使用“服务器管理器”

windows server:使用 powershell (remove-windowsfeature fs-smb1)

windows 客户端:使用“添加或删除程序”

windows 客户端:使用 powershell (disable-windowsoptionalfeature -online -featurename smb1protocol)

感谢各位的阅读,以上就是“Windows 服务器如何启用 / 禁用 SMBv1、SMBv2 和 SMBv3”的内容了,经过本文的学习后,相信大家对 Windows 服务器如何启用 / 禁用 SMBv1、SMBv2 和 SMBv3 这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计5773字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)