201803211348啟用或禁用 SMBv1、SMBv2 和 SMBv3

如何在 Windows 和 Windows Server 中

啟用或禁用 SMBv1、SMBv2 和 SMBv3

本文介紹如何在 SMB 客戶端和服務器組件上啟用/禁用服務器消息塊 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:

    1. Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
  • 若要在 SMB 服務器上禁用 SMBv1,請運行以下 cmdlet:

    1. Set-SmbServerConfiguration -EnableSMB1Protocol $false
  • 若要在 SMB 服務器上禁用 SMBv2 和 SMBv3,請運行以下 cmdlet:

    1. Set-SmbServerConfiguration -EnableSMB2Protocol $false
  • 若要在 SMB 服務器上啟用 SMBv1,請運行以下 cmdlet:

    1. Set-SmbServerConfiguration -EnableSMB1Protocol $true
  • 若要在 SMB 服務器上啟用 SMBv2 和 SMBv3,請運行以下 cmdlet:

    1. 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:

    1. Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
  • 若要在 SMB 服務器上禁用 SMBv2 和 SMBv3,請運行以下 cmdlet:

    1. Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
  • 若要在 SMB 服務器上啟用 SMBv1,請運行以下 cmdlet:

    1. Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
  • 若要在 SMB 服務器上啟用 SMBv2 和 SMBv3,請運行以下 cmdlet:

    1. 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,請運行以下命令:

    1. sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
    2. sc.exe config mrxsmb10 start= disabled
  • 若要在 SMB 客戶端上啟用 SMBv1,請運行以下命令:

    1. sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
    2. sc.exe config mrxsmb10 start= auto
  • 若要在 SMB 客戶端上禁用 SMBv2 和 SMBv3,請運行以下命令:

    1. sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
    2. sc.exe config mrxsmb20 start= disabled
  • 若要在 SMB 客戶端上啟用 SMBv2 和 SMBv3,請運行以下命令:

    1. sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
    2. 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. 右鍵單擊 註冊表 節點,指向 新建,然後選擇 註冊表項

    sg1

  4. 在 新建註冊表屬性 對話框中,選擇以下內容:

    • 操作: 創建
    • Hive: HKEY_LOCAL_MACHINE
    • 註冊表項路徑: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
    • 值名稱: SMB1
    • 值類型: REG_DWORD
    • 值數據: 0

    sg2

  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 現已作為依賴項刪除。

回應
new電腦展示
效能筆電重置+SSD
.....更多即時更新

http://photo.xuite.net/kk227/6201273

重置效能電腦+維修
.....更多即時更新

http://photo.xuite.net/kk227/6201275

資料救援/ 隨身硬碟
.....更多即時更新

http://photo.xuite.net/kk227/5984699

選手電腦-定遠資訊

LINE、微信、messenger

 

關鍵字





Powered by Xuite
    沒有新回應!