В предыдущей статье была рассмотрена возможность использования брокера сетевых пакетов DS Integrity NG в качестве балансировщика сетевого трафика для кластера межсетевых экранов. В этой статье продолжим обсуждение и подробнее рассмотрим схемы такой балансировки.
При использовании брокера сетевых пакетов DS Integrity NG возможно построение различных схем балансировки, но общая черта для них одна – брокер ставится в разрыв на пути трафика от сети к МЭ. Мы рассмотрим наиболее распространенные схемы, а также сравним процесс балансировки трафика на брокере сетевых пакетов и на обычном роутере.
Общее представление о балансировке трафика на МЭ
Представим самую простую схему использования одного брокера для распределения трафика на МЭ, установленного между LAN/WAN сегментами сети.
В нашем случае, LAN/WAN – условное разделение, в реальных условиях это могут быть разные сегменты LAN/WAN/DMZ, сети ЦОД-ов и прочее. Три МЭ выбрано также условно, в настоящих задачах их может быть до нескольких десятков.
С помощью протокола OSPF или BGP строятся маршруты между всеми роутерами и всеми МЭ. Служебный трафик (ARP, OSPF, BGP) проходит через брокер без изменений, а пользовательский трафик брокер балансирует между доступными МЭ.
Механизм балансировки выполняется на основе расчета 5-tuple хеша из полей Src IP, Dst IP, Protocol, Src Port, Dst Port для каждого пакета. Для пакетов с одинаковым набором полей всегда будет вычисляться один и тот же хеш, соответственно пакеты одной сессии будут направляться на один МЭ (per-flow балансировка). В зависимости от потоков трафика и задач по балансировке, можно также использовать механизмы на основе расчета 2-tuple хеша, только Src IP или только Dst IP полей IP-пакета.
Брокер, пересылая пакет, подменяет установленный роутером MAC-адрес назначения на MAC-адрес МЭ, выбранного механизмом балансировки. В итоге брокер равномерно распределяет сессии по всем работоспособным МЭ.
При выходе произвольного МЭ из строя, его сессии перераспределяются на работающие МЭ. Уже установленные сессии, проходящие через рабочие МЭ, продолжают функционировать без изменений. Это достигается за счет использования механизма согласованного хеширования (сonsistent hashing).
Контроль за состоянием МЭ на брокере осуществляется с помощью функции Heartbeat. Брокер генерирует специальный пакет, отправляет его на МЭ и ожидает возврата этого пакета. При неполучении заданного количества Hearbeat пакетов, брокер считает МЭ вышедшим из строя и перераспределяет его трафик (сессии) на другие, работающие МЭ.
В качестве альтернативы Heartbeat можно использовать более простой механизм Keepalive, который позволяет проверять доступность МЭ стандартным протоколом ICMP Ping. Данный способ проще в настройке на МЭ в сравнении с Hearbeat, т.к. не требует создания дополнительных правил для возврата тестовых пакетов на брокер.
Главным плюсом данной схемы с одним брокером является простота в настройке и минимальное количество требуемого оборудования.
Отказоустойчивая схема балансировки трафика
Для повышения уровня отказоустойчивости реализуется схема балансировки трафика с помощью двух брокеров, работающих в режиме отказоустойчивого кластера.
Используется два брокера, оба находятся в активном режиме, настройка и работа аналогична предыдущей схеме. Отличие состоит в том, что между роутерами и МЭ реализовано две группы маршрутов: через основной брокер и через резервный (маршруты выбираются с помощью протокола OSPF или BGP). Когда основной брокер выходит из строя, трафик идет через резервный. Если он восстанавливает свою работоспособность, то трафик снова начинает проходить через основной маршрут.
Такая схема обеспечивает более высокий уровень надежности в сравнении с использованием одного брокера для распределения трафика на группу МЭ.
Балансировка трафика в схеме "МЭ между брокерами"
В отличие от схемы балансировки с помощью одного брокера, данное решение более надежно с позиции информационной безопасности, так как в случае неправильной настройки брокеров, трафик не сможет напрямую проходить между LAN и WAN, минуя МЭ.
Эту схему используют в тех случаях, когда необходимо физически разнести брокеры по разным сетевым сегментам. Это может понадобиться по ряду причин, например:
по требованиям политики безопасности может быть запрещено совмещать одно устройство в двух сетях с разными уровнями угроз;
для разграничения доступа к устройствам между различными группами пользователей, с разным уровнем доступа;
на одном брокере не хватает портов для подключения большого количества МЭ и сетевых сегментов.
По настройкам брокеров и роутеров данная схема схожа с балансировкой трафика с помощью одного брокера. Между роутерами и МЭ также поднимается протокол OSPF или BGP. Отличие в том, что в этой схеме, в каждом сегменте (LAN, WAN, DMZ или любой другой, исходя из задачи и требуемой топологии) размещается выделенный для этого сегмента брокер.
В отличие от схемы балансировки с помощью одного брокера, данное решение более надежно с позиции информационной безопасности, так как в случае неправильной настройки брокеров, трафик не сможет напрямую проходить между LAN и WAN, минуя МЭ.
Отказоустойчивое решение по балансировке трафика в схеме "МЭ между брокерами"
Для повышения уровня надежности решения с двумя брокерами, может быть реализована схема балансировки трафика с помощью четырех брокеров.
В данной схеме четыре брокера находятся в активном режиме, настройка и работа аналогична предыдущей схеме, маршруты выбираются с помощью протокола OSPF или BGP. Отличие состоит в том, что брокеры работают в парах — основная и резервная, а между роутерами и МЭ также реализовано два набора маршрутов: один через основную пару брокеров и один через резервную.
Если брокер из основной пары выходит из строя, трафик средствами OSPF или BGP будет направлен через резервную пару, если брокер восстанавливает свою работоспособность — трафик снова начинает проходить через основную пару.
Данное решение наиболее устойчивое и безопасное из всех перечисленных из‑за реализации резервирования брокеров и маршрутов, которые ведут к МЭ. Это позволяет снизить риск простоев и увеличить доступность и надежность сети в целом.
Отличия балансировки на брокере и роутере с ECMP
Есть принципиальная разница между балансировкой трафика на брокере и роутере с ECMP. Только на брокере сетевых пакетов можно гарантировать работу симметричной маршрутизации, а на роутере — нет.
Симметричная маршрутизация подразумевает, что входящие и исходящие IP‑пакеты между двумя устройствами проходят одним и тем же маршрутом. Ассиметричная маршрутизация возникает, если в сети появляется несколько одинаковых маршрутов между устройствами. В этом случае входящие и исходящие IP‑пакеты между двумя устройствами проходят разными маршрутами. Ассиметричная маршрутизация приводит к ряду проблем, связанных с увеличенной вариацией задержки (jitter), переупорядочиванием пакетов (reordering), прохождением NAT и МЭ.
Современные роутеры используют механизм ECMP, который не обеспечивает симметричность прохождения сессии в оба направления. То есть, роутер не сможет сохранить привязку сессий к МЭ в случае с балансировкой. Так как все современные MЭ работают в режиме отслеживания состояния сессий (Statefull), пакеты, пришедшие на МЭ без определенной сессии, будут отброшены. При выходе одного МЭ из строя, большинство сессий, еще работающих на других МЭ, будут перераспределены и разорваны, если использовать балансировку на роутере.
Таким образом, для симметричной per‑flow балансировки трафика на нескольких устройствах в прямом и обратном направлениях нужен брокер или специализированный балансировщик. Обычные роутеры таким функционалом не обладают. Для корректной работы кластера МЭ необходима симметричная per‑flow балансировка, так как каждый МЭ должен получать не случайный набор разбалансированных пакетов, а всю сессию.
На изображении показан пример балансировки и маршрут трафика одной сессии при работе через брокер. Сессия проходит в оба направления через один МЭ, сохраняя свою целостность. МЭ, работающий в режиме отслеживания состояния сессий, обеспечивает корректную обработку данной сессии.
Теперь рассмотрим, как работает балансировка с применением обычного роутера. Сессия проходит в оба направления разными маршрутами через разные МЭ. Соответственно, ни один из МЭ не увидит полную сессию (в оба направления). В таком режиме работы, даже легитимный трафик через МЭ не пройдет.
Дополнительные возможности брокера сетевых пакетов DS Integrity NG
Вместе с балансировкой трафика, брокер сетевых пакетов может зеркалировать необходимый проходящий трафик и отправлять его на устройства анализа сетевого трафика, системы хранения данных, параллельно работая по протоколам sFlow, SNMP, Syslog с оборудованием анализа событий в сети.
Благодаря такому режиму работы брокера, на нем консолидируется весь трафик организации, т. е. обеспечивается полная видимость сети. Это позволяет передавать трафик системам мониторинга и анализа, что существенно повышает уровень информационной безопасности. При такой консолидации трафика в одной точке, важно не забывать о ее резервировании.
Вместе с перечисленными возможностями балансировки брокер можно использовать для множества других задач, связанных с доставкой трафика. Но это тема для отдельной статьи, которую мы можем выпустить, если вам будет интересно. Пишите об этом в комментариях!
Мы описали лишь основы балансировки трафика, а в будущих статьях раскроем тему подробнее, например, о комбинациях брокеров с МЭ различных вендоров, криптошлюзов и многом другом — тема довольно обширна.
Если вы сталкивались с проблемами балансировки трафика в кластере межсетевых экранов, опишите их в комментариях или в группе https://t.me/dsintegrity — постараемся найти решение вместе!