К основному контенту

👩🦽 Настройка bridge на Debian , выполняющий роль межсетевого экрана

# Задача: хотим внедрить в своей сети мост (bridge) на Debian,# выполняющий также задачи межсетевого экрана,# т.е. получить возможность фильтрации трафика, не сильно меняя топологию# и совсем не меняя адресацию в сети и шлюз по умолчанию.# Желательно, чтобы мост-МЭ при этом вообще не имел IP-адресов# на интерфейсах (обращенном наружу и смотрящему в защищаемую сеть)# Администрировать его и смотреть на нем логи предлагается локально# или путем подключения к выделенной сети администрирования# Ставим его в сети так, чтобы одним интерфейсом моста он был# подключен к провайдеру или другому уже имеющемуся шлюзу по умолчанию,# а другой «смотрел» в защищаемую ЛВС, например в порт коммутатора# Таким образом, приходящий извне трафик прежде чем попасть в защищаемую сеть# будет всегда проходить через мост на котором мы его будем фильтровать# с помощью iptablesСхема тестового стенда

SMB Multichannel — новая возможность протокола SMB 30

SMB (Server Message Block) — сетевой протокол для общего доступа к файлам. С помощью SMB приложение (или пользователь, это приложение использующий) может получать доступ к файлам и другим ресурсам удаленного сервера. Этот протокол может обмениваться данными с любой серверной программой, которая настроена на получение клиентских запросов SMB.

В Windows Server 2012 и Windows 8 реализована новая версия протокола — SMB 3.0, которая получила множество интересных возможностей. Об одной из этих возможностей, а именно о технологии SMB Multichannel мы сегодня и поговорим.

Описание SMB Multichannel 

Технология SMB Multichannel является частью протокола SMB 3.0 и позволяет поднять производительность и доступность файловых серверов. Суть SMB Multichannel заключается в следующем: если между клиентом и сервером доступно несколько сетевых путей, то SMB Multichannel автоматически обнаруживает их и начинает использовать по мере необходимости. При этом могут быть достигнуты две цели:

Увеличение пропускной способности — при передаче данных используются одновременно несколько сетевых подключений, установленных либо с помощью одного высокоскоростного (напр. 10GbE) сетевого адаптера, либо нескольких сетевых адаптеров. В случае нескольких адаптеров SMB Multichannel агрегирует их полосы пропускания;

Повышение отказоустойчивости —  в случае потери одного или нескольких соединений (отказ сетевого адаптера, обрыв кабеля и т.п.)  выполняемые сетевые операции, например копирование файла, не прерываются до тех пор, пока хотя бы одно соединение продолжает работать. Таким образом, при использовании нескольких сетевых адаптеров SMB Multichannel обеспечивает отказоустойчивость, правда только для операций по протоколу SMB.

Для работы SMB Multichannel необходимо выполнение двух требований:

1) SMB 3.0 на клиенте и на сервере. На текущий момент эта версия протокола доступна только в Windows Server 2012 и Windows 8.

2) Аппаратная конфигурация, поддерживающая SMB Multichannel.

Вот некоторые конфигурации, с которыми может работать SMB Multichannel.


конфигурации поддерживающие SMB Multichannel

Несколько сетевых адаптеров

При наличии нескольких сетевых адаптеров, если не задействована SMB Multichannel, то при подключении по SMB устанавливается одна сессия, создаётся одно TCP/IP подключение и используется только один сетевой адаптер. С SMB Multichannel для одной SMB-сессии будет создано несколько подключений (по одному на каждый сетевой адаптер). Это позволит SMB использовать общую пропускную способность всех сетевых адаптеров, а также продолжать работу в случае выхода одного из них из строя.

Несколько сетевых адаптеров, объединенных в группу

Windows Server 2012 позволяет объединять несколько сетевых адаптеров в группу при помощи технологии NIC Teaming. Хотя такое объединение и само по себе будет достаточно быстрым и отказоустойчивым, дополнительно можно задействовать SMB Multichannel.

SMB Multichannel создаст несколько TCP/IP подключений, что позволит лучше распределять нагрузку и использовать всю доступную пропускную способность, а NIC Teaming добавит отказоустойчивую конфигурацию, которая будет работать быстрее чем при использовании одного SMB Multichannel. Кроме того, NIC Teaming обеспечит отказоустойчивость любого сетевого трафика, а не только SMB.

Один или несколько сетевых адаптеров с поддержкой RSS

При обращении клиента к серверу по SMB открывается сессия, в рамках которой устанавливается одно TCP/IP-соединение. Обработка трафика по этому соединению осуществляется одним из доступных процессорных ядер, как правило CPU0. Некоторые сетевые адаптеры имеют функцию Receive Side Scaling (RSS), которая распределяет обработку сетевого трафика по всем доступным ядрам процессора.

При использовании SMB Multichannel, если сетевой адаптер поддерживает RSS, то протокол SMB в рамках одной сессии устанавливает несколько соединений (по умолчанию 4 на 1 RSS адаптер), а RSS, в свою очередь, распределяет обработку трафика через эти соединения по всем доступным процессорным ядрам.

Даже при наличии одного RSS-адаптера SMB Multichannel позволяет ускорить сетевые операции и более эффективно использовать имеющуюся полосу пропускания, особенно в случае 10-гигабитных сетевых адаптеров. Однако в конфигурации с одним физическим адаптером не обеспечивается отказоустойчивость, ведь если единственный адаптер выходит из строя, то теряются все соединения. Поэтому для повышения отказоустойчивости можно использовать несколько адаптеров с поддержкой RSS.

Один или несколько сетевых адаптеров с поддержкой RDMA

Технология Remote Direct Memory Access (RDMA) позволяет устройству получить прямой доступ к памяти (DMA) удаленного компьютера. Это дает возможность получить доступ к данным, хранящимся в удаленной системе напрямую, без привлечения операционной системы, при этом заметно увеличивается скорость работы с удаленными ресурсами.

SMB Multichannel отвечает за  обнаружение поддержки RDMA у сетевого адаптера, что в дальнейшем позволяет  использовать технологию SMB Direct (SMB over RDMA). Без SMB Multichannel SMB  будет использовать обычный TCP/IP даже при наличии RDMA-совместимых адаптеров.

При использовании SMB Multichannel SMB определяет у адаптера наличие поддержки RDMA и создает несколько RDMA-подключений для одной SMB-сессии (два на каждый сетевой адаптер). Это позволит SMB получить высокую пропускную способность, низкие задержки и низкую загрузку процессора. Если используется несколько RDMA сетевых карт, то конфигурация будет еще и отказоустойчивой.

Стоит иметь в виду, что если объединить RDMA-адаптеры в группу средствами NIC Teaming, то операционная система не определит у них поддержку RDMA. То есть при использовании  NIC Teaming возможности RDMA не доступны.

Настройка SMB Multichannel

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

Get-SmbClientConfiguration

И на сервере:

Get-SmbServerConfiguration


просмотр параметров SMB Multichannel

А проверить, поддерживает ли текущая конфигурация необходимые технологии можно командой:

Get-SmbClientNetworkInterface


просмотр параметров сетевых адаптеров

Изменять дефолтные настройки SMB Multichannel без крайней необходимости не рекомендуется. Тем не менее, для общего понимания мы рассмотрим некоторые из них.

Количество подключений

В зависимости от типа сетевого адаптера SMB Multichannel использует разное количество подключений:

• Для RSS-совместимых адаптеров — четыре TCP/IP подключения на один сетевой адаптер;
• Для RDMA-совместимых адаптеров — два TCP/IP подключения на один сетевой адаптер;
• Для всех остальных — одно TCP/IP подключение на один сетевой адаптер.

Кроме того, существует общее ограничение — восемь TCP/IP подключений на пару клиент/сервер, которое так же ограничивает количество подключений на сетевой адаптер.  Например, общее количество соединений на пару клиент/сервер устанавливается следующей командой:

Set-SmbClientConfiguration –MaximumConnectionCountPerServer

Количество подключений через RSS-совместимый адаптер:

Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface

Количество подключений через RDMA-совместимый адаптер:

Set-ItemProperty -Path ″HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\

Parameters″ ConnectionCountPerRdmaNetworkInterface -Type DWORD -Value–Force

Количество подключений для остальных типов адаптеров:

Set-ItemProperty -Path ″HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\

Parameters″ ConnectionCountPerNetworkInterface -Type DWORD -Value  –Force

Включение и отключение

Если по каким-то причинам необходимо отключить SMB Multichannel, это можно сделать следующими командами, на сервере и клиенте соответственно:

Set-SmbServerConfiguration -EnableMultiChannel $false
Set-SmbClientConfiguration -EnableMultiChannel $false

Для обратного включения используются эти же команды, но со значением $true

Избирательное включение

Для контроля SMB Multichannel в более сложных конфигурациях используются командлеты SmbMultichannelConstraint. Например, если у нас имеются четыре сетевых адаптера, но мы хотим, чтобы SMB Multichannel из них использовал только два, то можно использовать следующую команду:

New-SmbMultichannelConstraint -ServerName SRV12 -InterfaceIndex 12, 19

И здесь нужно иметь в виду, что:

• Настройки производятся на клиенте;
• Ограничения делаются на сервер, так как может понадобиться настраивать разные сетевые адаптеры для работы с разными серверами;
• К серверам, которые не указываются в ограничениях, применяются настройки по умолчанию;
• Указываются сетевые адаптеры, которые нужно использовать, а не наоборот.

 SMB Multichannel в действии

Проведем небольшое испытание возможностей SMB Multichannel. В качестве испытуемых возьмем две машины — клиент и сервер, на каждой по два гигабитных сетевых адаптера.

Отключаем SMB Multichannel на клиенте.


отключение SMB Multichannel

Запускаем копирование данных с сервера на клиент и открываем монитор ресурсов. Как видите, при отключенной SMB Multichannel задействован только один адаптер.


копирование файлов без использования SMB Multichannel

Включаем SMB Multichannel. После включения необходимо перезагрузить машину, иначе изменения не применятся.


включение SMB Multichannel

Опять запускаем копирование и видим, что теперь используются оба сетевых адаптера. И даже если отключить один из них, то связь не прервется и копирование будет продолжено.


копирование файлов с использованием SMB Multichannel

И чтобы убедиться окончательно, запускаем команду Get-SmbMultichannelConnection, которая показывает количество соединений клиент\сервер. В нашем случае их два, по одному на адаптер.


просмотр параметров подключения с использованием SMB Multichannel

В заключение напомню некоторые важные моменты, которые необходимы для работы SMB Multichannel:

• Наличие протокола SMB 3.0 на клиенте и на сервере. На данный момент SMB 3.0 есть только в Windows 8 и Windows Server 2012;
• Сетевые адаптеры должны работать на одной скорости.  При наличии сетевых адаптеров с различными скоростями работы SMB Multichannel будет использовать самый быстрый;
• Для сетевых адаптеров, не поддерживающих RDMA, лучше всего использовать комбинацию NIC Teaming и SMB Multichannel. Она даст наибольшую пропускную способность и отказоустойчивость;
• И наоборот, при наличии у адаптеров поддержки RDMA не рекомендуется использовать NIC Teaming, так как эти технологии не работают вместе.

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…