Alexander A Manaeff -

 
 

Zyxel ZyWall USG 50 - настройка 2-х WAN интерфейсов

Обсуждения проблем с железом. Полезные советы по теме.

Модератор: UncleFather

Zyxel ZyWall USG 50 - настройка 2-х WAN интерфейсов

Сообщение UncleFather » 16 июн 2012 10:42, Сб

Проблема:

Имеется роутер Zyxel ZyWall USG 50. К обоим WAN портам подключены провайдеры.

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


Решение:

Например, можно поступить следующим образом:

  1. Создаем новый транк (Configuration - Interface - Trunk). Об алгоритмах распределения нагрузки Spillover, Weighted Round Robin, Least Load First читаем здесь.

  2. Делаем его транком по умолчанию (Default Trunk Selection)
    01.jpg


  3. В созданный транк добавляем WAN1 в режиме Active и WAN2 в режиме Passive
    02.jpg

В результате до тех пор, пока WAN1 работает, трафик идет только через него. При отключении WAN1 трафик пойдет через WAN2 (passive). После восстановления WAN1 трафик опять пойдет по нему.

При этом, при обращении из Internet к серверам ЛВС через WAN2 (то есть по его внешнему адресу), все будет работать нормально (если в Policy Route не прописано ничего, противоречащего этому).


Примечание:

Не забываем создать входящие правила NAT (DNAT) для обоих WAN интерфейсов и прописать правила Firewall. Чтобы NAT работал и для второго интерфейса необходимо дополнительно создать такие же правила как и для первого, только указав второй интерфейс (и соответственно внешний IP-адрес).


Если провайдер даёт только один IP, то для всех WAN включен дефолтный SNAT и локальные хосты будут выходить в Internet с тем адресом, который присвоен внешнему интерфейсу в настройках Interface -> Ethernet -> Интерфейс, но иногда нужно настроить трансляцию адресов при выходе из LAN в Internet каким-нибудь хитрым способом. Для этого настраиваем правила SNAT в разделе Network -> Routing -> Police Route для каждого WAN интерфейса.

Например, для случая когда работает одновременно только один интерфейс WAN1, а второй включается только в случае падения первого:
Для первого указываем:
  • Next-Xop:
    • Type: Interface
    • Interface: WAN1
    • Auto-Disable: - ставим галочку для случая, когда этот маршрут должен отключаться если падает канал, идущий через WAN1. Если галочку не поставим, то при падении интерфейса WAN1 пакеты, согласно этому правилу, все равно будут перенаправляться на WAN1, в результате чего получим нерабочую систему.
  • Address Translation:
    • Source Network Address Translation: outgoing-interface

Для второго:
  • Next-Xop:
    • Type: Interface
    • Interface: WAN2
  • Address Translation:
    • Source Network Address Translation: outgoing-interface


Логика работы этой схемы такова: пока работает WAN1, исходящие пакеты проверяются по порядку в записях Policy Route и как только встречают соответствующее правило, следуют ему. То есть как только исходящий пакет встретил первое правило - он направляется в WAN1. Дальнейшие правила уже не проверяются. Если WAN1 упал, то это правило становится неактивным, согласно его настройке "Auto-Disable: On", исходящие пакеты попадают на второе правило и, согласно ему, перенаправляются на WAN2. Понятно, что в этом случае, при работающем WAN1 бесполезно обращаться к серверам ЛВС из Internet по адресу WAN2, поскольку исходящие пакеты будут выходить через WAN1.
То есть - пока WAN1 работает - обращаемся извне к своим серверам по адресу WAN1, как только он упал - обращаемся по WAN2. Это можно автоматизировать, обращаясь не по адресам а по именам, поставив каждому имени в настройках DNS по две записи IP адресов (WAN1 и WAN2) (см. окончание статьи).


Можно так же настроить NAT трансляцию в зависимости от критериев, например, если провайдером выданы несколько IP адресов для первого WAN интерфейса, то можно внутренний хост 1 отправлять вовне по первому адресу первого WAN интерфейса, а внутренний хост 2 - по второму адресу первого WAN интерфейса. Для этого создаем два правила Police Route для каждого из хостов:

  1. Для хоста 1:
    • Criteria:
      • Source Address: хост 1
    • Next-Xop:
      • Type: Interface
      • Interface: WAN1
    • Address Translation:
      • Source Network Address Translation: первый IP адрес, выданный провайдером

  2. Для хоста 2:
    • Criteria:
      • Source Address: хост 2
    • Next-Xop:
      • Type: Interface
      • Interface: WAN1
    • Address Translation:
      • Source Network Address Translation: второй IP адрес, выданный провайдером


Так же не забываем пробросить порты DNAT-ом (Network -> NAT). То есть создать перенаправления портов для пакетов, которые приходят из Internet в LAN. Создавать пробросы нужно для каждого WAN интерфейса. Ну и напоследок нужно будет прописать правила Firewall для обоих WAN интерфейсов.

Для того, чтобы удаленные клиенты могли бы подключаться вне зависимости от активного в данный момент WAN интерфейса, необходимо создать на DNS сервере записи, в которых для одного доменного имени указаны адреса обоих WAN интерфейсов.

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


Приложения:

Отличная статья "Настройка NAT в устройствах серии ZyWALL USG и NXC5200", где, в частности объясняется что такое DNAT (Destination NAT) и SNAT (Source NAT).
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1256
Зарегистрирован: 17 авг 2004 17:20, Вт

Вернуться в Железо

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff -
@Mail.ru .