Windows server 2012 and smb

Поддержка SMB 1.0 в Windows Server 2012 R2 / Windows Server 2016

В Windows Server 2012 R2 была представлена новая версия протокола SMB 3 (технически это SMB 3.02, т.к. версия SMB 3.0 появлялась еще в Windows Server 2012), а драйвер устаревшего протокола SMB 1.0 теперь можно отключать, и блокировать загрузку его компонентов. Вследствии отсутствия поддержки SMB 1.0 устаревшие (Windows XP, Server 2003 ) и совместимые клиенты (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, старые версии Linux) не смогут получить доступ к файлам, расположенным файловом сервере под управлением Windows 2012 R2 / 2016.

Версии протокола SMB в Windows

SMB (Server Message Block, иногда называется LAN-Manager) это сетевой протокол для удаленного доступа к файлам, принтерам и другим сервисам. Для подключения используется порт TCP 445. Различные версии протокола SMB появлялись в следующих версиях Windows:

  • CIFS — Windows NT 4.0
  • SMB 1.0 — Windows 2000
  • SMB 2.0 — Windows Server 2008 и WIndows Vista SP1
  • SMB 2.1 — Windows Server 2008 R2 и Windows 7
  • SMB 3.0 — Windows Server 2012 и Windows 8 (появилась поддержка SMB шифрования)
  • SMB 3.02 — Windows Server 2012 R2 и Windows 8.1
  • SMB 3.1.1 – Windows Server 2016 и Windows 10

При сетевом взаимодействии по протоколу SMB между клиентом и сервером используется максимальная версия протокола, поддерживаемая одновременно и клиентом, и сервером.

Ниже представлена сводная таблица, по которой можно определить версию протокола SMB, которая выбирается при взаимодействии разных версий Windows:

Операционная система Win 10, Server 2016 Windows 8.1,
Server 2012 R2
Windows 8,
Server 2012
Windows 7,
Server 2008 R2
Windows Vista,
Server 2008
Windows XP, Server 2003 и ниже
Windows 10 ,
Windows Server 2016
SMB 3.1.1 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8.1 ,
Server 2012 R2
SMB 3.02 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8 ,
Server 2012
SMB 3.0 SMB 3.0 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 7,
Server 2008 R2
SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.0 SMB 1.0
Windows Vista,
Server 2008
SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 1.0
Windows XP, 2003 и ниже SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0

К примеру, при подключении клиентского компьютера с Windows 7 к файловому серверу с Windows Server 2012 R2 будет использоваться протокол SMB 2.1.

Чтобы на стороне сервера вывести список используемых клиентами версий протокола SMB и количество клиентов, используемых ту или иную версию протокола SMB, выполните команду:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique

В нашем примере имеется 825 клиентов, подключенных к серверу с помощью SMB 2.1 (Win 7 / 2008 r2) и 12 клиентов через SMB 3.02 (Win 8.1/ 2012 r2.

Согласно таблице Windows XP, Windows Server 2003 для доступа к общим файлам и папкам на сервере могут использовать только SMB 1.0, который в новых версиях Windows Server (2012 R2 / 2016) может быть отключен. Таким образом, если в вашей инфраструктуре одновременно используются компьютеры с Windows XP (снятой с поддержки), Windows Server 2003 / R2 и сервера с Windows Server 2012 R2 / Server 2016, нужно понимать, что устаревшие клиенты не смогут получить доступ к файлам и папкам на файловом сервере с новой ОС. А в том случае, если в Windows Server 2016 / 2012 R2 с отключенным SMB 1.0 используется в качестве контроллера домена, то это означает, что клиенты на Windows XP / Server 2003 не смогут выполнить логон скрипты (NETLOGON) и некоторые групповые политики, хранящиеся в сетевых папках на контроллерах домена (например, при использовании централизованного хранилища admx-шаблонов). На старых клиентах при попытке подключиться к ресурсу на файловом сервере с отключенным SMB v1 появляется ошибка:

Об опасности использования SMB1

На данный момент протокол SMB 1.0 является устаревшим и в нем присутствует большое количество критических уязвимостей (вспомните историю с эпидемиями вирусов-шифровальщиков wannacrypt и petya, которые использовали уязвимость именно в протоколе SMBv1). Microsoft и другие IT компании настоятельно рекомендуют отказаться от его использования.

В том случае, если в вашей сети остались клиенты с Windows XP и Windows Server 2003 их нужно как можно скорее мигрировать на более новые версии ОС Microsoft или тщательно изолировать.

Протокол SMB 1.0 в Windows Server 2012 R2

Если открыть список компонентов Windows Server 2012 R2, среди них можно увидеть функцию с именем SMB 1.0/CIFS File Sharing Support, которая не установлена. Но сам драйвер SMB 1.0 при этом работает. При установке данной роли в системе появляется служба Обозревателя компьютеров (Computer Browser). Это клиент SMB 1.0, без которого с данного сервера не получится подключиться к другим компьютерам, которые поддерживают только этот протокол.

Set-SmbServerConfiguration -EnableSMB1Protocol $false

В Windows Server 2012 по-умолчанию загружаются драйверы как SMB 1, так и SMB 2. Чтобы удостоверится в этом, откроем свойства системной службы Server (LanmanServer) и на вкладке Dependencies убедимся, что на сервере одновременно работают драйвера Server SMB 1.xxx Driver и SMB 2.xxx Driver.

Читайте также:  При установке windows забыла пароль

Если открыть свойства службы LanmanServer на Windows 2012 R2 мы увидим, что драйвер, обеспечивающий поддержку SMB 1.0, исключен из зависимостей.

Но это не говорит о том, что драйвер SMB 1.0 не работает. Проверить, включен ли протокол SMB 1.0 на стороне сервера можно командой:

Get-SmbServerConfiguration | Select EnableSMB1Protocol

Как вы видите, протокол SMB1 в WS 2012 R2 включен несмотря на отсутствие компонента SMB 1.0/CIFS File Sharing Support и зависимостей в службе LanmanServer.

В том случае, если устаревшие клиенты (XP / Server 2003 и т.д.) потеряли SMB доступ к файловым серверам / контроллерам домена на Windows Server 2012 R2 можно активировать поддержку SMB 1 следующим образом. Сначала включите протокол в настройках сервера:

Set-SmbServerConfiguration -EnableSMB1Protocol $true

Затем включите зависимости протокола SMB 1.0 в Windows Server 2012 R2 через реестр. Перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer и измените значение параметра DependOnService с SamSS Srv2 на SamSS Srv.

После этого сервер нужно перезагрузить и убедится, что драйвер SMB 1.0 вновь работает.

Эту операцию нужно выполнить на всех файловых серверах и контроллерах домена, к которым подключаются устаревшие версии клиентов.

Протокол SMB 1.0 в Windows Server 2016

В Windows Server 2016 поддержка протокола SMB 1.0 на стороне клиента также включается в виде отдельного компонента, который можно найти в списке мастера установки Add/Remove Features. Данный компонент называется SMB 1.0 / CIFS File Sharing Support.

Отключить поддержку SMB v1 и полностью удалить компонент можно командами:

Remove-WindowsFeature FS-SMB1
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled

Начиная с Windows Server 2016 1709 (и Windows 10 Fall Creators ), компонент SMBv1 (как клиент, так и сервер) по-умолчанию отключен (отключен также гостевой доступ по протоколу SMBv2). Для доступа к старым системам, использующим устаревшую версию протокола его нужно устанавливать отдельно. Нужно установить компонент SMB 1.0/CIFS File Sharing Support и включить SMB 1.0 командами:

Add-WindowsFeature FS-SMB1
Set-SmbServerConfiguration -EnableSMB1Protocol $true

How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows

Applies to: Windows 10, Windows 8.1, Windows 8, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

This article describes how to enable and disable Server Message Block (SMB) version 1 (SMBv1), SMB version 2 (SMBv2), and SMB version 3 (SMBv3) on the SMB client and server components.

While disabling or removing SMBv1 might cause some compatibility issues with old computers or software, SMBv1 has significant security vulnerabilities and we strongly encourage you not to use it.

Disabling SMBv2 or SMBv3 for troubleshooting

While we recommend that you keep SMBv2 and SMBv3 enabled, you might find it useful to disable one temporarily for troubleshooting, as described in How to detect status, enable, and disable SMB protocols on the SMB Server.

In Windows 10, Windows 8.1, and Windows 8, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, and Windows Server 2012, disabling SMBv3 deactivatesВ the following functionality (and also the SMBv2 functionality that’s described in the previous list):

  • Transparent Failover — clients reconnect without interruption to cluster nodes during maintenance or failover
  • Scale Out – concurrent access to shared data on all file cluster nodesВ
  • Multichannel — aggregation of network bandwidth and fault tolerance if multiple paths are available between client and server
  • SMB Direct – adds RDMA networking support for very high performance, with low latency and low CPU utilization
  • Encryption – Provides end-to-end encryption and protects from eavesdropping on untrustworthy networks
  • Directory Leasing — Improves application response times in branch offices through caching
  • Performance Optimizations — optimizations for small random read/write I/O

In Windows 7 and Windows Server 2008 R2, disabling SMBv2В deactivates the following functionality:

  • Request compounding — allows for sending multiple SMB 2 requests as a single network request
  • Larger reads and writes — better use of faster networks
  • Caching of folder and file properties — clients keep local copies of folders and files
  • Durable handles — allow for connection to transparently reconnect to the server if there is a temporary disconnection
  • Improved message signing — HMAC SHA-256 replaces MD5 as hashing algorithm
  • Improved scalability for file sharing — number of users, shares, and open files per server greatly increased
  • Support for symbolic links
  • Client oplock leasing model — limits the data transferred between the client and server, improving performance on high-latency networks and increasing SMB server scalability
  • Large MTU support — for full use of 10-gigabye (GB) Ethernet
  • Improved energy efficiency — clients that have open files to a server can sleep

The SMBv2 protocol was introduced in Windows Vista and Windows Server 2008, while the SMBv3 protocol was introduced in Windows 8 and Windows Server 2012. For more information about the capabilities of SMBv2 and SMBv3 capabilities, see the following articles:

How to remove SMB v1

Here’s how to remove SMBv1 in Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, and Windows 2012 R2.

SMB Direct SMB Direct

Применяется к: Windows Server 2012 R2, Windows Server 2012, Windows Server 2016. Applies to: Windows Server 2012 R2, Windows Server 2012, Windows Server 2016

В Windows Server 2012 R2, Windows Server 2012 и Windows Server 2016 включен новый компонент SMB Direct, который поддерживает использование сетевых адаптеров с функцией удаленного доступа к памяти (RDMA). Windows Server 2012 R2, Windows Server 2012, and Windows Server 2016 include a feature called SMB Direct, which supports the use of network adapters that have Remote Direct Memory Access (RDMA) capability. Сетевые адаптеры с RDMA могут работать на полной скорости с очень малой задержкой, используя при этом очень малую часть ресурсов ЦП. Network adapters that have RDMA can function at full speed with very low latency, while using very little CPU. При использовании этой функции для таких рабочих нагрузок, как Hyper-V и Microsoft SQL Server, работа с удаленным файловым сервером будет похожа на работу с локальным хранилищем. For workloads such as Hyper-V or Microsoft SQL Server, this enables a remote file server to resemble local storage. Особенности SMB Direct: SMB Direct includes:

  • Увеличение пропускной способности: полностью использует пропускную способность высокоскоростных сетей, в которых сетевые адаптеры координируют передачу больших объемов данных со скоростью линии. Increased throughput: Leverages the full throughput of high speed networks where the network adapters coordinate the transfer of large amounts of data at line speed.
  • Низкая задержка: обеспечивает предельно быстрые отклики на сетевые запросы, в результате чего создается ощущение, что удаленное хранилище файлов — это напрямую подключенное блочное хранилище. Low latency: Provides extremely fast responses to network requests, and, as a result, makes remote file storage feel as if it is directly attached block storage.
  • Низкая загрузка ЦП: использует меньше тактов центрального процессора во время передачи по сети, благодаря чему для серверных приложений остается больше мощности. Low CPU utilization: Uses fewer CPU cycles when transferring data over the network, which leaves more power available to server applications.
Читайте также:  Астра линукс для учебных заведений

SMB Direct автоматически настраивается операционной системой Windows Server 2012 R2 и Windows Server 2012. SMB Direct is automatically configured by Windows Server 2012 R2 and Windows Server 2012.

SMB Multichannel и SMB Direct SMB Multichannel and SMB Direct

SMB Multichannel — это компонент, отвечающий за обнаружение функций RDMA у сетевых адаптеров для включения SMB Direct. SMB Multichannel is the feature responsible for detecting the RDMA capabilities of network adapters to enable SMB Direct. Без SMB Multichannel при работе с сетевыми адаптерами с функцией RDMA в SMB используется обычный TCP/IP (стек TCP/IP имеется во всех сетевых адаптерах наряду с новым стеком RDMA). Without SMB Multichannel, SMB uses regular TCP/IP with the RDMA-capable network adapters (all network adapters provide a TCP/IP stack along with the new RDMA stack).

SMB при помощи SMB Multichannel определяет, обладает ли сетевой адаптер функцией RDMA, и затем создает несколько RDMA-соединений для данной сессии (по два соединения на интерфейс). With SMB Multichannel, SMB detects whether a network adapter has the RDMA capability, and then creates multiple RDMA connections for that single session (two per interface). Это позволяет SMB использовать высокую пропускную способность, малую задержку и низкую загрузку ЦП, присущие сетевым адаптерам с функцией RDMA. This allows SMB to use the high throughput, low latency, and low CPU utilization offered by RDMA-capable network adapters. К этому также добавляется отказоустойчивость, если используется несколько интерфейсов RDMA. It also offers fault tolerance if you are using multiple RDMA interfaces.

Не следует объединять несколько сетевых адаптеров, имеющих функцию RDMA, если вы планируете использовать функцию RDMA этих адаптеров. You should not team RDMA-capable network adapters if you intend to use the RDMA capability of the network adapters. При объединении сетевые адаптеры не поддерживают RDMA. When teamed, the network adapters will not support RDMA. После того как создано хотя бы одно сетевое соединение RDMA, соединение TCP/IP, изначально использовавшееся для согласования протокола, больше не используется. After at least one RDMA network connection is created, the TCP/IP connection used for the original protocol negotiation is no longer used. Однако соединение TCP/IP сохраняется в случае отказа соединений RDMA. However, the TCP/IP connection is retained in case the RDMA network connections fail.

Требования Requirements

Для поддержки SMB Direct необходимо соблюдать следующие требования. SMB Direct requires the following:

  • Требуются по меньшей мере два компьютера под управлением Windows Server 2012 R2 или Windows Server 2012. At least two computers running Windows Server 2012 R2 or Windows Server 2012
  • Один или несколько сетевых адаптеров с функцией RDMA. One or more network adapters with RDMA capability.

Вопросы использования SMB Direct Considerations when using SMB Direct

  • Можно использовать SMB Direct в отказоустойчивом кластере. Однако необходимо при этом убедиться, что сеть кластера, используемая для клиентского доступа, подходит для работы с SMB Direct. You can use SMB Direct in a failover cluster; however, you need to make sure that the cluster networks used for client access are adequate for SMB Direct. Отказоустойчивая кластеризация поддерживает использование нескольких сетей для клиентского доступа наряду с сетевыми адаптерами с поддержкой RSS (Receive Side Scaling) и RDMA. Failover clustering supports using multiple networks for client access, along with network adapters that are RSS (Receive Side Scaling)-capable and RDMA-capable.
  • SMB Direct можно использовать в управляющей операционной системе Hyper-V для поддержки использования Hyper-V через SMB и для обеспечения хранилища для виртуальной машины, которая использует стек хранилища Hyper-V. You can use SMB Direct on the Hyper-V management operating system to support using Hyper-V over SMB, and to provide storage to a virtual machine that uses the Hyper-V storage stack. Однако сетевые адаптеры с RDMA недоступны напрямую для клиента Hyper-V. However, RDMA-capable network adapters are not directly exposed to a Hyper-V client. Если подключить сетевой адаптер с RDMA к виртуальному коммутатору, виртуальные сетевые адаптеры этого коммутатора не будут поддерживать RDMA. If you connect an RDMA-capable network adapter to a virtual switch, the virtual network adapters from the switch will not be RDMA-capable.
  • При отключении SMB Multichannel отключается также и SMB Direct. If you disable SMB Multichannel, SMB Direct is also disabled. SMB Multichannel определяет возможности сетевого адаптера, в том числе поддержку функции RDMA; если SMB Multichannel отключен, SMB Direct не может использоваться клиентом. Since SMB Multichannel detects network adapter capabilities and determines whether a network adapter is RDMA-capable, SMB Direct cannot be used by the client if SMB Multichannel is disabled.
  • SMB Direct политика не поддерживается в Windows RT. SMB Direct is not supported on Windows RT. SMB Direct требует поддержки сетевых адаптеров с функцией RDMA, которая доступна только в Windows Server 2012 R2 и Windows Server 2012. SMB Direct requires support for RDMA-capable network adapters, which is available only on Windows Server 2012 R2 and Windows Server 2012.
  • SMB Direct не поддерживается в более ранних версиях Windows Server. SMB Direct is not supported on down-level versions of Windows Server. Она поддерживается только для Windows Server 2012 R2 и Windows Server 2012. It is supported only on Windows Server 2012 R2 and Windows Server 2012.
Читайте также:  Установка openvpn server linux

Включение и отключение SMB Direct Enabling and disabling SMB Direct

SMB Direct включается по умолчанию при установке Windows Server 2012 R2 и Windows Server 2012. SMB Direct is enabled by default when Windows Server 2012 R2 or Windows Server 2012 is installed. Клиент SMB автоматически определяет и использует несколько сетевых соединений, если обнаруживается соответствующая конфигурация. The SMB client automatically detects and uses multiple network connections if an appropriate configuration is identified.

Отключение SMB Direct Disable SMB Direct

Обычно отключение SMB Direct не требуется, но при необходимости отключить его можно, выполнив один из следующих сценариев Windows PowerShell. Typically, you will not need to disable SMB Direct, however, you can disable it by running one of the following Windows PowerShell scripts.

Чтобы отключить RDMA для определенного интерфейса, введите: To disable RDMA for a specific interface, type:

Чтобы отключить RDMA для всех интерфейсов, введите: To disable RDMA for all interfaces, type:

Если RDMA отключен на клиенте или сервере, система не может использовать его. When you disable RDMA on either the client or the server, the systems cannot use it. Network Direct — это внутреннее имя для базовой сетевой поддержки интерфейсов RDMA в Windows Server 2012 R2 и Windows Server 2012. Network Direct is the internal name for Windows Server 2012 R2 and Windows Server 2012 basic networking support for RDMA interfaces.

Повторное включение SMB Direct Re-enable SMB Direct

После отключения RDMA его можно снова включить, выполнив один из следующих сценариев Windows PowerShell. After disabling RDMA, you can re-enable it by running one of the following Windows PowerShell scripts.

Чтобы снова включить RDMA для определенного интерфейса, введите: To re-enable RDMA for a specific interface, type:

Чтобы снова включить RDMA для всех интерфейсов, введите: To re-enable RDMA for all interfaces, type:

Для того чтобы снова начать пользоваться RDMA, необходимо включить его и на клиенте, и на сервере. You need to enable RDMA on both the client and the server to start using it again.

Проверка производительности SMB Direct Test performance of SMB Direct

Проверить производительность можно с помощью одной из следующих процедур. You can test how the performance is working by using one of the following procedures.

Сравнение времени копирования файлов с использованием и без использования SMB Direct Compare a file copy with and without using SMB Direct

Чтобы оценить увеличенную пропускную способность SMB Direct, выполните следующее. Here’s how to measure the increased throughput of SMB Direct:

  1. Настройте SMB Direct Configure SMB Direct
  2. Измерьте время копирования большого файла с использованием SMB Direct. Measure the amount of time to run a large file copy using SMB Direct.
  3. Отключите RDMA в сетевом адаптере (см. раздел Enabling and disabling SMB Direct). Disable RDMA on the network adapter, see Enabling and disabling SMB Direct.
  4. Измерьте время копирования большого файла без использования SMB Direct. Measure the amount of time to run a large file copy without using SMB Direct.
  5. Снова включите RDMA в сетевом адаптере. Сравните результаты тестов. Re-enable RDMA on the network adapter, and then compare the two results.
  6. Чтобы не допустить влияния кэширования, поступайте следующим образом: To avoid the impact of caching, you should do the following:
    1. Копируйте большие объемы данных (больше, чем может разместиться в памяти). Copy a large amount of data (more data than memory is capable of handling).
    2. Производите копирование данных дважды: первый раз — для практики и второй раз — для собственно измерения времени. Copy the data twice, with the first copy as practice and then timing the second copy.
    3. Перезапускайте сервер и клиент перед каждым тестом для того, чтобы они работали в одинаковых условиях. Restart both the server and the client before each test to make sure they operate under similar conditions.

Сымитируйте отказ одного из сетевых адаптеров во время копирования файлов с использованием SMB Direct Fail one of multiple network adapters during a file copy with SMB Direct

Чтобы подтвердить отказоустойчивость SMB Direct, выполните следующее. Here’s how to confirm the failover capability of SMB Direct:

  1. Убедитесь, что SMB Direct работает в конфигурации для нескольких сетевых адаптеров. Ensure that SMB Direct is functioning in a multiple network adapter configuration.
  2. Запустите копирование большого файла. Run a large file copy. Во время копирования сымитируйте отказ одного из сетевых трактов путем отключения одного из кабелей (или отключения одного из сетевых адаптеров). While the copying is run, simulate a failure of one of the network paths by disconnecting one of the cables (or by disabling one of the network adapters).
  3. Убедитесь, что копирование продолжается с использованием других сетевых адаптеров и что не произошло ошибок копирования. Confirm that the file copying continues using one of the remaining network adapters, and that there are no file copy errors.

Чтобы не допустить сбоев рабочей нагрузки, которая не использует SMB Direct, убедитесь, что отключенный сетевой тракт не используется другой рабочей нагрузкой. To avoid failures of a workload that does not use SMB Direct, make sure there are no other workloads using the disconnected network path.

Оцените статью