Принцип работы
Технология MultiWAN на устройствах линейки ESR позволяет осуществить подключение к нескольким Интернет-провайдерам (ISP). Данный механизм является расширенной версией статической маршрутизации.
Суть работы механизма проста - интерфейсы, ведущие к стыкам с ISP включаются в процесс wan load-balance. Сам процесс необходимо привязать к маршруту по умолчанию, указав его в качестве next-hop'a. При активации процесса интерфейсы начинают отправлять ICMP-запросы до next-hop ( IP-адрес ISP в стыковочной адресации ), запрашивая целевые хосты, указанные в target-list. Если хосты доступны, интерфейс переходит в состояние Active и включается в процесс MultiWAN, инсталлируя маршрут в FIB.
Target-list может содержать до 50 ( 25 для ESR-10 ) target - хостов, проверка которых будет осуществляться назначенным интерфейсом одновременно. Некоторые хосты можно деактивировать, чтобы интерфейс не проводил по ним проверку, но при этом не нужно заново конфигурировать их с самого начала. Для этого в конфигурации целевых хостов присутствует команда enable, активирующая опрос данного хоста в рамках процесса MultiWAN:
wan load-balance target-list Target target 1 <...> enable exit exit
Доступность каждого target можно настроить в следующих режимах:
- basic
- extended
В режиме basic интерфейс проводит проверку целевого хоста ICMP-запросами, принятие решения о доступности целевого хоста регулируется допустимым значением положительных ответов на ICMP-запросы, задание которых осуществляется в конфигурации интерфейса. В данном режиме возможна регулировка времени ожидания ответа на запрос по протоколу ICMP.
В режиме extended проверка доступности целевого хоста осуществляется с учётом следующих параметров ICMP-сообщений:
- количество одновременно отправляемых ICMP-запросов
- пороговое значение jitter
- пороговое значение потерь
- период отправки ICMP-запросов
- максимальное пороговое значение круговой задержки
- максимальное время ожидания ответа на ICMP-запрос
По принципу работы технология MultiWAN поддерживает два режима :
- балансировка трафика
- резервирование трафика
В режиме балансировки каждый интерфейс, работающий в процессе MultiWAN и имеющий состояние Active, инсталлирует маршрут по умолчанию в FIB. Таким образом, при просмотре таблицы маршрутизации командой show ip route маршрут по умолчанию будет доступен сразу через несколько интерфейсов. Об этом информирует запись multipath с указанием всех линков, через которые данный маршрут доступен :
esr # show ip route Codes: C - connected, S - static, R - RIP derived, O - OSPF derived, IA - OSPF inter area route, E1 - OSPF external type 1 route, E2 - OSPF external type 2 route B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - FIB route S * 0.0.0.0/0 [1/0] multipath [static 10:04:36] via 10.0.0.1 on pppoe 1 weight 40 via 198.18.0.1 on gi1/0/2 weight 40 via 192.0.1.1 on gi1/0/1 weight 20
Балансировку трафика по линкам можно осуществлять при помощи весов - weight. Чем больше вес интерфейса, тем более приоритетным он будет считаться в FIB, тем больше трафика будет поступать через него.
В режиме резервирования лишь один единственный интерфейс имеет статус Active и будет доступен в качестве next-hop к маршруту по умолчанию, а все остальные имеют статус Inactive и не инсталлируют себя в качестве next-hop'a в FIB. Соответственно, и в FIB будет инсталлирован лишь один маршрут, доступный через единственный активный интерфейс. Параметром weight возможно принудительно задать интерфейс, который будет осуществлять передачу трафика.
Ниже мы рассмотрим 4 примера настройки технологии MultiWAN:
- режим basic
- режим extended
- режим failover
- метод "cellular-multiwan"
Пример basic
Схема стенда:
Задача:
Организовать балансировку трафика через трёх Интернет провайдеров, подключенных к ESR Border посредством трёх разных способов: IPoE, DHCP и PPPoE. Каждый из трёх каналов связи должен быть доступен ( находиться в статусе Active ), а маршрут по умолчанию должен содержать три валидных next-hop.
Терминология:
- ISP (Internet service provider) - интернет-провайдер, осуществляющий усулги по предоставлению доступа в сеть Интернет
- Офисный ПК - устройство, с которого трафик должен попасть к DNS Server, расположенный за шлюзами интернет-провайдеров в сети Интернет
- Border - устройство линейки ESR, на котором осуществляется конфигурация сервисов
- DNS Server - сервер системы доменных имён, расположенный в сети Интернет
- LAN-сегмент - локальный сегмент сети, администрируемый сетевым администратором организации
- WAN-сегмент - глобальная компьютерная сеть, не находящаяся в юрисдикции сетевого администратора организации
- Gi 1/0/1 - наименования физического интерфейса, с помощью которого осуществляется подключение к другим сетевым устройствам
- 192.168.0.0/24 - адрес сети, настроенный и использующийся между данными устройствами
- .10 - последний октет IP-адреса, настроенного на интерфейса устройства в данной сети
Необходимые условия:
В рамках данного примера предварительно было настроено следующее:
- сетевая связность между устройствами по указанным подсетям и методам
- зоны безопасности ( Trust, Untrust )
- NAT ( Source NAT )
Настройка:
1. Первоначально необходимо настроить target-list целевых хостов, которые будут опрашиваться интерфейсами по протоколу ICMP. Установим время ожидания ответа на запрос равное 6 секундам:
wan load-balance target-list Targets target 1 description "Ya DNS" resp-time 6 ip address 77.88.8.1 enable exit target 2 description "Ya DNS-2" resp-time 6 ip address 77.88.8.2 enable exit target 3 description "Ya DNS-3" resp-time 6 ip address 77.88.8.3 enable exit exit
2. Настроим на интерфейсах параметры функционала MultiWAN:
- Для gigabitethernet 1/0/1, где метод подключения с провайдером - IPoE (линковочная адресация, настраиваемая администратором на интерфейсе) настроим:
- nexthop-адрес провайдера ISP-1
- число неудачных попыток установим 6 итераций
- в качестве source-address укажем второй адрес из той же подсети
- число успешных попыток установим 4 итерации
- привяжем target-list Targets, по которому интерфейс будет проводить опрос хостов
- активируем функционал MultiWAN
interface gigabitethernet 1/0/1 security-zone Untrust ip address 192.0.1.10/24 ip address 192.0.1.2/24 wan load-balance nexthop 192.0.1.1 wan load-balance failure-count 6 wan load-balance source-address 192.0.1.2 wan load-balance success-count 4 wan load-balance target-list Targets wan load-balance enable exit
- Для gigabitethernet 1/0/2, где метод подключения с провайдером - DHCP (автоматическое получение адресации от провайдера) настроим:
- в качестве nexthop-адреса установим опцию DHCP
- число неудачных попыток установим 6 итераций
- число успешных попыток установим 4 итерации
- привяжем target-list Targets, по которому интерфейс будет проводить опрос хостов
- активируем функционал MultiWAN
interface gigabitethernet 1/0/2 security-zone Untrust ip address dhcp wan load-balance nexthop dhcp enable wan load-balance failure-count 6 wan load-balance success-count 4 wan load-balance target-list Targets wan load-balance enable exit
- Настройки подключения к ISP-3 необходимо производить на туннельном интерфейсе tunnel pppoe 1 (т.к. в данном примере используется такой метод подключения, а физический интерфейс выступает в роли туннелеобразущей сущности):
- в качестве nexthop-адреса установим опцию tunnel
- число неудачных попыток установим 6 итераций
- число успешных попыток установим 4 итерации
- привяжем target-list Targets, по которому интерфейс будет проводить опрос хостов
- активируем функционал MultiWAN
tunnel pppoe 1 authentication method mschap authentication method mschap-v2 authentication method eap authentication method pap interface gigabitethernet 1/0/3 security-zone Untrust ignore-default-route username <username> password ascii-text <password> enable wan load-balance nexthop tunnel enable wan load-balance failure-count 6 wan load-balance success-count 4 wan load-balance target-list Targets wan load-balance enable exit
3. Теперь нам необходимо прописать маршрут по умолчанию через правило, которое мы создадим чуть ниже:
ip route 0.0.0.0/0 wan load-balance rule 1
4. Настроим правило wan load-balance для работы механизма MultiWAN. В качестве исходящих интерфейсов укажем interface gigabitethernet 1/0/2 с weight 40, tunnel pppoe 1 с значением weight 40 и interface gigabitethernet 1/0/1 с weight 20. Затем активируем правило:
wan load-balance rule 1 description "Default gateway" outbound interface gigabitethernet 1/0/2 40 outbound tunnel pppoe 1 40 outbound interface gigabitethernet 1/0/1 20 enable exit
Отдельно стоит отметить последовательность настройки - если попытаться создать правило wan load-balance для работы механизма MultiWAN без предварительной прописки маршрута, то правило не удастся активировать.
Настроенные правила можно проверить с помощью команды show wan rules <номер rules> :
esr # show wan rules 1 Rule 1 detailed information: VRF: default Failover: Disabled Network: 0.0.0.0/0 Metric: 0 gi1/0/1 Weight: 20 Nexthop: 192.0.1.1 [Active] gi1/0/2 Weight: 40 Nexthop: 198.18.0.1 [Active] pppoe 1 Weight: 40 Nexthop: 10.0.0.1 [Active]
Чтобы проверить статус физических интерфейсов в функционале MultiWAN воспользуйтесь командой show wan interfaces status:
esr # show wan interfaces status Interface Nexthop Status Uptime/Downtime -------------------- ----------------------- -------- ------------------------------------------ gi1/0/1 192.0.1.1 Active 26 minutes and 36 seconds gi1/0/2 198.18.0.1 (dhcp) Active 26 minutes and 34 seconds
Чтобы проверить статус логических интерфейсов в функционале MultiWAN воспользуйтесь командой show wan tunnel status:
esr # show wan tunnels status Tunnel Nexthop Status Uptime/Downtime -------------------- ----------------------- -------- ------------------------------------------ pppoe 1 10.0.0.1 (tunnel) Active 30 minutes and 2 seconds
Так же можно увидеть более подробную информацию по интерфейсу, участвующего в работе MultiWAN с помощью команды show wan interfaces status <if-name>:
esr # show wan interfaces status gigabitethernet 1/0/2 Interface 'gigabitethernet 1/0/2' detailed information: VRF: default State: Active Nexthop address: 198.18.0.1 (dhcp) Last time success: 0 secs Last time failure: 7 seconds Uptime: 6 seconds Targets: 77.88.8.1 Test/Ping State: pass Attempts: 3/3 77.88.8.2 Test/Ping State: pass Attempts: 3/3 77.88.8.3 Test/Ping State: pass Attempts: 3/3
Пример extended
Задача:
Организовать балансировку трафика через трёх Интернет провайдеров, подключенных к ESR Border посредством трёх разных способов: IPoE, DHCP и PPPoE. Каждый из трёх каналов связи должен быть доступен ( находиться в статусе Active ), а маршрут по умолчанию должен содержать три валидных next-hop. Помимо проверки доступности целевых хостов, необходимо проводить проверку сетевых параметров: jitter, rtt, потери.
Для данного примера мы будем использовать те же условия, схему, настройки интерфейсов и маршрутов, что и для примера basic режима. Отличия будут лишь в настройках target-list и выводе о статусе интерфейсов.
Настройка:
Необходимо настроить target-list целевых хостов, которые будут опрашиваться интерфейсами по протоколу ICMP.
Настроим следующие параметры:
- количество одновременно отправляемых ICMP-запросов на проверку - 15 шт
- максимальное время ожидания ответа на ICMP-запрос - 700 мс
- пороговое значение потерь - 60%
- пороговое значение jitter - 200 мс
- период отправки ICMP-запросов - 15 секунд
- максимальное пороговое значение круговой задержки -250 мс
wan load-balance target-list Targets target 1 description "Ya DNS" mode extended extended count 15 extended timeout 700 extended loss 60 extended jitter 200 extended period 15 extended rtt 250 ip address 77.88.8.1 enable exit target 2 description "Ya DNS-2" mode extended extended count 15 extended timeout 700 extended loss 60 extended jitter 200 extended period 15 extended rtt 250 ip address 77.88.8.2 enable exit target 3 description "Ya DNS-3" mode extended extended count 15 extended timeout 700 extended loss 60 extended jitter 200 extended period 15 extended rtt 250 ip address 77.88.8.3 enable exit exit
Текущие статус и параметры выполняемых проверок на физическом интерфейсе можно увидеть с помощью команды show wan interfaces status <if-name>:
esr # show wan interfaces status gigabitethernet 1/0/1 Interface 'gigabitethernet 1/0/1' detailed information: VRF: default State: Active Nexthop address: 192.0.1.1 Last time success: 0 secs Last time failure: 55 minutes and 16 seconds Uptime: 55 minutes and 15 seconds Targets: 77.88.8.1 Test/Ping State: pass Attempts: 3/3 Loss: 0/60% RTT: 1/900 Jitter: 0/800 77.88.8.2 Test/Ping State: pass Attempts: 3/3 Loss: 0/60% RTT: 1/900 Jitter: 0/800 77.88.8.3 Test/Ping State: pass Attempts: 3/3 Loss: 0/60% RTT: 1/900 Jitter: 0/800
Для проверки текущих статусов и параметров выполняемых проверок на физическом интерфейсе необходимо использовать команду show wan tunnels status <tun-name>:
esr # show wan tunnels status pppoe 1 Tunnel 'pppoe 1' detailed information: VRF: default State: Active Nexthop address: 10.0.0.1 (tunnel) Last time success: 0 secs Last time failure: 55 minutes and 23 seconds Uptime: 55 minutes and 22 seconds Targets: 77.88.8.1 Test/Ping State: pass Attempts: 3/3 Loss: 0/60% RTT: 1/900 Jitter: 0/800 77.88.8.2 Test/Ping State: pass Attempts: 3/3 Loss: 0/60% RTT: 1/900 Jitter: 0/800 77.88.8.3 Test/Ping State: pass Attempts: 3/3 Loss: 0/60% RTT: 1/900 Jitter: 0/800
Пример failover
Схема:
Задача:
Организовать резервирование маршрута по умолчанию для передачи трафика через двух Интернет провайдеров, подключенных к ESR Border посредством двух разных способов: IPoE и PPPoE. Каждый из двух каналов связи должен быть доступен ( иметь статус Active ), а маршрут по умолчанию должен содержать лишь один валидный next-hop. При отказе основного канала, в FIB должен инсталлироваться маршурт через резервный канал.
Необходимые условия:
В рамках данного примера предварительно было настроено следующее:
- сетевая связность между устройствами по указанным подсетям и методам
- зоны безопасности ( Trust, Untrust )
- NAT ( Source NAT )
Настройка:
1.Воспользуемся настройками wan load-balance target-list Targets из примера basic:
wan load-balance target-list Targets target 1 description "Ya DNS" resp-time 6 ip address 77.88.8.1 enable exit target 2 description "Ya DNS-2" resp-time 6 ip address 77.88.8.2 enable exit target 3 description "Ya DNS-3" resp-time 6 ip address 77.88.8.3 enable exit exit
2. Воспользуемся настройками интерфейсов так же из примера для basic-режима:
interface gigabitethernet 1/0/1 security-zone Untrust ip address 192.0.1.10/24 ip address 192.0.1.2/24 wan load-balance nexthop 192.0.1.1 wan load-balance failure-count 6 wan load-balance source-address 192.0.1.2 wan load-balance success-count 4 wan load-balance target-list Targets wan load-balance enable exit tunnel pppoe 1 authentication method mschap authentication method mschap-v2 authentication method eap authentication method pap interface gigabitethernet 1/0/2 security-zone Untrust ignore-default-route username <username> password ascii-text <password> enable wan load-balance nexthop tunnel enable wan load-balance failure-count 6 wan load-balance success-count 4 wan load-balance target-list Targets wan load-balance enable exit
3. Зададим статический маршрут по умолчанию через правило MultiWAN:
ip route 0.0.0.0/0 wan load-balance rule 1
4. Настроим правило wan load-balance rule 1 в режиме failover. Зададим интерфейсу gigabitethernet 1/0/1 значение weight 80, таким образом определив интерфейс gigabitethernet 1/0/1 как основной, а tunnel pppoe 1 как резервный:
wan load-balance rule 1 description "Default gateway" failover outbound tunnel pppoe 1 20 outbound interface gigabitethernet 1/0/1 80 enable exit
5. Проверим таблицу маршрутизации с помощью команды show ip route и убедимся, что в ней присутствует лишь один валидный маршрут по умолчанию через интерфейс gigabitethernet 1/0/1:
esr # show ip route Codes: C - connected, S - static, R - RIP derived, O - OSPF derived, IA - OSPF inter area route, E1 - OSPF external type 1 route, E2 - OSPF external type 2 route B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - FIB route S * 0.0.0.0/0 [1/0] via 192.0.1.1 on gi1/0/1 [static 18:01:32]
Проверим состояние интерфейсов в процессе MultiWAN:
esr # show wan interfaces status Interface Nexthop Status Uptime/Downtime -------------------- ----------------------- -------- ------------------------------------------ gi1/0/1 192.0.1.1 Active 4 hours, 24 minutes and 3 seconds esr # show wan interfaces status gigabitethernet 1/0/1 Interface 'gigabitethernet 1/0/1' detailed information: VRF: default State: Active Nexthop address: 192.0.1.1 Last time success: 0 secs Last time failure: 4 hours, 24 minutes and 7 seconds Uptime: 4 hours, 24 minutes and 6 seconds Targets: 77.88.8.1 Test/Ping State: pass Attempts: 3/3 77.88.8.2 Test/Ping State: pass Attempts: 3/3 77.88.8.3 Test/Ping State: pass Attempts: 3/3
esr # show wan tunnels status Tunnel Nexthop Status Uptime/Downtime -------------------- ----------------------- -------- ------------------------------------------ pppoe 1 10.0.0.1 (tunnel) Active 4 hours, 32 minutes and 40 seconds esr # show wan tunnels status pppoe 1 Tunnel 'pppoe 1' detailed information: VRF: default State: Active Nexthop address: 10.0.0.1 (tunnel) Last time success: 0 secs Last time failure: 4 hours, 32 minutes and 44 seconds Uptime: 4 hours, 32 minutes and 43 seconds Targets: 77.88.8.1 Test/Ping State: pass Attempts: 3/3 77.88.8.2 Test/Ping State: pass Attempts: 3/3 77.88.8.3 Test/Ping State: pass Attempts: 3/3
Пример метода "cellular-multiwan"
Схема:
Область применения:
Данная конфигурация применяется в тех случаях, когда оборудование установлено в удалённом от администратора сети месте и доступность устройства крайне важна, от чего на нём имеется как проводное нелимитированное подключение от одного ISP, так и лимитированное подключение от мобильного оператора связи, канал которого тарифицируется (кило/мега/гигабайтно). Использование механизма MultiWAN будет тратить лимит трафик, посылая ICMP-запросы в указанные промежутки времени. Особенно, если используется Extended-режим, в котором можно расширить число отправляемых запросов за раз. В такой ситуации лучше настроить два статических маршрута по умолчанию - один через нелимитированный канал связи, с помощью механизм MultiWAN, а второй через модемное подключение с метрикой. Тогда маршрут по умолчанию, настроенный в рамках работы механизма MultiWAN, будет инсталлирован в FIB как основной, а статический маршрут через модемное подключение будет находиться в RIB, т.к. он будет иметь более худшую метрику, назначенную ему ранее. Но когда проводной (основной, не лимитированный) канал связи станет недоступен, механизм MultiWAN просто переведёт интерфейс в состояние Inactive и удалит невалидный маршрут из FIB, а на его место придёт маршрут из RIB через модемное подключение с метрикой.
Необходимые условия:
В рамках данного примера предварительно было настроено следующее:
- сетевая связность между устройствами по указанным подсетям и методам
- зоны безопасности ( Trust, Untrust )
- NAT ( Source NAT )
Настройка:
- Воспользуемся настройками wan load-balance target-list Targets из примера basic:
wan load-balance target-list Targets target 1 description "Ya DNS" resp-time 6 ip address 77.88.8.1 enable exit target 2 description "Ya DNS-2" resp-time 6 ip address 77.88.8.2 enable exit target 3 description "Ya DNS-3" resp-time 6 ip address 77.88.8.3 enable exit exit
2. Настроим интерфейс gigabitethernet 1/0/1 основного канала:
interface gigabitethernet 1/0/1 security-zone Untrust ip firewall disable ip address 192.0.1.10/24 ip address 192.0.1.2/24 wan load-balance nexthop 192.0.1.1 wan load-balance failure-count 4 wan load-balance source-address 192.0.1.2 wan load-balance success-count 6 wan load-balance target-list Experimental wan load-balance enable exit
3. Настроим профайл для подключения к мобильному оператору связи и интерфейс cellular modem 1 резервного канала:
cellular profile 1 APN internet.beeline.ru exit cellular modem 1 device 3-1 ip firewall disable profile 1 allowed-mode 3g allowed-mode 4g enable exit
4. Зададим статические маршруты по умолчанию через основной канал связи правилом MultiWAN и мобильное подключение с метрикой ( в нашем примере это значение будет равно 1 ):
ip route 0.0.0.0/0 wan load-balance rule 1 ip route 0.0.0.0/0 interface modem 1 1
5. Настроим правило wan load-balance rule 1 для интерфейса gigabitethernet 1/0/1 - основго канала связи:
wan load-balance rule 1 description "Default gateway" outbound interface gigabitethernet 1/0/1 enable exit
Проверим таблицу маршрутизации с помощью команды show ip route и убедимся, что в ней присутствует лишь один валидный маршрут по умолчанию через интерфейс gigabitethernet 1/0/1 без метрики:
esr # show ip route Codes: C - connected, S - static, R - RIP derived, O - OSPF derived, IA - OSPF inter area route, E1 - OSPF external type 1 route, E2 - OSPF external type 2 route B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - FIB route S * 0.0.0.0/0 [1/0] via 192.0.1.1 on gi1/0/1 [static 22:37:32]
Проверим полную таблицу маршрутизации (RIB) с помощью команды show ip route all и убедимся, что в ней присутствует оба маршрута по умолчанию - через интерфейс gigabitethernet 1/0/1 без метрики и через интерфейс modem 1:
esr # show ip route all Codes: C - connected, S - static, R - RIP derived, O - OSPF derived, IA - OSPF inter area route, E1 - OSPF external type 1 route, E2 - OSPF external type 2 route B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - FIB route S * 0.0.0.0/0 [1/0] via 192.0.1.1 on gi1/0/1 [static 22:33:13] S 0.0.0.0/0 [1/1] via 10.64.64.64 on modem 1 [static 15:57:12]
Переведём интерфейс gigabitethernet 1/0/1 в состояние Adminstrative Down, искуственно воссоздав неработоспособность основного канала связи:
esr # configure esr (config)# interface gigabitethernet 1/0/1 esr (config-if-gi)# shutdown esr (config-if-gi)# end esr # commit
И снова проверим таблицу маршрутизации с помощью команды show ip route и убедимся, что в ней присутствует лишь один валидный маршрут по умолчанию через интерфейс modem 1 с метрикой 1:
ESR-100-Balancer# sh ip route Codes: C - connected, S - static, R - RIP derived, O - OSPF derived, IA - OSPF inter area route, E1 - OSPF external type 1 route, E2 - OSPF external type 2 route B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - FIB route S * 0.0.0.0/0 [1/1] via 10.64.64.64 on modem 1 [static 15:57:12]
Таким образом, механизм MultiWAN расширяет возможности стандартной статической маршрутизации и позволяет более гибко управлять трафиком в той или иной ситуации.