В данном примере рассматривается кластер из двух узлов (NGFW 1, NGFW 2), которые являются vpn-серверами и один удаленный узел (NGFW 3), выполняющий роль vpn-клиента. В примере использована версия ПО UserGate 6.1.9.
В разделе Сеть —> Интерфейсы включить/создать интерфейсы tunnel2 и tunnel3, режим адресации — статический. Указать IP-адреса для этих интерфейсов из разных подсетей, например: 172.30.255.1 и 172.30.250.1, маска 255.255.255.252. Выбрать зону VPN for Site-to-Site.
В разделе VPN —> Сети VPN cоздать сети VPN, в которых необходимо указать диапазоны подсетей, в которых находятся туннельные интерфейс, например:
В разделе VPN —> Серверные правила создать два серверных правила: зона источника — Untrusted, в качестве адреса назначения указывается физический ip адрес внешнего интерфейса. На каждое правило разный узел. Указать на каждое правило свой интерфейс tunnel и соответствующую ему сеть, например:
Настройки на стороне VPN-клиента
Аналогично стороне VPN-сервера, разрешить сервис VPN в зоне Untrusted и создать правила межсетевого экрана.
Создать профиль безопасности, аналогичный серверному.
Настроить туннельные интерфейсы, обязательно с адресацией в статическом режиме:
Создать два клиентских правила до каждого VPN-сервера по соответствующему туннелю.
Чтобы туннели корректно работали, необходимо, чтобы они строились с разных IP-адресов. На узле VPN-клиента можно использовать secondary адрес или адрес второго провайдера. Также можно создать VIP-адрес с помощью кластера отказоустойчивости. Необходимо создать правило NAT, где в SNAT IP указывается второй (запасной) IP-адрес, а в назначении указать один из VPN-серверов. Таким образом строится два независимых туннеля.
OSPF
Необходимо настроить OSPF, чтобы на мастер-узле метрики были автоматически в 2 раза ниже, чем на резервном узле. Так при переходе мастера на клиент придут актуальные маршруты. Общее описание настройки OSPF смотрите в статье Виртуальные маршрутизаторы.
Настройки на стороне VPN-сервера
В разделе Сеть —> Зоны разрешить OSPF в зоне с VPN.
В разделе Сеть —> Виртуальные маршрутизаторы выбрать Виртуальный маршрутизатор по умолчанию, сверху в выпадающем меню Настройки выбрать OSPF. Поставить флажок Включить. В поле Идентификатор маршрутизатора можно указать физический адрес узла; главное, что он должен быть уникален для каждого узла. Значение раздела Redistribute по документации, кратко: connected — маршруты до подключенных сетей; kernel — маршруты, прописанные статически.
Во вкладке Интерфейсы добавить интерфейс tunnel, соответствующий данному узлу. В данном примере для узла 192.168.122.83 добить интерфейс tunnel2. Также, если мы хотим передавать маршрут в подсеть за конкретным интерфейсом, добавить и его. В примере добавили port2, за которым находится сеть 10.10.20.0/24.
Во вкладке Области добавить область, в поле Идентификатор области поставить 0.
Во вкладке Интерфейсы выбираем добавленные интерфейсы.
На втором узле делаем аналогичные действия, но в поле Идентификатор маршрутизатора указываем его физический адрес, а во вкладке Интерфейсы — его туннель.
Настройки на стороне VPN-клиента
Алгоритм такой же, как и для сервера, но необходимо добавить уже оба туннеля сразу. Также в примере добавили port2, за которым находится сеть 100.100.100.0/24
После этого соседство должно установиться.
Проверка работы туннелей из CLI клиентского узла:
На узле VPN-клиента перейти в раздел Диагностика и мониторинг —> Маршруты. Нажать на значок фильтра и добавить OSPF, после чего должны появиться маршруты полученные посредством OSPF:
Как видно на примере выше, клиент получил маршрут в подсеть 10.10.20.0/24, находящуюся за сервером. Маршрут ведет в интерфейс tunnel3, который на данный момент соответствует активному узлу.
Результат просмотра маршрутов после инициации отключения мастер-узла:
Маршрут был перестроен в другой туннель, который теперь соответствует новому мастер-узлу.