#1778: Принцип работы кластера Актив-Актив
Отредактирована: 557 дней назадСимптомы
Какой принцип работа кластера Актив-Актив? Имеются ли ограничения? Какие особенности публикации ресурсов?
Решение
Для корректной работы всех соединений (как из локальной сети, так и из внешней) требуется включать SNAT в адрес интерфейса того узла, через который устанавливается соединение, то есть отмечать чек-бокс SNAT во вкладке DNAT правил публикации и, наоборот, не использовать чек-бокс "Не менять адрес источника" в свойствах севера Revers-прокси, и не использовать параметр SNAT во вкладке Общие правил NAT.
Если со стороны провайдера трафик идёт с одного маршрутизатора - он будет направляться всегда на один узел кластера. То есть опубликованные через адрес одного провайдера сервисы в один момент времени будут обслуживаться одним узлом кластера. Вероятность распределения трафика от разных провайдеров на разные узлы кластера - 50%. Запросы из локальной сети, в случае если она находятся в одном широковещательном домене с NGFW (клиентские сети должны терминироваться на NGFW), при достаточном количестве хостов будут распределяться между узлами равномерно.
Причина
- Балансировка в кластере Актив-Актив осуществляется с помощью технологии ARP balancing, которая использует хеш для выдачи MAC адреса. Хеш с свою очередь создаётся на основе IP адреса клиента. При получении ARP-запроса от одного и того же IP адреса клиента, мастер будет выдавать всегда один и тот же MAC адрес из активных в настоящий момент узлов кластера. MAC адрес другой ноды он может выдать только в том случае, если у клиента сменится IP адрес, но с вероятностью 50%.
- В случае, если между NGFW и клиентами находится маршрутизатор, то балансировка работать не будет, так как ARP запрос на VIP адрес пошлет только сам маршрутизатор и ему вернется MAC адрес только одного из узлов, через который он и отправит весь трафик.
- Важно, чтобы прямые и обратные пакеты проходили всегда через один узел, так как синхронизация сессий между узлами происходит только для TCP трафика и того, который не попал в обработку прокси (в 7 версии также появилась возможность синхронизировать UDP)