fulibo123 发表于 2023-10-22 09:37

SMB的一些设置


----------------禁用来宾身份验证和回退


禁用来宾访问时,可以防止恶意行动者创建服务器并诱骗用户使用来宾访问权限来访问该服务器。
例如,当用户访问欺骗性共享时,他们的凭据将会出错,而 SMB 1.0 将回退为使用来宾访问。
禁用来宾访问会阻止 SMB 会话连接,从而阻止用户访问该共享和任何恶意文件。


在权限提升的 PowerShell 提示符下,运行以下命令:


PowerShell


Set-SmbClientConfiguration -EnableInsecureGuestLogons $false -Confirm:$false


---------------强制使用 SMB 3.1.1


请在权限提升的 PowerShell 提示符下运行以下命令:


PowerShell


Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "MinSMB2Dialect" -Value 0x000000311
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "MaxSMB2Dialect" -Value 0x000000311




-------------------始终尝试压缩(SMB 客户端)
以管理员身份打开提升的 Azure PowerShell 命令提示符。


若要使 SMB 客户端始终尝试压缩文件:


PowerShell


Set-SmbClientConfiguration -RequestCompression $true


-------------从不压缩(SMB 客户端)


PowerShell
以管理员身份打开提升的 Azure PowerShell 命令提示符。


若要始终不允许 SMB 客户端压缩文件,而不考虑任何其他请求:


PowerShell


Set-SmbClientConfiguration -DisableCompression $true


----------------始终尝试压缩(SMB 服务器)


PowerShell
以管理员身份打开提升的 Azure PowerShell 命令提示符。


若要使 SMB 服务器始终尝试压缩文件:


PowerShell


Set-SmbServerConfiguration -RequestCompression $true


---------------------------从不压缩(SMB 服务器)


PowerShell
以管理员身份打开提升的 Azure PowerShell 命令提示符。


若要始终不允许 SMB 客户端压缩文件,而不考虑任何其他请求:


PowerShell


Set-SmbServerConfiguration -DisableCompression $true


-----------------------使用 Windows PowerShell 启用 SMB 加密


登录到服务器,并在提升的会话中在计算机上运行 PowerShell。


若要为单个文件共享启用 SMB 加密,请运行以下命令。


PowerShell


Set-SmbShare –Name <sharename> -EncryptData $true


若要为整个文件服务器启用 SMB 加密,请运行以下命令。


PowerShell


Set-SmbServerConfiguration –EncryptData $true


若要创建新的 SMB 文件共享并启用 SMB 加密,请运行以下命令。


PowerShell


New-SmbShare –Name <sharename> -Path <pathname> –EncryptData $true


----------------查看SMB版本


  Windows10以上普遍采用SMB3.0。而SMB1.0在Windows系统已经默认不开启。我建议设备最好全部采用SMB3.0。


  客户端主机查看SMB版本,打开powershell输入命令:


  Get-SMBConnection


---------------服务端主机查看SMB版本,打开powershell输入命令:


  Get-SMBSession | FL


---------------SMB客户端开启大型MTU


  客户端主机开启SMB大型MTU支持提升文件传输效率,并禁用带宽限制。打开powershell输入如下命令:


  Set-SmbClientConfiguration -EnableBandwidthThrottling 0 -EnableLargeMtu 1


---------------开启SMB多通道


  如果你的电脑有多个网口,希望通过多网口提升SMB传输速度,可以开启SMB多通道支持(SMB3.0)。SMB默认开启多通道支持,查看SMB多通道状态可以打开powershell输入命令:


  Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel


-----------------如果你想禁用SMB多通道(虽然完全没必要),可以用如下命令:


#服务端禁用SMB多通通
Set-SmbServerConfiguration -EnableMultiChannel $false


#客户端禁用SMB多通通
Set-SmbClientConfiguration -EnableMultiChannel $false


-----------------如果你想开启SMB多通道,可以用如下命令:


  #服务端启用SMB多通通


  Set-SmbServerConfiguration -EnableMultiChannel $ture


  #客户端启用SMB多通通


  Set-SmbClientConfiguration -EnableMultiChannel $ture


--------------如果客户端和服务端已经连接,可以通过输入下面的命令查看多通道是否可用:


  Get-SmbMultichannelConnection |fl


  查看MaxChannels和CurrentChannels这两列,可以看到多通道连接情况:


-----------SMB多通道包含2个概念:


一是调用多线程多TCP连接提升连接速度,
二是调用多个网速相同的网卡提升连接速度。


实测如果2个网卡速度不一样,SMB默认走速度高的网卡,速度低的网卡会限制。


SMB还可以通过修改注册表优化参数来提升性能,但是对于家用SMB而言就完全不必这么折腾。
SMB共享对于Windows设备而言设置简单,连接稳定,性能也很不错。

yc_90950 发表于 2023-10-22 12:48

谢谢分享,辛苦了。

缘来此景 发表于 2023-10-22 16:10

感谢分享~

qq2348227 发表于 2023-10-22 16:48

太高端了…一下子吃下肚,消化不掉~留个记号,以后来学习~

感谢 LZ

hongdadu 发表于 2023-10-22 16:53

感谢楼主的分享

devilma 发表于 2023-10-22 17:23

学习了,谢谢提供。

wangwuijun 发表于 2023-10-22 17:41

sxbjgh 发表于 2023-10-22 18:42

感谢分享!!!

xingliqing 发表于 2023-10-22 19:28


感谢楼主的分享

月如霜 发表于 2023-10-22 19:56

谢谢科普分享!

sweet_521 发表于 2023-10-22 21:17

原来有这么多技巧,感谢科普

crazy5 发表于 2023-10-23 00:32

如何检测 SMB 协议状态
Get-SmbServerConfiguration | Select EnableSMB2Protocol

单纯Get-SmbServerConfiguration没有任何输出

yxd663 发表于 2023-10-27 13:44

感谢分享,支持!{:8_533:}

calvinzhang 发表于 2023-10-28 10:51

说了半天,smb是个啥,干啥用的,啥业务需要用到,有木有人能科普一下?

guanyijian 发表于 2023-11-22 21:31

这个干嘛用的

wangjinzhou 发表于 2023-11-22 21:37

要是可以写个脚本可以选择就好了

ccusecn 发表于 2023-12-5 10:30

多谢楼主分享
页: [1]
查看完整版本: SMB的一些设置