Прямой SMB узла через TCP/IP

В этой статье описывается, как направить блок сообщений сервера узла (SMB) по ПРОТОКОЛу TCP/IP.

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 204279

Сводка

Windows поддерживает трафик совместного использования файлов и принтеров с помощью протокола SMB, размещенного непосредственно в TCP. Трафик SMB 1.0 и более ранних версий CIFS поддерживал протокол NetBIOS через TCP (NBT), поддерживающий транспорт UDP, но начиная с Windows Vista и Windows Server 2008 с SMB 2.0.2, требуется ПРОТОКОЛ TCP/IP через порт 445. Удаление транспорта NetBIOS имеет ряд преимуществ, в том числе:

  • Упрощение передачи трафика SMB.
  • Удаление wins и NetBIOS для широковещательной передачи в качестве средства разрешения имен.
  • Стандартизация разрешения имен в DNS для общего доступа к файлам и принтерам.
  • Удаление менее безопасного протокола NetBIOS в качестве метода атаки

Если включены как прямые размещенные интерфейсы, так и интерфейсы NBT, оба метода пробуются одновременно, и используется первый метод реагирования. Этот механизм позволяет Windows правильно работать с операционными системами, которые не поддерживают прямое размещение трафика SMB.

Дополнительная информация

NetBIOS по протоколу TCP обычно использует следующие порты:

  • NBName: 137/UDP
  • NBName: 137/TCP
  • NBDatagram: 138/UDP
  • NBSession: 139/TCP

Прямой размещенный трафик SMB без NetBIOS использует порт 445 (TCP). В этом случае перед трафиком SMB предшествует заголовок с четырьмя байтами. Первый байт этого заголовка всегда 0x00, а следующие 3 байта — это длина оставшихся данных.

Чтобы отключить NetBIOS через TCP/IP, выполните следующие действия. Эта процедура заставляет весь трафик SMB быть прямым размещенным трафиком SMB. Позаботьтесь о реализации этого параметра, так как это приводит к тому, что компьютер под управлением Windows не может взаимодействовать с более ранними операционными системами с помощью трафика SMB:

  1. Нажмите кнопку Пуск, наведите указатель на пункт Параметры, а затем выберите Сеть и коммутируемая связь.
  2. Щелкните правой кнопкой мыши подключение по локальной сети, а затем выберите Свойства.
  3. Выберите Протокол ИНТЕРНЕТА (TCP/IP) и выберите Свойства.
  4. Выберите Дополнительно.
  5. Перейдите на вкладку WINS и выберите Отключить NetBIOS через TCP/IP.

Вы также можете отключить NetBIOS по ПРОТОКОЛу TCP/IP с помощью DHCP-сервера, для которого для конкретного поставщика Майкрософт настроен код 1. Отключить NetBIOS через TCP/IP. Если для этого параметра задано значение 2, NBT отключается. Дополнительные сведения об использовании этого метода см. в файле справки DHCP-сервера в Windows.

Чтобы определить, включена ли netBIOS через TCP/IP на компьютере под управлением Windows, выполните net config redirector команду или net config server в командной строке. В выходных данных отображаются привязки для устройства NetbiosSmb (который является транспортом без NetBIOS) и для NetBT_Tcpip устройства (который является транспортом NetBIOS через TCP). Например, в следующем примере выходных данных показан как прямой размещенный транспорт, так и транспорт NBT, привязанный к адаптеру:

Workstation active on
NetbiosSmb (000000000000)
NetBT_Tcpip_{610E2A3A-16C7-4E66-A11D-A483A5468C10} (02004C4F4F50)
NetBT_Tcpip_{CAF8956D-99FB-46E3-B04B-D4BB1AE93982} (009027CED4C2)

NetBT_Tcpip привязан к каждому адаптеру по отдельности. Для каждого сетевого адаптера, к которому он привязан, отображается экземпляр NetBT_Tcpip. NetbiosSmb — это глобальное устройство, которое не привязано к каждому адаптеру. Таким образом, прямо размещенное SMB нельзя отключить в Windows, если вы не отключите общий доступ к файлам и принтерам для Microsoft Networks полностью.