Multi WAN

В данной инструкции рассматриваются сценарии использования Multi WAN для:

  • настройки переключения на резервные WAN-каналы при отказе основного канала (Отказоустойчивость);

  • балансировки трафика между WAN-каналами (Балансировка нагрузки).

../../_images/multiwan.png

Настройка отказоустойчивости

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

  1. Добавить IP-адреса мониторов к шлюзам.

  2. Добавить группу шлюзов.

  3. Настроить DNS для каждого шлюза.

  4. Использовать маршрутизацию на основе политик для использования группы шлюзов.

  5. Добавить правило брандмауэра для DNS-трафика, предназначенного для самого брандмауэра.

Пример настройки

Этот пример использует два, предварительно настроенных, WAN-шлюза, функционирующих отдельно друг от друг. IP-адреса для DNS и монитора IP-адресов, мы будем использовать DNS-службы Google 8.8.8.8 и 8.8.8.4. Можно использовать и свои собственные параметры.

Мы определяем WAN и WAN2, где WAN - наш основной (по умолчанию) шлюз.

Примечание

Перед стартом настройки группы шлюзов, в случае использования статических назначений, убедитесь, что оба интерфейса подключены к шлюзу в разделе Интерфейсы ‣ [XX]. При стандартной настройке, эти параметры отвечают за создание исходящих правил NAT, когда трафик покидает интерфейс и обрабатывают обратный путь, с помощью правил маршрутизации на основе политик: reply-to, route-to.

Настройка WAN-адаптеров

В нашем примере, устройство TING подключается к сети Интернет с помощью двух адаптеров - WAN и WAN2. Для адаптеров используются следующие настройки:

Имя адаптера

IP-адрес адаптера

IP-адрес шлюза, достижимого через адаптер

WAN

192.168.26.254

192.168.26.1

WAN2

192.168.27.254

192.168.27.1

Эти настройки нужно прописать в свойствах адаптеров в разделе Интерфейсы.

Настройки для адаптера WAN:

../../_images/iface_wan.png

Настройки для адаптера WAN2:

../../_images/iface_wan2.png

Настройка шлюзов

Перед настройкой Шлюзов необходимо перейти в Система ‣ Настройки ‣ Общие. Включить галочку «Переключение шлюзов».

../../_images/checkbox_multiwan.png

Пройдите в раздел Система ‣ Шлюзы ‣ Все. Модифицируйте имеющиеся записи о шлюзах следующим образом:

Запись GW_WAN:

Интерфейс

WAN

Шлюз по умолчанию

Флаг установлен

Данное подключение будет основным, другие будут резервными

Отключить мониторинг шлюзов

Флаг не установлен

Убедимся, что мониторинг включен

Мониторинговый IP-адрес

8.8.8.8

В качестве сервера для пропинговки мы используем один из DNS-серверов от Google

Пометить шлюз как недоступный

Флаг не установлен


Запись GW_WAN2:

Интерфейс

WAN2

Шлюз по умолчанию

Флаг не установлен

Данное подключение будет резервными

Отключить мониторинг шлюзов

Флаг не установлен

Убедимся, что мониторинг включен

Мониторинговый IP-адрес

8.8.4.4

В качестве сервера для пропинговки мы используем один из DNS-серверов от Google

Пометить шлюз как недоступный

Флаг не установлен


После осуществления настроек, мы имеем две записи о шлюзах, которые выглядят следующим образом:

../../_images/system_routes_all_configured.png

Расширенные настройки шлюзов

Для каждого шлюза могут быть настроены расширенные опции, которые меняют дефолтное поведение / пороги значений, например:

Пороговое значение задержки

Наименьшее и наибольшее пороговые значения для задержки в миллисекундах.

Пороговые значения потери пакетов

Наименьшее и наибольшее пороговые значения для потери пакетов в процентах.

Интервал опроса

Как часто посылается мониторинговые пакеты в секундах

Недоступен

Период времени в секундах после неудачного ICMP-запроса, по истечении которого шлюз считается недоступным

Средняя задержка

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

Среднее количество потеряных пакетов

Количество мониторинговых пакетов для вычисления среднего значения потерянных пакетов.

Задержка утраченного опроса

Задержка после которой вычисляется потеря пакетов.

Настройка шлюзовой группы

Пройдите в раздел Система ‣ Шлюзы ‣ Группа` и кликните на кнопку Добавить группу в верхнем правом углу страницы. Используйте следующие настройки:

../../_images/gateway_group.png

Кликните на кнопку Применить изменения.

Мы использовали потерю пакетов в качестве тригера для переключения на резервный интерфейс. Можно использовать и другие настройки:

Участник недоступен

Срабатывает при 100% потере пакетов.

Потеря пакетов

Срабатывает, когда потеря пакетов превышает установленное пороговое значение.

Большая задержка

Срабатывает, когда задержка превышает установленное пороговое значение.

Потеря пакетов и высокая задержка

Срабатывает, когда потеря пакетов превышает установленное пороговое значение или когда задержка превышает установленное пороговое значение.

Настройка межсетевого экрана

Для правильной работы межсетевого экрана необходимо модифицировать его настройки следующим образом.

Пройдите в раздел Межсетевой экран ‣ Правила, вкладка LAN.

Найдите преднастроенное правило Default allow LAN to any rule, откройте его на редактирование и в поле Шлюз укажите ранее созданную шлюзовую группу (в нашем примере, она называется GWGRP).

../../_images/gateway_option.png

Создайте правило Allow LAN to gateway rule со следующими настройками:

Действие

Разрешение

Интерфейс

LAN

Версия TCP/IP

IPv4

Протокол

Любой

Отправитель

LAN сеть

Диапазон портов источника

Любой - любой

Получатель

LAN адрес

Диапазон портов назначения

Любой - любой

Шлюз

По умолчанию

Описание

Allow LAN to gateway rule

Разместите правило Allow LAN to gateway rule выше в списке, чем правило Default allow LAN to any rule.

После осуществления манипуляций с правилами, список должен выглядеть аналогично тому, что указано на скриншоте:

../../_images/firewall_rules.png

Настройка DNS

Сделаем так, чтобы каждый из известных системе DNS-серверов был доступен через разные вышестоящие шлюзы.

Для этого, пройдите в раздел Система ‣ Настройки ‣ Общие настройки и осуществите настройки в соответствии со скриншотом:

../../_images/dns_settings.png

Настройка функционала отказоустойчивости завершена

Мы настроили два канала подключения к Интернету. Каждый из каналов представлен своим WAN-адаптером, использует собственный вышестоящий шлюз, и свой IP-адрес для мониторинга работоспособности. Работоспособность каждого канала измеряется благодаря отправке мониторинговых ICMP-запросов.

Первый канал представлен адаптером WAN, использует шлюз 192.168.26.1 и мониторинговый IP-адрес 8.8.8.8. Первый канал является основным.

Второй канал представлен адаптером WAN2, использует шлюз 192.168.27.1 и мониторинговый IP-адрес 8.8.4.4. Второй канал является резервным. Переключение на второй канал произойдет, если первый канал окажется неработоспособным.

Балансировка трафика между WAN-каналами

Примечание

При использовании нескольких шлюзов с одним и тем же уровнем, необходимо отключить общую переадресацию в Межсетевой экран ‣ Настройки ‣ Дополнительно.

Симметричная балансировка

Для настройки симметричной балансировки нагрузки между Интернет-каналами, выберите одинаковый ранг для обоих шлюзов в настройках шлюзовой группы.

Пройдите в раздел Система ‣ Шлюзы ‣ Группа, выберите ранее созданную группу GWGRP и модифицируйте ее настройки следующим образом:

../../_images/gateway_group_symmetric_balancing.png

В результате, поведение изменится с переключения при отказе на симметричное балансировку трафика между выбранными шлюзами. При этом, осуществляется балансировка на уровне соединений по циклическому алгоритму (round robin).

Sticky-соединения

Некоторые веб-сайты не любят менять IP-адреса запросов для одной и той же сессии, что может привести к неопределённому поведению. Для решения этой проблемы можно использовать опцию Sticky-соединения, которая обеспечит, чтобы каждый последующий запрос от одного и того же пользователя к одному и тому же сайту отправлялся через один тот же шлюз. Настройка данной опции осуществляется на странице Межсетевой экран ‣ Настройки ‣ Дополнительно.

На устройстве TING, в абсолютном большинстве случаев, настраивается механизм NAT. В зависимости от того, по какому каналу будет отправляться пакет, в нем будет прописываться соответствующий адрес WAN-адаптера (в нашем примере, это адрес 192.168.26.254 или адрес 192.168.27.254). Это значит, что может случиться ситуация, когда соединения от одного и того же компьютера во внутренней сети, будут восприниматься некоторым хостом в Интернете, как исходящие от разных IP-адресов. Некоторые веб-сайты ожидают того, что в течении сессии все запросы должны исходить от одного и того же IP-адреса. Доступ к таким веб-сайтам через устройство TING может работать некорректно, если включен функционал балансировки.

Для решения данной проблемы можно включить механизм т.н. фиксированных соединений. Пройдите в раздел Межсетевой экран ‣ Настройки ‣ Дополнительно и установите флаг Использовать фиксированные соединения.

Настройка балансировки трафика между WAN-каналами завершена.

Асимметричная балансировка (по весу)

Если у вас имеется два Интернет-канала, и один канал имеет большую пропускную способность чем другой, то можно установить настройки веса для каждого шлюза, и добиться тем самым ассиметричной балансировки нагрузки.

Допустим, шлюз GW_WAN доступен по каналу с пропускной способностью 10 Мбит/c, шлюз GW_WAN2 - по каналу с пропускной способностью 20 Мбит/c. Задайте вес первого шлюза как 1 и второго – как 2.

Сначала, выберите одинаковый ранг для для обоих шлюзов в настройках шлюзовой группы, так как это делалось для настройки симметричной балансировки.

Далее, пройдите в раздел Система ‣ Шлюзы ‣ Одиночный, и модифицируйте каждую из двух шлюзовых записей следующим образом:

../../_images/gwwan_weight.png

Как результат, через второй шлюз будет маршрутизироваться вдвое больше подключений чем через первый шлюз.

Комбинация балансировки и отказоустойчивости

Для комбинирования балансировки нагрузки и отказоустойчивости необходимо иметь 2 или более соединений WAN - для целей балансировки и ещё 1 или более - для отказоустойчивости. TING предлагает 5 уровней (групп отказоустойчивости) - в каждом уровне может быть множество ISP/WAN-шлюзов.