Настройка кластера
Кластер используется для резервирования устройств в сети. Резервирование обеспечивается за счет синхронизации работы различных сервисов между устройствами, а также за счет организации единой конфигурации и единой точки управления устройствами.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Сменить юнит у устройства, при необходимости. (смена юнита устройства вступает в силу после перезагрузки) | esr# set unit id <ID> | <ID> – номер юнита, принимает значения [1..2]. |
| 2 | Создать VLAN, который будет использоваться в кластерном интерфейсе. Можно также использовать vlan 1, созданный по умолчанию. | esr(config)# vlan <VID> | <VID> – идентификатор VLAN, задаётся в диапазоне [2..4094]. |
| 3 | Перейти в режим конфигурирования физических интерфейсов, которые будут использованы для работы кластерного интерфейса. Необходимо настроить интерфейсы всех юнитов, которые будут участвовать в кластере. | esr(config)# interface gigabitethernet esr(config)# interface tengigabitethernet esr(config)# interface fourtygigabitethernet esr(config)# interface twentyfivegigabitethernet | |
| 4 | Установить режим работы физических интерфейсов. | esr(config-if-gi)# mode switchport | Допустимо для всех ESR. |
| esr(config-if-gi)# mode hybrid | Допустимо только для ESR-1000/1200/1500/ 1511(rev.B)/1700. | ||
| 5 | Задать режим работы L2-интерфейсов. | esr(config-if-gi)# switchport mode access | Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/ Данный режим является режимом по умолчанию и не отображается в конфигурации. |
| esr(config-if-gi)# switchport mode trunk | Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/ | ||
| esr(config-if-gi)# switchport mode general | Только для ESR-1000/1200/1500/ Данный режим является режимом по умолчанию и не отображается в конфигурации. | ||
| 6 | Настроить заранее созданный VLAN на интерфейсах. | esr(config-if-gi)# switchport access vlan <VID> | Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/ <VID> – идентификационный номер VLAN, задаётся в диапазоне [1…4094]. |
esr(config-if-gi)# switchport trunk allowed vlan <ACT> <VID> | Для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/100/200/ <ACT> – назначаемое действие: add – включение интерфейса во VLAN; remove – исключение интерфейса из VLAN. <VID> – идентификационный номер VLAN, задаётся в диапазоне [2…4094]. Можно задать диапазоном через «-» или перечислением через «,». | ||
esr(config-if-gi)# switchport general allowed vlan <ACT> <VID> [<TYPE>] | Для ESR-1000/1200/1500/ <ACT> – назначаемое действие: add – включение интерфейса во VLAN; remove – исключение интерфейса из VLAN. <VID> – идентификационный номер VLAN, задаётся в диапазоне [2…4094]. Можно задать диапазоном через «-» или перечислением через «,»; <TYPE> – тип пакета: tagged – интерфейс будет передавать и принимать пакеты в указанных VLAN тегированными; untagged – интерфейс будет передавать пакеты в указанных VLAN нетегированными. VLAN, в который будут направлены входящие нетегированные пакеты, настраивается командой switchport general pvid. | ||
| 7 | Перейти в режим конфигурирования сетевого моста, который будет использован в качестве кластерного интерфейса. | esr(config)# bridge <BR-NUM> | <BR-NUM> – номер сетевого моста. |
| 8 | Настроить заранее созданный VLAN на кластерном интерфейсе. | esr(config-bridge)# vlan <VID> | <VID> – идентификационный номер VLAN, задаётся в диапазоне [1…4094]. |
| 9 | Указать IPv4-адрес и маску подсети для кластерного интерфейса. Необходимо установить адреса для всех юнитов кластера. (для работы кластерного интерфейса поддерживается только IPv4-адресация) | esr(config-bridge)# ip address <ADDR/LEN> [unit <ID>] | <ADDR/LEN> – IP-адрес и длина маски подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. <ID> – номер юнита, принимает значения [1..2]. Дополнительные функции IPv4-адресации см. в разделе Настройка IP-адресации. |
| 10 | Установить идентификатор VRRP-маршрутизатора. | esr(config-bridge)# vrrp id <VRID> | <VRID> – идентификатора VRRP-маршрутизатора, принимает значения [1..255]. |
| 11 | Установить виртуальный IP-адрес VRRP-маршрутизатора (адрес должен быть из той же подсети, что и ip address у юнитов). | esr(config-bridge)# vrrp ip <ADDR/LEN> [ secondary ] | <ADDR/LEN> – виртуальный IP-адрес и длина маски, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. Можно указать несколько IP-адресов перечислением через запятую. Может быть назначено до 8 IP-адресов на интерфейс. secondary – ключ для установки дополнительного IP-адреса. |
| 12 | Установить принадлежность VRRP-маршрутизатора к группе. Группа предоставляет возможность синхронизировать несколько VRRP-процессов, так если в одном из процессов произойдет смена мастера, то в другом процессе также произойдёт смена ролей. | esr(config-bridge)# vrrp group <GRID> | <GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32] |
| 13 | Включить VRRP-процесс на IP-интерфейсе. | esr(config-bridge)# vrrp | |
| 14 | Активировать сетевой мост. | esr(config-bridge)# enable | |
15 | Перейти в режим конфигурирования кластера. | esr(config)# cluster | |
| 16 | Установить интерфейс, через который будет происходить обмен служебными сообщениями между юнитами в кластере. | esr(config-cluster)# cluster-interface bridge [<BRIDGE-ID>] | <BRIDGE-ID> – идентификационный номер моста, задается в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора. |
| 17 | Отключить синхронизацию конфигураций в кластере между юнитами (не обязательно). | esr(config-cluster)# sync config disable | |
| 18 | Перейти в режим конфигурирования юнита в кластере. | esr(config-cluster)# unit <ID> | <ID> – номер юнита, принимает значения [1..2]. |
| 19 | Настроить для юнита соответствующий системный MAC-адрес устройства. | esr(config-cluster-unit)# mac-address <ADDR> | <ADDR> – МАС-адрес сетевого моста, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. |
| 20 | Включить работу кластера. | esr(config-cluster)# enable |
Данные между юнитами кластера через канал синхронизации передаются в открытом виде. Также все вводимые команды конфигурирования, содержащие чувствительную информацию не в encrypted-виде, будут переданы в том же виде, в котором введены, после чего будут преобразованы в encrypted-вид.
Пример настройки кластера
В настоящем руководстве приведено описание настройки кластера для администратора сервисного маршрутизатора ESR (далее — маршрутизатор).
Схема реализации HA Cluster
Первичная настройка кластера
Для начала работы необходимо полностью настроить одно устройство из кластера.
После включения устройства примените конфигурацию по умолчанию на устройствах, предназначенных для объединения в кластер:
esr# copy system:default-config system:candidate-config Entire candidate configuration will be reset to default, all settings will be lost upon commit. Do you really want to continue? (y/N): y |******************************************| 100% (59B) Default configuration loaded successfully.
Для более удобного и ясного восприятия рекомендуется переименовать устройства. В кластерной версии прошивки предусмотрена возможность указать имя устройства с привязкой к юниту. Устройство будет использовать только тот hostname, юнитом которого он является:
esr# configure esr(config)# hostname ESR-1 unit 1 esr(config)# hostname ESR-2 unit 2
Более приоритетным является hostname, указанный с привязкой к unit.
Чтобы изменить юнит устройства, выполните следующие команды:
ESR-1# set unit id 1 Unit ID will be 1 after reboot ESR-1# reload system Do you really want to reload system now? (y/N): y
Смена юнита устройства вступает в силу после перезагрузки.
При изменении номера юнита маршрутизатора не происходит автоматической конвертации конфигурации.
В случае если до маршрутизатора настроен удаленный доступ и у него меняется номер юнита, необходимо до перезагрузки настроить ip-интерфейсы для нового юнита аналогично текущим.
В заводской конфигурации присутствуют настройки интерфейсов только для юнита по умолчанию (unit = 1).
При копировании и применении заводской конфигурации настройка номера юнита не изменяется на значение по умолчанию.
Установить номер юнита по умолчанию возможно следующими способами:
1. используя консольное подключение;
2. зажав функциональную кнопку "F" на 15 секунд.
Убедитесь в том, что настройка юнита применилась успешно:
ESR-1# show unit id Unit ID is 1 Unit ID will be 1 after reboot
Объединение устройств в кластер невозможно, если они относятся к одному и тому же юниту.
Исключение — процесс ZTP, так как в процессе ZTP нужный unit у устройства выставится автоматически.
Для объединения в кластер vESR предварительно необходимо сделать разные системные MAC-адреса на устройствах путем смены серийного номера.
Настройка кластерного интерфейса
Для полноценной работы кластера требуется сконфигурировать кластерный интерфейс, который будет использоваться для передачи control plane трафика. В качестве кластерного интерфейса назначен bridge. В качестве механизма, отвечающего за определение ролей устройств, участвующих в резервировании, назначен протокол VRRP. Настройки cluster-интерфейса должны быть идентичны для всех участников кластера.
Так как кластер выполняет синхронизацию состояний между устройствами, необходимо создать зону безопасности SYNC (synchronization) и разрешить прохождение трафика протокола VRRP:
ESR-1(config)# security zone SYNC ESR-1(config-security-zone)# exit ESR-1(config)# security zone-pair SYNC self ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol vrrp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Далее перейдите к настройкам кластерного интерфейса:
ESR-1(config)# bridge 1
В версии ПО 1.28 в качестве cluster-интерфейса поддержан только bridge.
Укажите, к какому VLAN относится bridge, и зону безопасности:
ESR-1(config-bridge)# vlan 1 ESR-1(config-bridge)# security-zone SYNC
Далее укажите IP-адреса:
ESR-1(config-bridge)# ip address 198.51.100.254/24 unit 1 ESR-1(config-bridge)# ip address 198.51.100.253/24 unit 2
Для работы кластерного интерфейса поддерживается только IPv4-адресация.
На cluster-интерфейсе необходима настройка адресов с привязкой к unit.
Настройте идентификатор VRRP, принадлежность VRRP-маршрутизатора к группе, IP-адрес VRRP:
ESR-1(config-bridge)# vrrp id 1 ESR-1(config-bridge)# vrrp group 1 ESR-1(config-bridge)# vrrp ip 198.51.100.1/24
Адрес VRRP должен быть из той же подсети, что и адреса на интерфейсе.
Включите протокол VRRP и bridge:
ESR-1(config-bridge)# vrrp ESR-1(config-bridge)# enable ESR-1(config-bridge)# exit
Настройте физические порты для выделенного линка синхронизации маршрутизаторов ESR-1 и ESR-2:
ESR-1(config)# interface gigabitethernet 1/0/1 ESR-1(config-if-gi)# description "Network: SYNC" ESR-1(config-if-gi)# mode switchport ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/1 ESR-1(config-if-gi)# description "Network: SYNC" ESR-1(config-if-gi)# mode switchport ESR-1(config-if-gi)# exit
Для проверки работы протокола VRRP выполните следующую команду:
esr-30# show vrrp Virtual router Virtual IP Priority Preemption State Inherit Sync group ID -------------- --------------------------------- -------- ---------- ------ ------- ----------- 1 198.51.100.1/24 100 Disabled Backup -- 1
Можно увидеть, что устройство приняло состояние Backup. Через 10 секунд устройство примет состояние Master.
Настройка кластера
Для запуска кластера необходимо указать заранее настроенный кластерный интерфейс и юниты, которые будут выполнять роли Active и Standby.
Перейдите в режим настройки кластера:
ESR-1(config)# cluster
Настройте юниты:
ESR-1(config-cluster)# unit 1 ESR-1(config-cluster-unit)# mac-address E4:5A:D4:A0:BE:35 ESR-1(config-cluster-unit)# exit ESR-1(config-cluster)# unit 2 ESR-1(config-cluster-unit)# mac-address A8:F9:4B:AF:35:84 ESR-1(config-cluster-unit)# exit
В качестве mac-address указывается системный MAC-адрес устройства, его можно узнать с помощью команды show system | include MAC.
Укажите кластерный интерфейс, созданный ранее, и активируйте кластер:
ESR-1(config-cluster)# cluster-interface bridge 1 ESR-1(config-cluster)# enable ESR-1(config-cluster)# exit
Первое устройство полностью настроено и готово к работе.
Аналогичные настройки необходимо произвести на втором устройстве, предварительно сменив у него unit на требуемый. Также возможна настройка второго устройства средствами ZTP.
Для активации процесса ZTP необходимо на втором устройстве запустить dhcp-client на bridge-интерфейсе, логический или физический интерфейс которого будет включен в кластерный интерфейс первого устройства.
В качестве примера такой конфигурации подойдет factory-конфигурация (в factory-конфигурации для vESR нет настроенного dhcp-client).
В процессе ZTP устройство автоматически выставит себе:
1) Конфигурацию;
2) Юнит;
3) Версию ПО, на котором работает Active ESR;
4) Лицензию, если она предварительно загружена на Active ESR.
После выполнения этих шагов кластер будет успешно запущен. Текущее состояние кластера можно узнать, выполнив команду:
ESR-1# show cluster status Unit Hostname Role MAC address State IP address ---- -------------------- ---------- ----------------- -------------- --------------- 1* ESR-1 Active e4:5a:d4:a0:be:35 Joined 198.51.100.254 2 ESR-2 Standby a8:f9:4b:af:35:84 Joined 198.51.100.253
После включения кластера и установления юнитов в состояние Joined дальнейшее конфигурирование устройств осуществляется настройкой Active-устройства.
Синхронизируются команды конфигурации, а также команды: commit, confirm, rollback, restore, save, copy <source> system:candidate-config.
В случае, если конфигурирование осуществляется на Standby, то внесенные изменения в конфигурацию засинхронизированы не будут. Все внесённые изменения в конфигурацию Standby будут потеряны при выполнении commit на Active-устройстве.
Есть возможность отключения синхронизации командой sync config disable.
Текущее состояние синхронизации подсистем кластера можно узнать, выполнив команду:
ESR-1# show cluster sync status System part Synced ---------------------- ------ candidate-config Yes running-config Yes SW version Yes licence Yes licence (After reboot) Yes date Yes
В текущей версии ПО не поддержано синхронное шифрование паролей, вводимых не в encryption-виде.
Такие пароли будут зашифрованы каждым из участников кластера самостоятельно.
Через минуту после включения кластера синхронизируется время, на Standby установится время Active-юнита.
Синхронизация времени проверяется раз в минуту, в случае расхождения время синхронизируется.
Синхронизация файлов лицензий
Для синхронизации файлов лицензий в кластере необходимо загрузить их все на Active-устройство командой copy в директорию system:cluster-unit-licences.
Все загруженные лицензии в данной директории передаются остальным участникам кластера.
ESR-1# copy tftp://<IP_address>:/licence system:cluster-unit-licences |*************************| 100% (680B) Licence loaded successfully.
На каждый ESR нужна отдельная лицензия (Wi-Fi, BRAS и т. д.).
Для активации функций кластера не нужна отдельная лицензия.
Установка файлов лицензий
Установить лицензию в кластере можно двумя способами:
1. Загрузить индивидуально лицензию на каждое устройство, как в случае с обычным ESR вне кластера.
2. Загрузить лицензию для Active-юнита в system:licence (данная лицензия также автоматически загрузится и в system:cluster-unit-licences), активировать её перезагрузкой, лицензии для Standby загрузить в system:cluster-unit-licences на Active-юните, после чего либо выполнить команду sync cluster system force, либо подключить Standby по ZTP.
ESR-1# copy tftp://<IP_address>:/licence system:cluster-unit-licences |*************************| 100% (680B) Licence loaded successfully. ESR-1# ESR-1# ESR-1# ESR-1# show cluster-unit-licences Serial number Features --------------- ------------------------------------------------------------ NP0B003634 BRAS,IPS,WIFI NP0B009033 BRAS,IPS,WIFI ESR-1# sync cluster system force
Подключение сервисов
После успешной настройки кластера можно приступать к конфигурации различных сервисов.
Настройка System prompt
System prompt позволяет отобразить оперативное состояние кластера непосредственно в строке приглашения CLI устройства, что упрощает получение актуальной информации.
Варианты настройки system prompt, включая доступные параметры и синтаксис команды, приведены в разделе Настройка общесистемных параметров.
Пример настройки
Задача:
Настроить system prompt в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- необходимо получать информацию о статусе полной синхронизации кластера;
- необходимо получать информацию о номере юнита администрируемого устройства;
- необходимо получать информацию о роли устройства в кластере;
- необходимо получать информацию о статусе кластерного VRRP;
- необходимо получать информацию о hostname устройства.
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
Решение:
Перейдем в режим конфигурирования устройства:
ESR-1# configure ESR-1(config)#
Добавим в system prompt информацию о статусе полной синхронизации кластера:
ESR-1(config)# system prompt '(Cluster: %s%)'
Добавим в system prompt информацию о номере юнита администрируемого устройства:
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u%)'
Добавим в system prompt информацию о роли устройства в кластере:
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u% | State: %r%)'
Добавим в system prompt информацию о статусе кластерного VRRP:
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u% | State: %r% | VRRP id 1: %v1%)'
Добавим в system prompt информацию о hostname устройства:
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u% | State: %r% | VRRP id 1: %v1%)|%h%'
Применим конфигурацию и обновим пользовательскую сессию CLI:
ESR-1# commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be. ESR-1# confirm Configuration has been confirmed. Commit timer canceled. ESR-1# exit ESR-1 login: admin Password: ******************************************** * Welcome to ESR * ******************************************** (Cluster: Yes | Unit: 1 | State: Active | VRRP id 1: Master)|ESR-1#
Обновим пользовательскую сессию CLI на втором устройстве:
ESR-2# 2024-12-27T15:25:04+00:00 %CLUSTER-I-SYNC_CONFIG_INFO: unit 1 'ESR-1' starts a synchronous operation 'commit' 2024-12-27T15:25:09+00:00 %CLUSTER-I-SYNC_CONFIG_INFO: 'commit' successful performed ESR-2# exit ESR-2 login: admin Password: ******************************************** * Welcome to ESR * ******************************************** (Cluster: Yes | Unit: 2 | State: Standby | VRRP id 1: Backup)|ESR-2#
Чтобы system prompt корректно работал, необходимо обновить пользовательскую сессию.
Настройка MultiWAN
Технология MultiWAN позволяет организовать отказоустойчивое соединение с резервированием линков от нескольких провайдеров.
Алгоритм настройки MultiWAN описан в разделе Алгоритм настройки MultiWAN.
Пример настройки
Задача:
Настроить MultiWAN в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- обеспечить резервирование линков от нескольких провайдеров;
- обеспечить балансировку трафика в соотношении 70/30.
Схема реализации MultiWAN
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2.3
security-zone WAN
ip address 128.66.0.6/30
vrrp id 3
vrrp ip 128.66.0.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/2.4
security-zone WAN
ip address 128.66.0.10/30
vrrp id 4
vrrp ip 128.66.0.14/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2.3
security-zone WAN
ip address 128.66.0.5/30
vrrp id 3
vrrp ip 128.66.0.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/2.4
security-zone WAN
ip address 128.66.0.9/30
vrrp id 4
vrrp ip 128.66.0.14/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
Создадим список IP-адресов для проверки целостности соединения:
ESR-1(config)# wan load-balance target-list WAN ESR-1(config-wan-target-list)# target 1 ESR-1(config-wan-target)# ip address 128.66.0.17 ESR-1(config-wan-target)# enable ESR-1(config-wan-target)# exit ESR-1(config-wan-target-list)# exit
Настроим WAN на интерфейсе в сторону провайдера ISP1:
ESR-1(config)# interface gigabitethernet 1/0/2.3 ESR-1(config-if-sub)# wan load-balance nexthop 128.66.0.1 ESR-1(config-if-sub)# wan load-balance target-list WAN ESR-1(config-if-sub)# wan load-balance enable ESR-1(config-if-sub)# exit ESR-1(config)# interface gigabitethernet 2/0/2.3 ESR-1(config-if-sub)# wan load-balance nexthop 128.66.0.1 ESR-1(config-if-sub)# wan load-balance target-list WAN ESR-1(config-if-sub)# wan load-balance enable ESR-1(config-if-sub)# exit
Настроим WAN на интерфейсе в сторону провайдера ISP2:
ESR-1(config)# interface gigabitethernet 1/0/2.4 ESR-1(config-if-sub)# wan load-balance nexthop 128.66.0.13 ESR-1(config-if-sub)# wan load-balance target-list WAN ESR-1(config-if-sub)# wan load-balance enable ESR-1(config-if-sub)# exit ESR-1(config)# interface gigabitethernet 2/0/2.4 ESR-1(config-if-sub)# wan load-balance nexthop 128.66.0.13 ESR-1(config-if-sub)# wan load-balance target-list WAN ESR-1(config-if-sub)# wan load-balance enable ESR-1(config-if-sub)# exit
Укажем статический маршрут и создадим правило для балансировки трафика:
ESR-1(config)# ip route 0.0.0.0/0 wan load-balance rule 1 10 ESR-1(config)# wan load-balance rule 1 ESR-1(config-wan-rule)# outbound interface gigabitethernet 1/0/2.3 70 ESR-1(config-wan-rule)# outbound interface gigabitethernet 1/0/2.4 30 ESR-1(config-wan-rule)# outbound interface gigabitethernet 2/0/2.3 70 ESR-1(config-wan-rule)# outbound interface gigabitethernet 2/0/2.4 30 ESR-1(config-wan-rule)# enable ESR-1(config-wan-rule)# exit
Проверить состояние работы MultiWAN можно с помощью команды:
ESR-1# show wan rules
Rule 1 detailed information:
VRF: default
Failover: Disabled
Network: 0.0.0.0/0 Metric: 10
gi1/0/2.3 Weight: 70 Nexthop: 128.66.0.1 [Active]
gi1/0/2.4 Weight: 30 Nexthop: 128.66.0.13 [Active]
Также состояние работы MultiWAN можно проверить с помощью команды:
ESR-1# show wan interfaces status
Interface Nexthop Status Uptime/Downtime
(d,h:m:s)
-------------------- ----------------------- -------- --------------------
gi1/0/2.3 128.66.0.1 Active 00,00:00:44
gi1/0/2.4 128.66.0.13 Active 00,00:00:45
Настройка IPsec VPN
IPsec — это набор протоколов, обеспечивающих защиту данных, передаваемых по протоколу IP. Данный набор протоколов позволяет осуществлять подтверждение подлинности (аутентификацию), проверку целостности и шифрование IP-пакетов, а также включает в себя протоколы для защищённого обмена ключами в сети Интернет.
Пример настройки Route-based IPsec VPN
Алгоритм настройки Route-based IPsec VPN описан в разделе Алгоритм настройки Route-based IPsec VPN.
Задача:
- Настроить IPsec туннель. Туннель необходимо поднять между адресами: кластер – 203.0.113.2 (VIP адрес), ответная сторона – 203.0.113.6;
IKE:
- группа Диффи-Хэллмана: 2;
- алгоритм шифрования: AES 128 bit;
- алгоритм аутентификации: MD5.
IP sec:
- алгоритм шифрования: AES 128 bit;
- алгоритм аутентификации: MD5.
Схема реализации Route-based IPsec VPN
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone WAN
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone WAN
ip address 128.66.0.2/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone WAN
ip address 128.66.0.1/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
Решение:
Создадим профиль ISAKMP-портов, необходимых для работы протокола IPsec, включающий разрешение UDP-пакетов на порту 500 (а также на порту 4500 для поддержки NAT-T при необходимости):
ESR-1(config)# object-group service ISAKMP ESR-1(config-object-group-service)# port-range 500 ESR-1(config-object-group-service)# port-range 4500 ESR-1(config-object-group-service)# exit
Добавим правила, разрешающее прохождение пакетов протоколов VRRP и ESP, а также UDP-пакетов с портами 500 и 4500, через IPsec-туннель:
ESR-1(config)# security zone-pair WAN self ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol esp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Создадим зону безопасности IPsec и туннель VTI, через который будет перенаправляться трафик в IPsec-туннель. В качестве локального шлюза назначим VIP IP-адрес, настроенный на интерфейсах в сторону зоны WAN, а в качестве удалённого шлюза – IP-адрес соответствующего интерфейса:
ESR-1(config)# security zone IPSEC ESR-1(config-security-zone)# exit ESR-1(config)# tunnel vti 1 ESR-1(config-vti)# security-zone IPSEC ESR-1(config-vti)# local address 203.0.113.2 ESR-1(config-vti)# remote address 203.0.113.6 ESR-1(config-vti)# ip address 128.66.0.6/30 ESR-1(config-vti)# enable ESR-1(config-vti)# exit
Добавим правило, разрешающее прохождение трафика между зонами LAN и IPSEC:
ESR-1(config)# security zone-pair LAN IPSEC ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# security zone-pair IPSEC LAN ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Создадим профиль протокола IKE, в котором зададим следующие параметры безопасности: группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit и алгоритм аутентификации MD5. Данные настройки обеспечивают надежную защиту IKE-соединения:
ESR-1(config)# security ike proposal ike_prop ESR-1(config-ike-proposal)# dh-group 2 ESR-1(config-ike-proposal)# authentication algorithm md5 ESR-1(config-ike-proposal)# encryption algorithm aes128 ESR-1(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
ESR-1(config)# security ike policy ike_pol ESR-1(config-ike-policy)# pre-shared-key ascii-text password ESR-1(config-ike-policy)# proposal ike_prop ESR-1(config-ike-policy)# exit
Создадим шлюз протокола IKE с указанием VTI-туннеля, применимой политики, версии протокола и режима перенаправления трафика в туннель, а также отключим mobike:
ESR-1(config)# security ike gateway ike_gw ESR-1(config-ike-gw)# version v2-only ESR-1(config-ike-gw)# ike-policy ike_pol ESR-1(config-ike-gw)# mode route-based ESR-1(config-ike-gw)# mobike disable ESR-1(config-ike-gw)# bind-interface vti 1 ESR-1(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля, в котором укажем алгоритм шифрования AES 128 bit и алгоритм аутентификации MD5, обеспечивая надежную защиту передаваемых данных:
ESR-1(config)# security ipsec proposal ipsec_prop ESR-1(config-ipsec-proposal)# authentication algorithm md5 ESR-1(config-ipsec-proposal)# encryption algorithm aes128 ESR-1(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля, в которой укажем перечень профилей IPsec-туннеля, используемых для согласования параметров безопасности между узлами:
ESR-1(config)# security ipsec policy ipsec_pol ESR-1(config-ipsec-policy)# proposal ipsec_prop ESR-1(config-ipsec-policy)# exit
Создадим IPsec VPN, в котором задаются следующие параметры: шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения:
ESR-1(config)# security ipsec vpn ipsec ESR-1(config-ipsec-vpn)# ike establish-tunnel route ESR-1(config-ipsec-vpn)# ike gateway ike_gw ESR-1(config-ipsec-vpn)# ike ipsec-policy ipsec_pol ESR-1(config-ipsec-vpn)# enable ESR-1(config-ipsec-vpn)# exit
Добавим статический маршрут до встречной клиентской подсети через VTI туннель:
ESR-1(config)# ip route 128.66.1.0/24 128.66.0.5
Аналогичную настройку требуется выполнить на встречном устройстве.
ESR-1# show tunnels status
Tunnel Admin Link MTU Local IP Remote IP Last change
state state (d,h:m:s)
---------------- ----- ----- ------ ---------------- ---------------- -------------
vti 1 Up Up 1500 203.0.113.2 203.0.113.6 00,00:05:59
Посмотреть состояние IPsec-туннеля можно с помощью команды:
ESR-1# show security ipsec vpn status Name Local host Remote host Initiator spi Responder spi State ------------------------------- --------------- --------------- ------------------ ------------------ ----------- ipsec 203.0.113.2 203.0.113.6 0x65212b7585c59b50 0x53028e1afc23a024 Established
Пример настройки Policy-based IPsec VPN
Алгоритм настройки Policy-based IPsec VPN описан в разделе Алгоритм настройки Policy-based IPsec VPN.
Задача:
- Настроить IPsec туннель. Туннель необходимо поднять между адресами: кластер – 203.0.113.2 (VIP адрес), ответная сторона – 203.0.113.6. Туннель необходим для организации доступа между клиентскими подсетями 192.0.2.0/24 и 128.66.1.0/24;
IKE:
- группа Диффи-Хэллмана: 2;
- алгоритм шифрования: AES 128 bit;
- алгоритм аутентификации: MD5.
IP sec:
- алгоритм шифрования: AES 128 bit;
- алгоритм аутентификации: MD5.
Схема реализации Policy-based IPsec VPN
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone WAN
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone WAN
ip address 128.66.0.2/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone WAN
ip address 128.66.0.1/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
Решение:
Создадим профиль ISAKMP-портов, необходимых для работы протокола IPsec, включающий разрешение UDP-пакетов на порту 500 (а также на порту 4500 для поддержки NAT-T при необходимости):
ESR-1(config)# object-group service ISAKMP ESR-1(config-object-group-service)# port-range 500 ESR-1(config-object-group-service)# port-range 4500 ESR-1(config-object-group-service)# exit
Добавим правила, разрешающее прохождение пакетов протоколов VRRP и ESP, а также UDP-пакетов с портами 500 и 4500, через IPsec-туннель:
ESR-1(config)# security zone-pair WAN self ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol esp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Добавим правило, разрешающее прохождение трафика между зонами LAN и WAN для клиентских подсетей:
ESR-1(config)# object-group network LAN ESR-1(config-object-group-network)# ip prefix 192.0.2.0/24 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network IPSEC ESR-1(config-object-group-network)# ip prefix 128.66.1.0/24 ESR-1(config-object-group-network)# exit ESR-1(config)# security zone-pair LAN WAN ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# match source-address object-group LAN ESR-1(config-security-zone-pair-rule)# match destination-address object-group IPSEC ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# security zone-pair WAN LAN ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# match source-address object-group IPSEC ESR-1(config-security-zone-pair-rule)# match destination-address object-group LAN ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Создадим профиль протокола IKE, в котором зададим следующие параметры безопасности: группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit и алгоритм аутентификации MD5. Данные настройки обеспечивают надежную защиту IKE-соединения:
ESR-1(config)# security ike proposal ike_prop ESR-1(config-ike-proposal)# dh-group 2 ESR-1(config-ike-proposal)# authentication algorithm md5 ESR-1(config-ike-proposal)# encryption algorithm aes128 ESR-1(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
ESR-1(config)# security ike policy ike_pol ESR-1(config-ike-policy)# pre-shared-key ascii-text password ESR-1(config-ike-policy)# proposal ike_prop ESR-1(config-ike-policy)# exit
Создадим шлюз протокола IKE, определив применимую IKE-политику, локальные и удалённые параметры, а также режим перенаправления трафика в туннель. В качестве локального шлюза назначим VIP IP-адрес, настроенный на интерфейсах в сторону зоны WAN, с локальной подсетью 192.0.2.0/24, а удалённым – IP-адрес 203.0.113.1 с удаленной подсетью 128.66.1.0/24. Режим перенаправления трафика установлен как policy-based:
ESR-1(config)# security ike gateway ike_gw ESR-1(config-ike-gw)# ike-policy ike_pol ESR-1(config-ike-gw)# local address 203.0.113.2 ESR-1(config-ike-gw)# local network 192.0.2.0/24 ESR-1(config-ike-gw)# remote address 203.0.113.6 ESR-1(config-ike-gw)# remote network 128.66.1.0/24 ESR-1(config-ike-gw)# mode policy-based ESR-1(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля, в котором укажем алгоритм шифрования AES 128 bit и алгоритм аутентификации MD5, обеспечивая надежную защиту передаваемых данных:
ESR-1(config)# security ipsec proposal ipsec_prop ESR-1(config-ipsec-proposal)# authentication algorithm md5 ESR-1(config-ipsec-proposal)# encryption algorithm aes128 ESR-1(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля, в которой укажем перечень профилей IPsec-туннеля, используемых для согласования параметров безопасности между узлами:
ESR-1(config)# security ipsec policy ipsec_pol ESR-1(config-ipsec-policy)# proposal ipsec_prop ESR-1(config-ipsec-policy)# exit
Создадим IPsec VPN, в котором задаются следующие параметры: шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения:
ESR-1(config)# security ipsec vpn ipsec ESR-1(config-ipsec-vpn)# ike establish-tunnel route ESR-1(config-ipsec-vpn)# ike gateway ike_gw ESR-1(config-ipsec-vpn)# ike ipsec-policy ipsec_pol ESR-1(config-ipsec-vpn)# enable ESR-1(config-ipsec-vpn)# exit
Добавим статический маршрут до встречной клиентской подсети через IPsec-туннель:
ESR-1(config)# ip route 128.66.1.0/24 203.0.113.1
Аналогичную настройку требуется выполнить на устройстве, находящемся на другой стороне туннеля
Посмотреть состояние IPsec-туннеля можно с помощью команды:
ESR-1# show security ipsec vpn status Name Local host Remote host Initiator spi Responder spi State ------------------------------- --------------- --------------- ------------------ ------------------ ----------- ipsec 203.0.113.2 203.0.113.6 0x201602ebcafb809b 0x4556a21a7012d2c0 Established
Настройка firewall/NAT failover
Firewall failover необходим для резервирования сессий firewall.
Алгоритм настройки firewall/NAT failover описан в разделе Алгоритм настройки firewall failover.
Пример настройки firewall failover
Задача:
Настроить firewall failover в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- режим резервирования сессий unicast;
- номер UDP-порта службы резервирования 9999;
- клиентская подсеть: 192.0.2.0/24.
Схема реализации Firewall failover
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone WAN
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone WAN
ip address 128.66.0.6/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 128.66.0.2/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone WAN
ip address 128.66.0.5/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 128.66.0.1/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN WAN
rule 1
action permit
enable
exit
exit
ip route 0.0.0.0/0 203.0.113.1
Решение:
Сконфигурируем object-group для настройки failover-сервисов:
ESR-1(config)# object-group network SYNC_SRC ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 1 ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network SYNC_DST ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 1 ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 2 ESR-1(config-object-group-network)# exit
Перейдем к настройке общих параметров для failover-сервисов, а именно к выбору: IP-адреса с которого будут отправляться сообщения для синхронизации, IP-адреса получателя сообщений для синхронизации и VRRP-группу, на основе которой определяется состояние (основной/резервный) маршрутизатора при работе failover-сервисов:
ESR-1(config)# ip failover ESR-1(config-failover)# local-address object-group SYNC_SRC ESR-1(config-failover)# remote-address object-group SYNC_DST ESR-1(config-failover)# vrrp-group 1 ESR-1(config-failover)# exit
При включенном кластере использование object-group в настройке failover-сервисов для local-/remote-адресов обязательно.
Для настройки правил зон безопасности создадим профиль для порта firewall failover:
ESR-1(config)# object-group service FAILOVER ESR-1(config-object-group-service)# port-range 9999 ESR-1(config-object-group-service)# exit
Создадим разрешающие правило для зоны безопасности SYNC, разрешив прохождение необходимого трафика для работы firewall failover:
ESR-1(config)# security zone-pair SYNC self ESR-1(config-security-zone-pair)# rule 4 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group FAILOVER ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Выполним настройку firewall failover. Настроим режим резервирования сессий unicast, номер UDP-порта службы резервирования сессий firewall и включим firewall failover:
ESR-1(config)# ip firewall failover ESR-1(config-firewall-failover)# sync-type unicast ESR-1(config-firewall-failover)# port 9999 ESR-1(config-firewall-failover)# enable ESR-1(config-firewall-failover)# exit
После успешного запуска firewall failover можно посмотреть информацию о сервисе с помощью команды:
ESR-1# show ip firewall failover
Communication interface: bridge 1
Status: Running
Bytes sent: 3420
Bytes received: 3320
Packets sent: 209
Packets received: 209
Send errors: 0
Receive errors: 0
Resend queue:
Active entries: 1
Errors:
No space left: 0
Hold queue:
Active entries: 0
Errors:
No space left: 0
Также возможно узнать текущее состояние firewall failover сервиса, выполнив команду:
ESR-1# show high-availability state
AP Tunnels:
State: Disabled
Last state change: --
DHCP option 82 table:
State: Disabled
Last state change: --
DHCP server:
State: Disabled
Last state change: --
crypto-sync:
State: Disabled
Firewall sessions and NAT translations:
VRF: --
Tracking VRRP Group 1
Tracking VRRP Group state: Master
State: Successful synchronization
Fault Reason: --
Last synchronization: 2025-02-12 07:05:47
Сгенерируем одну клиентскую сессии из LAN в WAN.
Посмотреть firewall-сессии, которые синхронизируются между устройствами, можно командами:
ESR-1# show ip firewall sessions failover internal
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 0 192.0.2.10:44812 128.66.1.1:22 128.66.1.1:22 192.0.2.10:44812 -- -- AC
ESR-1# show ip firewall sessions failover external
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 0 192.0.2.10:44812 128.66.1.1:22 128.66.1.1:22 192.0.2.10:44812 -- -- AC
Посмотреть счетчики для кэшей firewall failover можно командой:
ESR-1# show ip firewall failover cache
Internal sessions cache counters:
Active entries: 1
Added: 5
Deleted: 4
Updated: 4
Failed adding: 0
No memory left: 0
No space left: 0
Failed deleting: 0
No entry found: 0
Failed updating: 0
No entry found: 0
External sessions cache counters:
Active entries: 0
Added: 0
Deleted: 0
Updated: 0
Installed to Kernel: 0
Failed adding: 0
No memory left: 0
No space left: 0
Failed deleting: 0
No entry found: 0
Failed updating: 0
No entry found: 0
Failed installing to Kernel: 0
Пример настройки нескольких экземпляров firewall failover, каждый – в своём VRF
Задача:
Настроить несколько экземпляров firewall failover в кластере маршрутизаторов ESR-1 и ESR-2, каждый в своем VRF, со следующими параметрами:
- режим резервирования сессий unicast;
- номер UDP-порта службы резервирования 9999;
- настроить приоритеты у разных firewall failover так, чтобы один из юнитов кластера был Master в одном VRF, а в другом был Backup;
- клиентская подсеть через первый VRF: 192.0.2.0/24;
- клиентская подсеть через второй VRF: 128.66.0.0/24.
Схема реализации firewall failover в нескольких VRF
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
ip vrf PAIR_ONE
exit
ip vrf PAIR_TWO
exit
security zone SYNC
exit
security zone LAN_ONE
ip vrf forwarding PAIR_ONE
exit
security zone LAN_TWO
ip vrf forwarding PAIR_TWO
exit
security zone WAN_ONE
ip vrf forwarding PAIR_ONE
exit
security zone WAN_TWO
ip vrf forwarding PAIR_TWO
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 8CB5107EA7005AFF
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
exit
interface gigabitethernet 1/0/2.2
ip vrf forwarding PAIR_ONE
security-zone LAN_ONE
ip address 203.0.113.18/30
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 120
vrrp group 2
vrrp
exit
interface gigabitethernet 1/0/2.3
ip vrf forwarding PAIR_TWO
security-zone LAN_TWO
ip address 203.0.113.22/30
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 110
vrrp group 3
vrrp
exit
interface gigabitethernet 1/0/3.2
ip vrf forwarding PAIR_ONE
security-zone WAN_ONE
ip address 203.0.113.10/30
vrrp id 2
vrrp ip 203.0.113.2/30
vrrp group 2
vrrp
exit
interface gigabitethernet 1/0/3.3
ip vrf forwarding PAIR_TWO
security-zone WAN_TWO
ip address 203.0.113.14/30
vrrp id 3
vrrp ip 203.0.113.6/30
vrrp group 3
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
exit
interface gigabitethernet 2/0/2.2
ip vrf forwarding PAIR_ONE
security-zone LAN_ONE
ip address 203.0.113.17/30
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 110
vrrp group 2
vrrp
exit
interface gigabitethernet 2/0/2.3
ip vrf forwarding PAIR_TWO
security-zone LAN_TWO
ip address 203.0.113.21/30
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 120
vrrp group 3
vrrp
exit
interface gigabitethernet 2/0/3.2
ip vrf forwarding PAIR_ONE
security-zone WAN_ONE
ip address 203.0.113.9/30
vrrp id 2
vrrp ip 203.0.113.2/30
vrrp group 2
vrrp
exit
interface gigabitethernet 2/0/3.3
ip vrf forwarding PAIR_TWO
security-zone WAN_TWO
ip address 203.0.113.13/30
vrrp id 3
vrrp ip 203.0.113.6/30
vrrp group 3
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN_ONE self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN_TWO self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN_ONE self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN_TWO self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN_ONE WAN_ONE
rule 1
action permit
enable
exit
exit
security zone-pair LAN_TWO WAN_TWO
rule 1
action permit
enable
exit
exit
Решение:
Сконфигурируем object-group для настройки failover-сервисов:
ESR-1(config)# object-group network DST_PAIR_ONE ESR-1(config-object-group-network)# ip address-range 203.0.113.17 unit 1 ESR-1(config-object-group-network)# ip address-range 203.0.113.18 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network DST_PAIR_TWO ESR-1(config-object-group-network)# ip address-range 203.0.113.21 unit 1 ESR-1(config-object-group-network)# ip address-range 203.0.113.22 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network SRC_PAIR_ONE ESR-1(config-object-group-network)# ip address-range 203.0.113.18 unit 1 ESR-1(config-object-group-network)# ip address-range 203.0.113.17 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network SRC_PAIR_TWO ESR-1(config-object-group-network)# ip address-range 203.0.113.22 unit 1 ESR-1(config-object-group-network)# ip address-range 203.0.113.21 unit 2 ESR-1(config-object-group-network)# exit
Перейдем к настойке ip failover для каждого VRF, настроим там local-address/remote-address и укажем привязки к соответствующим VRRP-group, на основе которых будет определяться, какой из маршрутизаторов будет синхронизировать сессии:
ESR-1(config)# ip failover vrf PAIR_ONE ESR-1(config-failover)# local-address object-group SRC_PAIR_ONE ESR-1(config-failover)# remote-address object-group DST_PAIR_ONE ESR-1(config-failover)# vrrp-group 2 ESR-1(config-failover)# exit ESR-1(config)# ip failover vrf PAIR_TWO ESR-1(config-failover)# local-address object-group SRC_PAIR_TWO ESR-1(config-failover)# remote-address object-group DST_PAIR_TWO ESR-1(config-failover)# vrrp-group 3 ESR-1(config-failover)# exit
Перейдем к настройке firewall failover, каждый в своем VRF. Для каждого экземпляра необходимо указать режим синхронизирования unicast, настроить port 9999, а также включить его:
ESR-1(config)# ip firewall failover vrf PAIR_ONE ESR-1(config-firewall-failover)# sync-type unicast ESR-1(config-firewall-failover)# port 9999 ESR-1(config-firewall-failover)# enable ESR-1(config-firewall-failover)# exit ESR-1(config)# ip firewall failover vrf PAIR_TWO ESR-1(config-firewall-failover)# sync-type unicast ESR-1(config-firewall-failover)# port 9999 ESR-1(config-firewall-failover)# enable ESR-1(config-firewall-failover)# exit
Разрешим в настройках firewall работу firewall failover в соответствующих зонах:
ESR-1(config)# object-group service FAILOVER ESR-1(config-object-group-service)# port-range 9999 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone-pair LAN_ONE self ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group FAILOVER ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# security zone-pair LAN_TWO self ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group FAILOVER ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Просмотреть VRRP-статусы в разных VRF можно используя команду show vrrp. Убедимся что в одном VRF устройство находится в статусе Master, а в другом VRF – в статусе Backup:
ESR-1# show vrrp vrf PAIR_ONE Unit 1* 'ESR-1' --------------- Virtual router Virtual IP Priority Preemption State Inherit Sync group ID -------------- --------------------------------- -------- ---------- ------ ------- ------------- 2 203.0.113.2/30 100 Enabled Master -- 2 4 192.0.2.1/24 120 Enabled Master -- 2 Unit 2 'ESR-2' -------------- Virtual router Virtual IP Priority Preemption State Inherit Sync group ID -------------- --------------------------------- -------- ---------- ------ ------- ------------- 2 203.0.113.2/30 100 Enabled Backup -- 2 4 192.0.2.1/24 110 Enabled Backup -- 2 ESR-1# show vrrp vrf PAIR_TWO Unit 1* 'ESR-1' --------------- Virtual router Virtual IP Priority Preemption State Inherit Sync group ID -------------- --------------------------------- -------- ---------- ------ ------- ------------- 3 203.0.113.6/30 100 Enabled Backup -- 3 5 128.66.0.1/24 110 Enabled Backup -- 3 Unit 2 'ESR-2' -------------- Virtual router Virtual IP Priority Preemption State Inherit Sync group ID -------------- --------------------------------- -------- ---------- ------ ------- ------------- 3 203.0.113.6/30 100 Enabled Master -- 3 5 128.66.0.1/24 120 Enabled Master -- 3
Посмотреть информацию о сервисе firewall failover в каждом VRF можно с помощью следующей команды:
ESR-1# show ip firewall failover vrf PAIR_ONE
Communication interface: gigabitethernet 1/0/2.2
Status: Running
Bytes sent: 7420
Bytes received: 7200
Packets sent: 465
Packets received: 460
Send errors: 0
Receive errors: 0
Resend queue:
Active entries: 1
Errors:
No space left: 0
Hold queue:
Active entries: 0
Errors:
No space left: 0
ESR-1# show ip firewall failover vrf PAIR_TWO
Communication interface: gigabitethernet 1/0/2.3
Status: Running
Bytes sent: 7320
Bytes received: 7380
Packets sent: 468
Packets received: 464
Send errors: 0
Receive errors: 0
Resend queue:
Active entries: 1
Errors:
No space left: 0
Hold queue:
Active entries: 0
Errors:
No space left: 0
Также возможно узнать текущее состояние firewall failover сервисов во всех VRF, выполнив команду:
ESR-1# show high-availability state
DHCP server:
State: Disabled
Last state change: --
crypto-sync:
State: Disabled
Firewall sessions and NAT translations:
VRF: PAIR_ONE
State: Successful synchronization
Fault Reason: --
Last synchronization: 2025-02-18 08:51:34
VRF: PAIR_TWO
State: Successful synchronization
Fault Reason: --
Last synchronization: 2025-02-18 08:51:34
Сгенерируем по одной клиентской сессии из каждого LAN-пула.
Посмотреть вывод текущих сессий на устройстве можно с помощью команды show ip firewall sessions. Убедимся что в выводе есть сессия только для того VRF, в котором устройство является в статусе Master:
ESR-1# show ip firewall sessions vrf PAIR_ONE protocol tcp
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 110 192.0.2.10:47406 203.0.113.1:22 192.0.2.10:47406 203.0.113.1:22 -- -- AC
ESR-1# show ip firewall sessions vrf PAIR_TWO protocol tcp
ESR-2# show ip firewall sessions vrf PAIR_ONE protocol tcp
ESR-2# show ip firewall sessions vrf PAIR_TWO protocol tcp
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 113 128.66.0.10:59108 203.0.113.5:22 128.66.0.10:59108 203.0.113.5:22 -- -- AC
Посмотреть вывод активных синхронизируемых сессий, используемых для работы firewal failover, на устройстве можно с помощью команды show ip firewall session failover external/internal. Убедимся что для одного из VRF сессия находится в internal cash, а для второго VRF сессия находится в external cash:
ESR-1# show ip firewall sessions failover external vrf PAIR_ONE
ESR-1# show ip firewall sessions failover internal vrf PAIR_ONE
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 0 192.0.2.10:47406 203.0.113.1:22 203.0.113.1:22 192.0.2.10:47406 -- -- AC
ESR-1# show ip firewall sessions failover external vrf PAIR_TWO
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 0 128.66.0.10:59108 203.0.113.5:22 203.0.113.5:22 128.66.0.10:59108 -- -- AC
ESR-1# show ip firewall sessions failover internal vrf PAIR_TWO
ESR-2# show ip firewall sessions failover external vrf PAIR_ONE
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 0 192.0.2.10:47406 203.0.113.1:22 203.0.113.1:22 192.0.2.10:47406 -- -- AC
ESR-2# show ip firewall sessions failover internal vrf PAIR_ONE
ESR-2# show ip firewall sessions failover external vrf PAIR_TWO
ESR-2# show ip firewall sessions failover internal vrf PAIR_TWO
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 0 128.66.0.10:59108 203.0.113.5:22 203.0.113.5:22 128.66.0.10:59108 -- -- AC
Настройка DHCP failover
DHCP-failover позволяет обеспечить высокую доступность службы DHCP.
Алгоритм настройки DHCP failover описан в разделе Алгоритм настройки DHCP failover.
Пример настройки
Задача:
Настроить DHCP failover в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- в качестве default-router используется IP-адрес VRRP;
- установить в качестве необходимого режима работы резервирования active-standby;
- клиентская подсеть: 192.0.2.0/24.
Схема реализации DHCP failover
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
object-group service DHCP_SERVER
port-range 67
exit
object-group service DHCP_CLIENT
port-range 68
exit
security zone SYNC
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol udp
match source-port object-group DHCP_CLIENT
match destination-port object-group DHCP_SERVER
enable
exit
exit
ip dhcp-server
ip dhcp-server pool TRUSTED
network 192.0.2.0/24
address-range 192.0.2.10-192.0.2.100
default-router 192.0.2.1
exit
Решение:
Сконфигурируем object-group для настройки failover-сервисов:
ESR-1(config)# object-group network SYNC_SRC ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 1 ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network SYNC_DST ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 1 ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 2 ESR-1(config-object-group-network)# exit
Перейдем к настройке общих параметров для failover-сервисов, а именно к выбору: IP-адреса с которого будут отправляться сообщения для синхронизации, IP-адреса получателя сообщений для синхронизации и VRRP-группу, на основе которой определяется состояние (основной/резервный) маршрутизатора при работе failover-сервисов:
ESR-1(config)# ip failover ESR-1(config-failover)# local-address object-group SYNC_SRC ESR-1(config-failover)# remote-address object-group SYNC_DST ESR-1(config-failover)# vrrp-group 1 ESR-1(config-failover)# exit
Перейдем к настройке резервирования DHCP-сервера, укажем режим работы резервирования и включим DHCP-failover:
ESR-1(config)# ip dhcp-server failover ESR-1(config-dhcp-server-failover)# mode active-standby ESR-1(config-dhcp-server-failover)# enable ESR-1(config-dhcp-server-failover)# exit
Для работы в кластере необходимо использовать режим active-standby.
Создадим разрешающие правило для зоны безопасности SYNC, разрешив прохождение необходимого трафика для работы DHCP failover:
ESR-1(config)# object-group service SYNC ESR-1(config-object-group-service)# port-range 873 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone-pair SYNC self ESR-1(config-security-zone-pair)# rule 4 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SYNC ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Посмотреть состояние резервирования DHCP-сервера можно с помощью команды:
ESR-1# show ip dhcp server failover
VRF: --
Mode: Active-Standby
Role: Master
State: Synchronized
Last synchronization: 2025-02-12 07:56:40
Посмотреть состояние резервирования сессий DHCP можно с помощью команды:
ESR-1# show high-availability state
AP Tunnels:
State: Disabled
Last state change: --
DHCP option 82 table:
State: Disabled
Last state change: --
DHCP server:
VRF: --
Mode: Active-Standby
State: Successful synchronization
Last synchronization: 2025-02-12 07:56:36
crypto-sync:
State: Disabled
Firewall sessions and NAT translations:
State: Disabled
Выданные адреса DHCP можно просмотреть с помощью команды:
ESR-1# show ip dhcp binding IP address MAC / Client ID Binding type Lease expires at ---------------- ------------------------------------------------------------- ------------ -------------------- 192.0.2.10 e4:5a:d4:01:18:04 active 2025-02-13 07:56:09
Пример настройки нескольких экземпляров DHCP failover, каждый в своем VRF
Задача:
Настроить два экземпляра DHCP failover, каждый в своём VRF, в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- в качестве default-router используется IP-адрес VRRP;
- установить в качестве необходимого режима работы резервирования active-standby;
- настроить приоритеты у разных DHCP failover так, чтобы один из юнитов кластера был Master в одном VRF, а в другом был Backup;
- клиентская подсеть в первом VRF: 192.0.2.0/24;
- клиентская подсеть в втором VRF: 128.66.0.0/24.
Схема реализации DHCP failover в нескольких VRF
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
object-group service DHCP_SERVER
port-range 67
exit
object-group service DHCP_CLIENT
port-range 68
exit
ip vrf LAN_ONE
exit
ip vrf LAN_TWO
exit
security zone SYNC
exit
security zone LAN_ONE
ip vrf forwarding LAN_ONE
exit
security zone LAN_TWO
ip vrf forwarding LAN_TWO
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 8CB5107EA7005AFF
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
exit
interface gigabitethernet 1/0/2.2
ip vrf forwarding LAN_ONE
security-zone LAN_ONE
ip address 192.0.2.254/24
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 120
vrrp group 2
vrrp
exit
interface gigabitethernet 1/0/2.3
ip vrf forwarding LAN_TWO
security-zone LAN_TWO
ip address 128.66.0.254/24
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 110
vrrp group 3
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
exit
interface gigabitethernet 2/0/2.2
ip vrf forwarding LAN_ONE
security-zone LAN_ONE
ip address 192.0.2.253/24
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 110
vrrp group 2
vrrp
exit
interface gigabitethernet 2/0/2.3
ip vrf forwarding LAN_TWO
security-zone LAN_TWO
ip address 128.66.0.253/24
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 120
vrrp group 3
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN_ONE self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol udp
match source-port object-group DHCP_CLIENT
match destination-port object-group DHCP_SERVER
enable
exit
exit
security zone-pair LAN_TWO self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol udp
match source-port object-group DHCP_CLIENT
match destination-port object-group DHCP_SERVER
enable
exit
exit
ip dhcp-server vrf LAN_ONE
ip dhcp-server pool LAN_ONE vrf LAN_ONE
network 192.0.2.0/24
address-range 192.0.2.10-192.0.2.253
default-router 192.0.2.1
exit
ip dhcp-server vrf LAN_TWO
ip dhcp-server pool LAN_TWO vrf LAN_TWO
network 128.66.0.0/24
address-range 128.66.0.10-128.66.0.253
default-router 128.66.0.1
exit
Решение:
Сконфигурируем object-group для настройки DHCP failover-сервисов:
ESR-1(config)# object-group network DST_LAN_ONE ESR-1(config-object-group-network)# ip address-range 192.0.2.253 unit 1 ESR-1(config-object-group-network)# ip address-range 192.0.2.254 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network DST_LAN_TWO ESR-1(config-object-group-network)# ip address-range 128.66.0.253 unit 1 ESR-1(config-object-group-network)# ip address-range 128.66.0.254 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network SRC_LAN_ONE ESR-1(config-object-group-network)# ip address-range 192.0.2.254 unit 1 ESR-1(config-object-group-network)# ip address-range 192.0.2.253 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network SRC_LAN_TWO ESR-1(config-object-group-network)# ip address-range 128.66.0.254 unit 1 ESR-1(config-object-group-network)# ip address-range 128.66.0.253 unit 2 ESR-1(config-object-group-network)# exit
Перейдем к настойке ip failover для каждого VRF, настроим там local-address/remote-address и укажем привязки к соответствующим VRRP-group, на основе которых будет определяться, кто из маршрутизаторов будет выдавать адреса:
ESR-1(config)# ip failover vrf LAN_ONE ESR-1(config-failover)# local-address object-group SRC_LAN_ONE ESR-1(config-failover)# remote-address object-group DST_LAN_ONE ESR-1(config-failover)# vrrp-group 2 ESR-1(config-failover)# exit ESR-1(config)# ip failover vrf LAN_TWO ESR-1(config-failover)# local-address object-group SRC_LAN_TWO ESR-1(config-failover)# remote-address object-group DST_LAN_TWO ESR-1(config-failover)# vrrp-group 3 ESR-1(config-failover)# exit
Перейдем к настройке DHCP failover, каждый в своем VRF. Для каждого экземпляра необходимо указать режим работы Active-Standby, а также включить его:
ESR-1(config)# ip dhcp-server failover vrf LAN_ONE ESR-1(config-dhcp-server-failover)# mode active-standby ESR-1(config-dhcp-server-failover)# enable ESR-1(config-dhcp-server-failover)# exit ESR-1(config)# ip dhcp-server failover vrf LAN_TWO ESR-1(config-dhcp-server-failover)# mode active-standby ESR-1(config-dhcp-server-failover)# enable ESR-1(config-dhcp-server-failover)# exit
Разрешим в настройках firewall работу dhcp-failover в соответствующих зонах:
ESR-1(config)# object-group service SYNC ESR-1(config-object-group-service)# port-range 873 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone-pair LAN_ONE self ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SYNC ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# security zone-pair LAN_TWO self ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SYNC ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# exi
Посмотреть статус работы DHCP-failover можно с помощью команды, один из экземпляров должен быть в Role - Master, второй в Role - Backup:
ESR-1# show ip dhcp server failover vrf LAN_ONE
VRF: LAN_ONE
Mode: Active-Standby
Role: Master
State: Synchronized
Last synchronization: 2025-02-18 09:34:44
ESR-1# show ip dhcp server failover vrf LAN_TWO
VRF: LAN_TWO
Mode: Active-Standby
Role: Backup
State: Synchronized
Last synchronization: 2025-02-18 09:34:46
Также статусы работы DHCP-серверов можно посмотреть с помощью команды:
ESR-1# show high-availability state
DHCP server:
VRF: LAN_TWO
Mode: Active-Standby
State: Successful synchronization
Last synchronization: 2025-02-18 09:34:30
VRF: LAN_ONE
Mode: Active-Standby
State: Successful synchronization
Last synchronization: 2025-02-18 09:34:28
crypto-sync:
State: Disabled
Firewall sessions and NAT translations:
State: Disabled
Выданные адреса DHCP можно просмотреть с помощью команды:
ESR-1# show ip dhcp binding vrf LAN_ONE IP address MAC / Client ID Binding type Lease expires at ---------------- ------------------------------------------------------------- ------------ -------------------- 192.0.2.10 50:52:e5:02:0c:00 active 2025-02-19 09:34:06 ESR-1# show ip dhcp binding vrf LAN_TWO IP address MAC / Client ID Binding type Lease expires at ---------------- ------------------------------------------------------------- ------------ -------------------- 128.66.0.10 50:6d:ae:02:0e:00 active 2025-02-19 09:34:09
Настройка SNMP
Протокол SNMP (Simple Network Management Protocol) реализует модель «менеджер–агент» для централизованного управления сетевыми устройствами: агенты, установленные на устройствах, собирают данные, структурированные в MIB, а менеджер запрашивает информацию, мониторит состояние сети, контролирует производительность и вносит изменения в конфигурацию оборудования.
Подробный алгоритм настройки SNMP описан в разделе Настройка SNMP-сервера и отправки SNMP TRAP.
Пример настройки
Схема реализации SNMP
Задача:
- обеспечить возможность мониторинга сети через management-интерфейс каждого устройства в кластере:
- обеспечить возможность мониторинга состояния сети и внесения изменений в конфигурацию устройства, выполняющего роль VRRP Master;
- устройство управления (MGMT) доступно по IP-адресу 192.0.2.10.
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone MGMT
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone MGMT
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone MGMT
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair MGMT self
rule 1
action permit
match protocol vrrp
enable
exit
exit
Решение:
Создадим профиль SNMP-портов, предоставляющий доступ в MGMT зону безопасности:
ESR-1(config)# object-group service SNMP ESR-1(config-object-group-service)# port-range 161 ESR-1(config-object-group-service)# port-range 162 ESR-1(config-object-group-service)# exit
Добавим правило, предусматривающее проверку, что порт назначения UDP-пакетов соответствует профилю SNMP-портов:
ESR-1(config)# security zone-pair MGMT self ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SNMP ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Активируем SNMP-сервер, настроив параметр snmp-community для обеспечения аутентификации и корректного доступа к данным мониторинга:
ESR-1(config)# snmp-server ESR-1(config)# snmp-server community cluster rw
Благодаря данной настройке обеспечивается возможность централизованного мониторинга и управления юнитами кластера как отдельными устройствами, так и устройством, выполняющим роль VRRP Master:
snmpset -v2c -c cluster 192.0.2.253 .1.3.6.1.2.1.1.5.0 s 'ESR-1' SNMPv2-MIB::sysName.0 = STRING: ESR-1 snmpset -v2c -c cluster 192.0.2.254 .1.3.6.1.2.1.1.5.0 s 'ESR-2' SNMPv2-MIB::sysName.0 = STRING: ESR-2 snmpset -v2c -c cluster 192.0.2.1 .1.3.6.1.2.1.1.5.0 s 'VRRP-Master' SNMPv2-MIB::sysName.0 = STRING: VRRP-Master
Настройка Source NAT
Source NAT (SNAT) представляет собой механизм, осуществляющий замену исходного IP-адреса в заголовках IP-пакетов, проходящих через сетевой шлюз. При передаче трафика из внутренней (локальной) сети в внешнюю (публичную) сеть исходный адрес заменяется на один из назначенных публичных IP-адресов шлюза. В ряде случаев осуществляется дополнительное преобразование исходного порта (NATP – Network Address and Port Translation), что обеспечивает корректное направление обратного трафика. При поступлении пакетов из публичной сети в локальную происходит обратная процедура – восстановление оригинальных значений IP-адреса и порта для обеспечения корректной маршрутизации внутри внутренней сети.
Алгоритм Source NAT описан в разделе Алгоритм настройки Source NAT.
Пример настройки
Задача:
- предоставить доступ в Интернет хостам, находящимся в локальной сети;
- клиентская подсеть: 192.0.2.0/24;
публичный IP-адрес – VIP-адрес на интерфейсе.
Схема реализации Source NAT
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone WAN
ip address 128.66.0.6/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 128.66.0.2/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone WAN
ip address 128.66.0.5/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 128.66.0.1/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN WAN
rule 1
action permit
enable
exit
exit
Решение:
Создадим список IP-адресов, которые будут иметь возможность выхода в Интернет:
ESR-1(config)# object-group network INTERNET_USERS ESR-1(config-object-group-network)# ip address-range 192.0.2.2-192.0.2.255 ESR-1(config-object-group-network)# exit
Создадим пул исходных NAT-адресов, в который включим виртуальный IP-адрес (VIP), назначенный WAN-интерфейсу:
ESR-1(config)# nat source ESR-1(config-snat)# pool TRANSLATE_ADDRESS ESR-1(config-snat-pool)# ip address-range 203.0.113.2 ESR-1(config-snat-pool)# exit
Добавим набор правил SNAT. В атрибутах набора укажем применение правил исключительно для пакетов, направляемых в зону WAN. При этом правила осуществляют проверку адреса источника на принадлежность к пулу INTERNET_USERS и выполняют трансляцию исходного адреса в VIP IP-адрес интерфейса:
ESR-1(config-snat)# ruleset SNAT ESR-1(config-snat-ruleset)# to zone WAN ESR-1(config-snat-ruleset)# rule 1 ESR-1(config-snat-rule)# match source-address object-group INTERNET_USERS ESR-1(config-snat-rule)# action source-nat pool TRANSLATE_ADDRESS ESR-1(config-snat-rule)# enable ESR-1(config-snat-rule)# exit ESR-1(config-snat-ruleset)# exit ESR-1(config-snat)# exit
Просмотр таблицы NAT трансляций осуществляется посредством следующей команды:
ESR-1# show ip nat translations Prot Inside source Inside destination Outside source Outside destination Pkts Bytes ---- --------------------- --------------------- --------------------- --------------------- ---------- ---------- tcp 192.0.2.10:45838 203.0.113.1:22 203.0.113.2:45838 203.0.113.1:22 -- --
Настройка Destination NAT
Функция Destination NAT (DNAT) выполняет преобразование IP-адреса назначения в заголовках пакетов, проходящих через сетевой шлюз. DNAT применяется для перенаправления трафика, адресованного на IP-адрес в публичном сегменте сети, на «реальный» IP-адрес сервера, расположенного в локальной сети за шлюзом.
Алгоритм настройки Destination NAT описан в разделе Алгоритм настройки DNAT.
Пример настройки
Задача:
- организовать публичный доступа к серверу, находящемуся в частной сети и не имеющему публичного сетевого адреса;
- сервер доступен по адресу: 192.0.2.10/24;
Схема реализации Destination NAT
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone WAN
ip address 128.66.0.6/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 128.66.0.2/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone WAN
ip address 128.66.0.5/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 128.66.0.1/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
Решение:
Создадим профиль адреса сервера из WAN сети, с которого будем принимать:
ESR-1(config)# object-group network INTERNAL ESR-1(config-object-group-network)# ip address-range 203.0.113.2 ESR-1(config-object-group-network)# exit
Создадим профиль сервиса, доступ к которому будем предоставлять:
ESR-1(config)# object-group service SERVER_DMZ ESR-1(config-object-group-service)# port-range 22 ESR-1(config-object-group-service)# exit
Войдем в режим конфигурирования функции DNAT и создадим пул адресов, в которые будут транслироваться адреса пакетов, поступающие на адрес 1.2.3.4 из внешней сети^
ESR-1(config)# nat destination ESR-1(config-dnat)# pool DMZ ESR-1(config-dnat-pool)# ip address 192.0.2.10 ESR-1(config-dnat-pool)# exit
Создадим набор правил «DNAT», в соответствии с которыми будет производиться трансляция адресов. В атрибутах набора укажем, что правила применяются только для пакетов, пришедших из зоны WAN. Набор правил включает в себя требования соответствия данных по адресу и порту назначения (match destination-address, match destination-port) и по протоколу. Кроме этого, в наборе задано действие, применяемое к данным, удовлетворяющим всем правилам (action destination-nat):
ESR-1(config-dnat)# ruleset DNAT_SERVER_DMZ ESR-1(config-dnat-ruleset)# from zone WAN ESR-1(config-dnat-ruleset)# rule 1 ESR-1(config-dnat-rule)# match protocol tcp ESR-1(config-dnat-rule)# match destination-address object-group INTERNAL ESR-1(config-dnat-rule)# match destination-port object-group SERVER_DMZ ESR-1(config-dnat-rule)# action destination-nat pool DMZ ESR-1(config-dnat-rule)# enable ESR-1(config-dnat-rule)# exit ESR-1(config-dnat-ruleset)# exit ESR-1(config-dnat)# exit
Добавим правило, которое проверяет применение правил исключительно к пакетам, поступающим из зоны WAN. Набор правил включает требования соответствия по адресу назначения (match destination-address) и протоколу. Дополнительно в наборе определено действие (action destination-nat), которое применяется к данным, удовлетворяющим указанным критериям:
ESR-1(config)# security zone-pair WAN LAN ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SERVER_DMZ ESR-1(config-security-zone-pair-rule)# match destination-nat ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Просмотр таблицы NAT-трансляций осуществляется посредством следующей команды:
ESR-1# show ip nat translations Prot Inside source Inside destination Outside source Outside destination Pkts Bytes ---- --------------------- --------------------- --------------------- --------------------- ---------- ---------- tcp 203.0.113.1:41296 192.0.2.10:22 203.0.113.1:41296 203.0.113.2:22 -- --
Настройка BGP
Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (далее АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.
Алгоритм настройки описан в разделе Алгоритм настройки BGP.
Пример настройки eBGP с общим IP-адресом
Задача:
Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- соседство устанавливается только с Active-устройством;
- клиентская подсеть: 192.0.2.0/24;
- анонсирование подсетей, подключенных напрямую;
- собственная AS 64500;
- соседство – подсеть 203.0.113.0/24, vrrp IP-адрес для подключения 203.0.113.1, IP-адрес соседа 203.0.113.2, 64501.
Схема реализации eBGP с общим IP-адресом
Исходная конфигурация кластера:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone WAN
ip address 128.66.0.2/30
vrrp id 3
vrrp ip 203.0.113.1/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone WAN
ip address 128.66.0.1/30
vrrp id 3
vrrp ip 203.0.113.1/30
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
Решение:
Настроем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN:
ESR-1(config)# object-group service og_bgp ESR-1(config-object-group-service)# port-range 179 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone WAN ESR-1(config-security-zone)# exit ESR-1(config)# security zone-pair WAN self ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group og_bgp ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Создадим route-map, который будет использоваться в дальнейшем при настройке разрешающих анонсов роутерам из другой AS. В route-map запретим анонсировать подсеть для cluster-interface:
ESR-1(config)# route-map bgp-out ESR-1(config-route-map)# rule 1 ESR-1(config-route-map-rule)# match ip address 198.51.100.0/24 ESR-1(config-route-map-rule)# action deny ESR-1(config-route-map-rule)# exit ESR-1(config-route-map)# rule 2 ESR-1(config-route-map-rule)# action permit ESR-1(config-route-map-rule)# exit ESR-1(config-route-map)# exit
Создадим BGP-процесс для AS 64500 и войдем в режим конфигурирования параметров процесса:
ESR-1(config)# router bgp 64500
Сконфигурируем анонсирование подсетей, подключенных напрямую:
ESR-1(config-bgp)# address-family ipv4 unicast ESR-1(config-bgp-af)# redistribute connected ESR-1(config-bgp-af)# exit
Создадим eBGP с вышестоящим роутером:
ESR-1(config-bgp)# neighbor 203.0.113.2 ESR-1(config-bgp-neighbor)# remote-as 64501 ESR-1(config-bgp-neighbor)# update-source 203.0.113.1
И включим обмен IPv4-маршрутами:
ESR-1(config-bgp-neighbor)# address-family ipv4 unicast ESR-1(config-bgp-neighbor-af)# route-map bgp-out out ESR-1(config-bgp-neighbor-af)# enable ESR-1(config-bgp-neighbor-af)# exit
Включим работу протокола:
ESR-1(config-bgp-neighbor)# enable ESR-1(config-bgp-neighbor)# exit ESR-1(config-bgp)# enable ESR-1(config-bgp)# exit
Применим конфигурацию на Active-устройстве.
Информацию о BGP-пирах можно посмотреть командой show bgp neighbors:
ESR-1# show bgp neighbors
BGP neighbor is 203.0.113.1
BGP state: Established
Type: Static neighbor
Neighbor address: 203.0.113.1
Neighbor AS: 64501
Neighbor ID: 203.0.113.1
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: external AS4
Source address: 203.0.113.2
Weight: 0
Hold timer: 124/180
Keepalive timer: 27/60
RR client: No
Address family ipv4 unicast:
Send-label: No
Default originate: No
Default information originate: No
Outgoing route-map: bgp-out
Preference: 170
Remove private AS: No
Next-hop self: No
Next-hop unchanged: No
Uptime (d,h:m:s): 00,00:03:13
ESR-2# show bgp neighbors
BGP neighbor is 203.0.113.2
BGP state: Active
Type: Static neighbor
Neighbor address: 203.0.113.1
Neighbor AS: 64501
Connect delay: 2/5
Last error: Socket: Network is unreachable
Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.1 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 192.0.2.0/24 203.0.113.2 -- -- -- 64500 ?
* u 192.0.2.0/24 203.0.113.2 -- -- -- 64500 ?
*> u 128.66.0.0/30 203.0.113.2 -- -- -- 64500 ?
*> u 203.0.113.0/30 203.0.113.2 -- -- -- 64500 ?
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.1 routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 0.0.0.0/0 203.0.113.1 -- 100 0 64501 ?
В случае выхода из строя Active-устройства BGP будет полностью переустанавливаться со Standby-устройством.
Пример настройки eBGP с каждым участником кластера по индивидуальным IP-адресам
Задача:
Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- соседство устанавливается с каждым маршрутизатором в кластере индивидуально;
- клиентская подсеть: 192.0.2.0/24;
- анонсирование подсетей, подключенных напрямую;
- собственная AS 64500;
- соседство для ESR-1 – подсеть 203.0.113.0/30, IP-адрес для подключения 203.0.113.1, IP-адрес соседа 203.0.113.2, 64501;
- соседство для ESR-2 – подсеть 203.0.113.4/30, IP-адрес для подключения 203.0.113.5, IP-адрес соседа 203.0.113.6, 64502.
Схема реализации eBGP с каждым участником кластера по индивидуальным IP-адресам
Исходные конфигурации маршрутизаторов в кластере:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone WAN
ip address 203.0.113.1/30
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone WAN
ip address 203.0.113.5/30
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
Решение:
Настроем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN:
ESR-1(config)# object-group service og_bgp ESR-1(config-object-group-service)# port-range 179 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone-pair WAN self ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group og_bgp ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Создадим track для последующего управления анонсами маршрутов в кластере:
ESR-1(config)# track 1 ESR-1(config-track)# track vrrp id 1 state not master ESR-1(config-track)# enable ESR-1(config-track)# exit
Создадим route-map, который будет использоваться в дальнейшем при настройке разрешающих анонсов роутерам из другой AS. В route-map запретим анонсировать подсеть для cluster-interface, а также настроим управление as-path prepend для управлениями анонсами bgp:
ESR-1(config)# route-map bgp-out ESR-1(config-route-map)# rule 1 ESR-1(config-route-map-rule)# match ip address 198.51.100.0/24 ESR-1(config-route-map-rule)# action deny ESR-1(config-route-map-rule)# exit ESR-1(config-route-map)# rule 2 ESR-1(config-route-map-rule)# action set as-path prepend 64500 track 1 ESR-1(config-route-map-rule)# action permit ESR-1(config-route-map-rule)# exit ESR-1(config-route-map)# exit
Создадим BGP-процесс для AS 64500 для ESR-1 и войдем в режим конфигурирования параметров процесса:
ESR-1(config)# router bgp 64500 unit 1
Сконфигурируем анонсирование подсетей, подключенных напрямую:
ESR-1(config-bgp)# address-family ipv4 unicast ESR-1(config-bgp-af)# redistribute connected ESR-1(config-bgp-af)# exit
Создадим eBGP с вышестоящим роутером:
ESR-1(config-bgp)# neighbor 203.0.113.2 ESR-1(config-bgp-neighbor)# remote-as 64501 ESR-1(config-bgp-neighbor)# update-source 203.0.113.1
И включим обмен IPv4-маршрутами:
ESR-1(config-bgp-neighbor)# address-family ipv4 unicast ESR-1(config-bgp-neighbor-af)# route-map bgp-out out ESR-1(config-bgp-neighbor-af)# enable ESR-1(config-bgp-neighbor-af)# exit
Включим работу протокола:
ESR-1(config-bgp-neighbor)# enable ESR-1(config-bgp-neighbor)# exit ESR-1(config-bgp)# enable ESR-1(config-bgp)# exit
Создадим BGP процесс для AS 64500 для ESR-2 и войдем в режим конфигурирования параметров процесса:
ESR-1(config)# router bgp 64500 unit 2
Сконфигурируем анонсирование подсетей, подключенных напрямую:
ESR-1(config-bgp)# address-family ipv4 unicast ESR-1(config-bgp-af)# redistribute connected ESR-1(config-bgp-af)# exit
Создадим eBGP с вышестоящим роутером:
ESR-1(config-bgp)# neighbor 203.0.113.6 ESR-1(config-bgp-neighbor)# remote-as 64502 ESR-1(config-bgp-neighbor)# update-source 203.0.113.5
И включим обмен IPv4-маршрутами:
ESR-1(config-bgp-neighbor)# address-family ipv4 unicast ESR-1(config-bgp-neighbor-af)# route-map bgp-out out ESR-1(config-bgp-neighbor-af)# enable ESR-1(config-bgp-neighbor-af)# exit
Включим работу протокола:
ESR-1(config-bgp-neighbor)# enable ESR-1(config-bgp-neighbor)# exit ESR-1(config-bgp)# enable ESR-1(config-bgp)# exit
Применим конфигурацию на Active-устройстве.
Информацию о BGP-пирах можно посмотреть командой:
ESR-1# show bgp neighbors
BGP neighbor is 203.0.113.2
BGP state: Established
Type: Static neighbor
Neighbor address: 203.0.113.2
Neighbor AS: 64501
Neighbor ID: 203.0.113.2
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: external AS4
Source address: 203.0.113.1
Weight: 0
Hold timer: 107/180
Keepalive timer: 20/60
RR client: No
Address family ipv4 unicast:
Send-label: No
Default originate: No
Default information originate: No
Outgoing route-map: bgp-out
Preference: 170
Remove private AS: No
Next-hop self: No
Next-hop unchanged: No
Uptime (d,h:m:s): 00,00:00:28
ESR-2# show bgp neighbors
BGP neighbor is 203.0.113.6
BGP state: Established
Type: Static neighbor
Neighbor address: 203.0.113.6
Neighbor AS: 64502
Neighbor ID: 203.0.113.6
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: external AS4
Source address: 203.0.113.5
Weight: 0
Hold timer: 144/180
Keepalive timer: 29/60
RR client: No
Address family ipv4 unicast:
Send-label: No
Default originate: No
Default information originate: No
Outgoing route-map: bgp-out
Preference: 170
Remove private AS: No
Next-hop self: No
Next-hop unchanged: No
Uptime (d,h:m:s): 00,00:00:20
Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.2 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 192.0.2.0/24 203.0.113.1 -- -- -- 64500 ?
* u 192.0.2.0/24 203.0.113.1 -- -- -- 64500 ?
*> u 203.0.113.0/30 203.0.113.1 -- -- -- 64500 ?
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.2 routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 0.0.0.0/0 203.0.113.2 -- 100 0 64501 ?
ESR-2# show bgp ipv4 unicast neighbor 203.0.113.6 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 192.0.2.0/24 203.0.113.5 -- -- -- 64500 64500 ?
*> u 203.0.113.4/30 203.0.113.5 -- -- -- 64500 64500 ?
ESR-2# show bgp ipv4 unicast neighbor 203.0.113.6 routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 0.0.0.0/0 203.0.113.6 -- 100 0 64502 ?
Настройка DMVPN
DMVPN (Dynamic Multipoint Virtual Private Network) — технология для создания виртуальных частных сетей, с возможностью динамического создания туннелей между узлами. Преимуществом данного решения является высокая масштабируемость и легкость настройки при подключении филиалов к головному офису. DMVPN используется в топологии Hub-and-Spoke, и позволяет строить прямые VPN-туннели Spoke-to-Spoke в дополнение к обычным Spoke-to-Hub туннелям. Это означает, что филиалы смогут общаться друг с другом напрямую, без необходимости прохождения трафика через Hub.
Чтобы установить такое соединение, клиенты (NHC) по шифрованному IPsec-туннелю отправляют соответствие своего внутреннего (туннельного) адреса и внешнего (NBMA) адреса на NHRP-сервер (NHS). Когда клиент захочет соединиться с другим NHC, он посылает на сервер запрос, чтобы узнать его внешний адрес. Получив ответ от сервера, клиент теперь самостоятельно может устанавливать соединение c удалённым филиалом.
Алгоритм настройки описан в разделе Алгоритм настройки DMVPN.
Пример настройки в кластере DMVPN Single Hub Dual Cloud схемы
Задача:
Организовать DMVPN между офисами компании, используя mGRE-туннели, NHRP (Next Hop Resolution Protocol), протокол динамической маршрутизации (BGP), IPsec. В данном примере будет HUB-маршрутизатор, который находится в кластере, и два филиала. HUB – это DMVPN-cервер (NHS), а филиалы – DMPVN-клиенты (NHC).
HUB внешний IP-адрес через Cloud_one — 198.51.100.2/30;
HUB внешний IP-адрес через Cloud_two — 198.51.100.6/30;
SPOKE-1 внешний IP-адрес — 198.51.100.10/30;
SPOKE-2 внешний IP-адрес — 198.51.100.14/30.
Параметры IPsec VPN:
IKE:
- группа Диффи-Хэллмана: 19;
- алгоритм шифрования: AES256;
- алгоритм аутентификации: SHA2-256.
IPsec:
- группа Диффи-Хэллмана: 19;
- алгоритм шифрования: AES256;
- алгоритм аутентификации: SHA2-256.
Схема реализации DMVPN Single Hub Dual Cloud в кластере
Исходная конфигурация CLUSTER-HUB:
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:a0:00
exit
unit 2
mac-address a2:00:00:10:b0:00
exit
enable
exit
hostname HUB-1 unit 1
hostname HUB-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
ip access-list extended LOCAL_1
rule 1
action permit
match source-address 198.51.100.2 255.255.255.255
enable
exit
exit
ip access-list extended LOCAL_2
rule 1
action permit
match source-address 198.51.100.6 255.255.255.255
enable
exit
exit
route-map PBR_LOCAL
rule 1
match ip access-group LOCAL_1
action set ip next-hop verify-availability 198.51.100.1 1
exit
rule 2
match ip access-group LOCAL_2
action set ip next-hop verify-availability 198.51.100.5 1
exit
exit
route-map DMVPN_BGP_OUT_CLOUD_TWO
rule 1
match ip address 0.0.0.0/0
action set metric bgp 2000
exit
exit
route-map DMVPN_BGP_OUT_CLOUD_ONE
rule 1
match ip address 0.0.0.0/0
action set metric bgp 1000
exit
exit
ip local policy route-map PBR_LOCAL
bridge 1
vlan 1
security-zone SYNC
ip address 192.0.2.5/29 unit 1
ip address 192.0.2.6/29 unit 2
vrrp id 1
vrrp ip 192.0.2.1/29
vrrp group 1
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2.100
security-zone WAN
ip address 192.0.2.9/29
vrrp id 2
vrrp ip 198.51.100.2/30
vrrp group 1
vrrp
wan load-balance nexthop 198.51.100.1
wan load-balance enable
exit
interface gigabitethernet 1/0/2.200
security-zone WAN
ip address 192.0.2.17/29
vrrp id 3
vrrp ip 198.51.100.6/30
vrrp group 1
vrrp
wan load-balance nexthop 198.51.100.5
wan load-balance enable
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 128.66.0.2/24
vrrp id 4
vrrp ip 128.66.0.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2.100
security-zone WAN
ip address 192.0.2.10/29
vrrp id 2
vrrp ip 198.51.100.2/30
vrrp group 1
vrrp
wan load-balance nexthop 198.51.100.1
wan load-balance enable
exit
interface gigabitethernet 2/0/2.200
security-zone WAN
ip address 192.0.2.18/29
vrrp id 3
vrrp ip 198.51.100.6/30
vrrp group 1
vrrp
wan load-balance nexthop 198.51.100.5
wan load-balance enable
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 128.66.0.3/24
vrrp id 4
vrrp ip 128.66.0.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
rule 3
action permit
match protocol icmp
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit
ip route 0.0.0.0/0 wan load-balance rule 1
wan load-balance rule 1
outbound interface gigabitethernet 1/0/2.100
outbound interface gigabitethernet 1/0/2.200
outbound interface gigabitethernet 2/0/2.200
outbound interface gigabitethernet 2/0/2.100
enable
exit
Исходная конфигурация SPOKE-1:
hostname SPOKE-1 security zone LAN exit security zone WAN exit interface gigabitethernet 1/0/1 security-zone WAN ip address 198.51.100.10/30 exit interface gigabitethernet 1/0/2 security-zone LAN ip address 128.66.1.1/24 exit ip route 198.51.100.0/30 198.51.100.9 ip route 198.51.100.12/30 198.51.100.9 ip route 198.51.100.4/30 198.51.100.9
Исходная конфигурация SPOKE-2:
hostname SPOKE-2 security zone LAN exit security zone WAN exit interface gigabitethernet 1/0/1 security-zone WAN ip address 198.51.100.14/30 exit interface gigabitethernet 1/0/2 security-zone LAN ip address 128.66.2.1/24 exit ip route 198.51.100.0/30 198.51.100.13 ip route 198.51.100.4/30 198.51.100.13 ip route 198.51.100.8/30 198.51.100.13
Решение:
- Конфигурирование HUB
Создадим туннели mGRE, каждый через свой CLOUD, определим принадлежность к зоне безопасности, настроим NHRP и включим туннель и NHRP командой enable:
HUB-1(config)# security zone DMVPN_C_ONE HUB-1(config-security-zone)# exit HUB-1(config)# security zone DMVPN_C_TWO HUB-1(config-security-zone)# exit HUB-1(config)# tunnel gre 1 HUB-1(config-gre)# key 1000 HUB-1(config-gre)# ttl 64 HUB-1(config-gre)# mtu 1400 HUB-1(config-gre)# multipoint HUB-1(config-gre)# security-zone DMVPN_C_ONE HUB-1(config-gre)# local address 198.51.100.2 HUB-1(config-gre)# ip address 203.0.113.1/25 HUB-1(config-gre)# ip tcp adjust-mss 1360 HUB-1(config-gre)# ip nhrp redirect HUB-1(config-gre)# ip nhrp multicast dynamic HUB-1(config-gre)# ip nhrp enable HUB-1(config-gre)# enable HUB-1(config-gre)# exit HUB-1(config)# tunnel gre 2 HUB-1(config-gre)# key 2000 HUB-1(config-gre)# ttl 64 HUB-1(config-gre)# mtu 1400 HUB-1(config-gre)# multipoint HUB-1(config-gre)# security-zone DMVPN_C_TWO HUB-1(config-gre)# local address 198.51.100.6 HUB-1(config-gre)# ip address 203.0.113.129/25 HUB-1(config-gre)# ip tcp adjust-mss 1360 HUB-1(config-gre)# ip nhrp redirect HUB-1(config-gre)# ip nhrp multicast dynamic HUB-1(config-gre)# ip nhrp enable HUB-1(config-gre)# enable HUB-1(config-gre)# exit
Произведём настройку протокола динамической маршрутизации для Hub. В примере это будет eBGP, для которого необходимо явно разрешить анонсирование подсетей.
Так как в примере используется два CLOUD, необходимо сделать один из них более приоритетным, используя route-map.
Для ускорения переключения в случае выхода из строя Active устройства в кластере включим также bfd для BGP, а также уменьшим таймер error-wait.
HUB-1(config)# route-map DMVPN_BGP_OUT_CLOUD_ONE HUB-1(config-route-map)# rule 1 HUB-1(config-route-map-rule)# match ip address 0.0.0.0/0 HUB-1(config-route-map-rule)# action set metric bgp 1000 HUB-1(config-route-map-rule)# exit HUB-1(config-route-map)# exit HUB-1(config)# route-map DMVPN_BGP_OUT_CLOUD_TWO HUB-1(config-route-map)# rule 1 HUB-1(config-route-map-rule)# match ip address 0.0.0.0/0 HUB-1(config-route-map-rule)# action set metric bgp 2000 HUB-1(config-route-map-rule)# exit HUB-1(config-route-map)# exit HUB-1(config)# router bgp 64500 HUB-1(config-bgp)# default-information-originate HUB-1(config-bgp)# timers error-wait 5 10 HUB-1(config-bgp)# peer-group DMVPN_CLOUD_ONE HUB-1(config-bgp-group)# remote-as 64501 HUB-1(config-bgp-group)# update-source 203.0.113.1 HUB-1(config-bgp-group)# fall-over bfd HUB-1(config-bgp-group)# address-family ipv4 unicast HUB-1(config-bgp-group-af)# route-map DMVPN_BGP_OUT_CLOUD_ONE out HUB-1(config-bgp-group-af)# next-hop-self HUB-1(config-bgp-group-af)# enable HUB-1(config-bgp-group-af)# exit HUB-1(config-bgp-group)# exit HUB-1(config-bgp)# peer-group DMVPN_CLOUD_TWO HUB-1(config-bgp-group)# remote-as 64501 HUB-1(config-bgp-group)# update-source 203.0.113.129 HUB-1(config-bgp-group)# fall-over bfd HUB-1(config-bgp-group)# address-family ipv4 unicast HUB-1(config-bgp-group-af)# route-map DMVPN_BGP_OUT_CLOUD_TWO out HUB-1(config-bgp-group-af)# next-hop-self HUB-1(config-bgp-group-af)# enable HUB-1(config-bgp-group-af)# exit HUB-1(config-bgp-group)# exit HUB-1(config-bgp)# listen-range 203.0.113.0/25 HUB-1(config-bgp-listen)# peer-group DMVPN_CLOUD_ONE HUB-1(config-bgp-listen)# enable HUB-1(config-bgp-listen)# exit HUB-1(config-bgp)# listen-range 203.0.113.128/25 HUB-1(config-bgp-listen)# peer-group DMVPN_CLOUD_TWO HUB-1(config-bgp-listen)# enable HUB-1(config-bgp-listen)# exit HUB-1(config-bgp)# address-family ipv4 unicast HUB-1(config-bgp-af)# redistribute static HUB-1(config-bgp-af)# exit HUB-1(config-bgp)# enable HUB-1(config-bgp)# exit
Произведём настройку IPsec для Hub, для начала настроим ike proposal, ike policy и ike gateway. В ike gateway дополнительно настроим dpd, для ускорения перестроения туннелей в случае если выйдет из строя Active-устройство:
HUB-1(config)# security ike proposal ike_proposal HUB-1(config-ike-proposal)# authentication algorithm sha2-256 HUB-1(config-ike-proposal)# encryption algorithm aes256 HUB-1(config-ike-proposal)# dh-group 19 HUB-1(config-ike-proposal)# exit HUB-1(config)# HUB-1(config)# security ike policy ike_policy HUB-1(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF HUB-1(config-ike-policy)# proposal ike_proposal HUB-1(config-ike-policy)# exit HUB-1(config)# security ike gateway ike_gateway_cloud_one HUB-1(config-ike-gw)# version v2-only HUB-1(config-ike-gw)# ike-policy ike_policy HUB-1(config-ike-gw)# local address 198.51.100.2 HUB-1(config-ike-gw)# local network 198.51.100.2/32 protocol gre HUB-1(config-ike-gw)# remote address any HUB-1(config-ike-gw)# remote network any protocol gre HUB-1(config-ike-gw)# mode policy-based HUB-1(config-ike-gw)# mobike disable HUB-1(config-ike-gw)# dead-peer-detection action clear HUB-1(config-ike-gw)# dead-peer-detection interval 10 HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 5 HUB-1(config-ike-gw)# dead-peer-detection retransmit tries 2 HUB-1(config-ike-gw)# exit HUB-1(config)# security ike gateway ike_gateway_cloud_two HUB-1(config-ike-gw)# version v2-only HUB-1(config-ike-gw)# ike-policy ike_policy HUB-1(config-ike-gw)# local address 198.51.100.6 HUB-1(config-ike-gw)# local network 198.51.100.6/32 protocol gre HUB-1(config-ike-gw)# remote address any HUB-1(config-ike-gw)# remote network any protocol gre HUB-1(config-ike-gw)# mode policy-based HUB-1(config-ike-gw)# mobike disable HUB-1(config-ike-gw)# dead-peer-detection action clear HUB-1(config-ike-gw)# dead-peer-detection interval 10 HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 5 HUB-1(config-ike-gw)# dead-peer-detection retransmit tries 2 HUB-1(config-ike-gw)# exit HUB-1(config)# HUB-1(config)# security ike session uniqueids replace
Затем настроим IPsec proposal, IPsec policy и IPsec vpn туннели через каждый CLOUD:
HUB-1(config)# security ipsec proposal ipsec_proposal HUB-1(config-ipsec-proposal)# authentication algorithm sha2-256 HUB-1(config-ipsec-proposal)# encryption algorithm aes256 HUB-1(config-ipsec-proposal)# pfs dh-group 19 HUB-1(config-ipsec-proposal)# exit HUB-1(config)# security ipsec policy ipsec_policy HUB-1(config-ipsec-policy)# proposal ipsec_proposal HUB-1(config-ipsec-policy)# exit HUB-1(config)# security ipsec vpn ipsec_dynamic_cloud_one HUB-1(config-ipsec-vpn)# type transport HUB-1(config-ipsec-vpn)# ike establish-tunnel route HUB-1(config-ipsec-vpn)# ike gateway ike_gateway_cloud_one HUB-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policy HUB-1(config-ipsec-vpn)# enable HUB-1(config-ipsec-vpn)# exit HUB-1(config)# security ipsec vpn ipsec_dynamic_cloud_two HUB-1(config-ipsec-vpn)# type transport HUB-1(config-ipsec-vpn)# ike establish-tunnel route HUB-1(config-ipsec-vpn)# ike gateway ike_gateway_cloud_two HUB-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policy HUB-1(config-ipsec-vpn)# enable HUB-1(config-ipsec-vpn)# exit
Скорректируем правила зоны безопасности WAN, разрешим протоколы для GRE over IPSec-туннеля:
HUB-1(config)# object-group service ISAKMP_PORT HUB-1(config-object-group-service)# port-range 500 HUB-1(config-object-group-service)# port-range 4500 HUB-1(config-object-group-service)# exit HUB-1(config)# security zone-pair WAN self HUB-1(config-security-zone-pair)# rule 3 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol udp HUB-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORT HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# rule 4 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol esp HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# rule 5 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol gre HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# exit
Настроим правила зон безопасности DMVPN_C_ONE и DMVPN_C_TWO, разрешим прохождение трафика для протоколов BGP, BFD, ICMP:
HUB-1(config)# object-group service BGP HUB-1(config-object-group-service)# port-range 179 HUB-1(config-object-group-service)# exit HUB-1(config)# object-group service BFD HUB-1(config-object-group-service)# port-range 3784 HUB-1(config-object-group-service)# exit HUB-1(config)# security zone-pair DMVPN_C_ONE self HUB-1(config-security-zone-pair)# rule 1 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol icmp HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# rule 2 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol tcp HUB-1(config-security-zone-pair-rule)# match destination-port object-group BGP HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# rule 3 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol udp HUB-1(config-security-zone-pair-rule)# match destination-port object-group BFD HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# exit HUB-1(config)# security zone-pair DMVPN_C_TWO self HUB-1(config-security-zone-pair)# rule 1 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol icmp HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# rule 2 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol tcp HUB-1(config-security-zone-pair-rule)# match destination-port object-group BGP HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# rule 3 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# match protocol udp HUB-1(config-security-zone-pair-rule)# match destination-port object-group BFD HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# exit
Скорректируем правила зоны безопасности LAN, разрешим прохождение трафика между зонами LAN и DMVPN_C_ONE/DMVPN_C_TWO:
HUB-1(config)# security zone-pair LAN DMVPN_C_ONE HUB-1(config-security-zone-pair)# rule 1 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# exit HUB-1(config)# security zone-pair LAN DMVPN_C_TWO HUB-1(config-security-zone-pair)# rule 1 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# exit HUB-1(config)# security zone-pair DMVPN_C_ONE LAN HUB-1(config-security-zone-pair)# rule 1 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# exit HUB-1(config)# security zone-pair DMVPN_C_TWO LAN HUB-1(config-security-zone-pair)# rule 1 HUB-1(config-security-zone-pair-rule)# action permit HUB-1(config-security-zone-pair-rule)# enable HUB-1(config-security-zone-pair-rule)# exit HUB-1(config-security-zone-pair)# exit
- Конфигурирование SPOKE-1
Создадим туннели mGRE, каждый через свой CLOUD, определим принадлежность к зоне безопасности, настроим NHRP и включим туннель и NHRP командой enable:
SPOKE-1(config)# security zone DMVPN_C_TWO SPOKE-1(config-security-zone)# exit SPOKE-1(config)# security zone DMVPN_C_ONE SPOKE-1(config-security-zone)# exit SPOKE-1(config)# tunnel gre 1 SPOKE-1(config-gre)# key 1000 SPOKE-1(config-gre)# ttl 64 SPOKE-1(config-gre)# mtu 1400 SPOKE-1(config-gre)# multipoint SPOKE-1(config-gre)# security-zone DMVPN_C_ONE SPOKE-1(config-gre)# local address 198.51.100.10 SPOKE-1(config-gre)# ip address 203.0.113.2/25 SPOKE-1(config-gre)# ip tcp adjust-mss 1360 SPOKE-1(config-gre)# ip nhrp holding-time 60 SPOKE-1(config-gre)# ip nhrp shortcut SPOKE-1(config-gre)# ip nhrp map 203.0.113.1 198.51.100.2 SPOKE-1(config-gre)# ip nhrp nhs 203.0.113.1 SPOKE-1(config-gre)# ip nhrp multicast nhs SPOKE-1(config-gre)# ip nhrp enable SPOKE-1(config-gre)# enable SPOKE-1(config-gre)# exit SPOKE-1(config)# tunnel gre 2 SPOKE-1(config-gre)# key 2000 SPOKE-1(config-gre)# ttl 64 SPOKE-1(config-gre)# mtu 1400 SPOKE-1(config-gre)# multipoint SPOKE-1(config-gre)# security-zone DMVPN_C_TWO SPOKE-1(config-gre)# local address 198.51.100.10 SPOKE-1(config-gre)# ip address 203.0.113.130/25 SPOKE-1(config-gre)# ip tcp adjust-mss 1360 SPOKE-1(config-gre)# ip nhrp holding-time 60 SPOKE-1(config-gre)# ip nhrp shortcut SPOKE-1(config-gre)# ip nhrp map 203.0.113.129 198.51.100.6 SPOKE-1(config-gre)# ip nhrp nhs 203.0.113.129 SPOKE-1(config-gre)# ip nhrp multicast nhs SPOKE-1(config-gre)# ip nhrp enable SPOKE-1(config-gre)# enable SPOKE-1(config-gre)# exit
Произведём настройку протокола динамической маршрутизации для SPOKE-1. В примере это будет eBGP, для которого необходимо явно разрешить анонсирование подсетей. Анонсируем LAN подсети в сторону HUB используя network в address-family.
Для ускорения переключения в случае выхода из строя Active-устройства в кластере включим также bfd для BGP, а также уменьшим таймер error-wait.
SPOKE-1(config)# route-map DMVPN_BGP_OUT SPOKE-1(config-route-map)# rule 1 SPOKE-1(config-route-map-rule)# exit SPOKE-1(config-route-map)# exit SPOKE-1(config)# router bgp 64501 SPOKE-1(config-bgp)# timers error-wait 5 10 SPOKE-1(config-bgp)# neighbor 203.0.113.1 SPOKE-1(config-bgp-neighbor)# remote-as 64500 SPOKE-1(config-bgp-neighbor)# allow-local-as 10 SPOKE-1(config-bgp-neighbor)# update-source 203.0.113.2 SPOKE-1(config-bgp-neighbor)# fall-over bfd SPOKE-1(config-bgp-neighbor)# address-family ipv4 unicast SPOKE-1(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out SPOKE-1(config-bgp-neighbor-af)# enable SPOKE-1(config-bgp-neighbor-af)# exit SPOKE-1(config-bgp-neighbor)# enable SPOKE-1(config-bgp-neighbor)# exit SPOKE-1(config-bgp)# neighbor 203.0.113.129 SPOKE-1(config-bgp-neighbor)# remote-as 64500 SPOKE-1(config-bgp-neighbor)# allow-local-as 10 SPOKE-1(config-bgp-neighbor)# update-source 203.0.113.130 SPOKE-1(config-bgp-neighbor)# fall-over bfd SPOKE-1(config-bgp-neighbor)# address-family ipv4 unicast SPOKE-1(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out SPOKE-1(config-bgp-neighbor-af)# enable SPOKE-1(config-bgp-neighbor-af)# exit SPOKE-1(config-bgp-neighbor)# enable SPOKE-1(config-bgp-neighbor)# exit SPOKE-1(config-bgp)# address-family ipv4 unicast SPOKE-1(config-bgp-af)# network 128.66.1.0/24 SPOKE-1(config-bgp-af)# exit SPOKE-1(config-bgp)# enable SPOKE-1(config-bgp)# exit
Произведём настройку IPsec для SPOKE-1, настроим ike proposal, ike policy и ike gateway. В ike gateway дополнительно настроим dpd для ускорения перестроения туннелей, в случае если выйдет из строя Active-устройство:
SPOKE-1(config)# security ike proposal ike_proposal SPOKE-1(config-ike-proposal)# authentication algorithm sha2-256 SPOKE-1(config-ike-proposal)# encryption algorithm aes256 SPOKE-1(config-ike-proposal)# dh-group 19 SPOKE-1(config-ike-proposal)# exit SPOKE-1(config)# security ike policy ike_policy SPOKE-1(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF SPOKE-1(config-ike-policy)# proposal ike_proposal SPOKE-1(config-ike-policy)# exit SPOKE-1(config)# security ike gateway ike_gateway_cloud_one SPOKE-1(config-ike-gw)# version v2-only SPOKE-1(config-ike-gw)# ike-policy ike_policy SPOKE-1(config-ike-gw)# local address 198.51.100.10 SPOKE-1(config-ike-gw)# local network 198.51.100.10/32 protocol gre SPOKE-1(config-ike-gw)# remote address 198.51.100.2 SPOKE-1(config-ike-gw)# remote network 198.51.100.2/32 protocol gre SPOKE-1(config-ike-gw)# mode policy-based SPOKE-1(config-ike-gw)# mobike disable SPOKE-1(config-ike-gw)# dead-peer-detection action clear SPOKE-1(config-ike-gw)# dead-peer-detection interval 10 SPOKE-1(config-ike-gw)# dead-peer-detection retransmit timeout 5 SPOKE-1(config-ike-gw)# dead-peer-detection retransmit tries 2 SPOKE-1(config-ike-gw)# exit SPOKE-1(config)# security ike gateway ike_gateway_cloud_two SPOKE-1(config-ike-gw)# version v2-only SPOKE-1(config-ike-gw)# ike-policy ike_policy SPOKE-1(config-ike-gw)# local address 198.51.100.10 SPOKE-1(config-ike-gw)# local network 198.51.100.10/32 protocol gre SPOKE-1(config-ike-gw)# remote address 198.51.100.6 SPOKE-1(config-ike-gw)# remote network 198.51.100.6/32 protocol gre SPOKE-1(config-ike-gw)# mode policy-based SPOKE-1(config-ike-gw)# mobike disable SPOKE-1(config-ike-gw)# dead-peer-detection action clear SPOKE-1(config-ike-gw)# dead-peer-detection interval 10 SPOKE-1(config-ike-gw)# dead-peer-detection retransmit timeout 5 SPOKE-1(config-ike-gw)# dead-peer-detection retransmit tries 2 SPOKE-1(config-ike-gw)# exit SPOKE-1(config)# security ike gateway ike_gateway_to_spokes SPOKE-1(config-ike-gw)# version v2-only SPOKE-1(config-ike-gw)# ike-policy ike_policy SPOKE-1(config-ike-gw)# local address 198.51.100.10 SPOKE-1(config-ike-gw)# local network 198.51.100.10/32 protocol gre SPOKE-1(config-ike-gw)# remote id any SPOKE-1(config-ike-gw)# remote address any SPOKE-1(config-ike-gw)# remote network any protocol gre SPOKE-1(config-ike-gw)# mode policy-based SPOKE-1(config-ike-gw)# mobike disable SPOKE-1(config-ike-gw)# dead-peer-detection action clear SPOKE-1(config-ike-gw)# dead-peer-detection interval 10 SPOKE-1(config-ike-gw)# dead-peer-detection retransmit timeout 5 SPOKE-1(config-ike-gw)# dead-peer-detection retransmit tries 2 SPOKE-1(config-ike-gw)# exit
Затем настроим IPsec proposal, IPsec policy и IPsec vpn туннели через каждый CLOUD:
SPOKE-1(config)# security ipsec proposal ipsec_proposal SPOKE-1(config-ipsec-proposal)# authentication algorithm sha2-256 SPOKE-1(config-ipsec-proposal)# encryption algorithm aes256 SPOKE-1(config-ipsec-proposal)# pfs dh-group 19 SPOKE-1(config-ipsec-proposal)# exit SPOKE-1(config)# security ipsec policy ipsec_policy SPOKE-1(config-ipsec-policy)# proposal ipsec_proposal SPOKE-1(config-ipsec-policy)# exit SPOKE-1(config)# security ipsec vpn ipsec_dynamic_to_spoke SPOKE-1(config-ipsec-vpn)# type transport SPOKE-1(config-ipsec-vpn)# ike establish-tunnel route SPOKE-1(config-ipsec-vpn)# ike gateway ike_gateway_to_spokes SPOKE-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policy SPOKE-1(config-ipsec-vpn)# enable SPOKE-1(config-ipsec-vpn)# exit SPOKE-1(config)# security ipsec vpn ipsec_static_cloud_one SPOKE-1(config-ipsec-vpn)# type transport SPOKE-1(config-ipsec-vpn)# ike establish-tunnel route SPOKE-1(config-ipsec-vpn)# ike gateway ike_gateway_cloud_one SPOKE-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policy SPOKE-1(config-ipsec-vpn)# enable SPOKE-1(config-ipsec-vpn)# exit SPOKE-1(config)# security ipsec vpn ipsec_static_cloud_two SPOKE-1(config-ipsec-vpn)# type transport SPOKE-1(config-ipsec-vpn)# ike establish-tunnel route SPOKE-1(config-ipsec-vpn)# ike gateway ike_gateway_cloud_two SPOKE-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policy SPOKE-1(config-ipsec-vpn)# enable SPOKE-1(config-ipsec-vpn)# exit
Скорректируем правила зоны безопасности WAN, разрешим протоколы для GRE over IPSec-туннеля:
SPOKE-1(config)# object-group service ISAKMP_PORT SPOKE-1(config-object-group-service)# port-range 500 SPOKE-1(config-object-group-service)# port-range 4500 SPOKE-1(config-object-group-service)# exit SPOKE-1(config)# security zone-pair WAN self SPOKE-1(config-security-zone-pair)# rule 1 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol udp SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORT SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# rule 2 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol esp SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# rule 3 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol gre SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# exit
Настроим правила зон безопасности DMVPN_C_ONE и DMVPN_C_TWO, разрешим прохождение трафика для протоколов BGP, BFD, ICMP:
SPOKE-1(config)# object-group service BGP SPOKE-1(config-object-group-service)# port-range 179 SPOKE-1(config-object-group-service)# exit SPOKE-1(config)# object-group service BFD SPOKE-1(config-object-group-service)# port-range 3784 SPOKE-1(config-object-group-service)# exit SPOKE-1(config)# security zone-pair DMVPN_C_ONE self SPOKE-1(config-security-zone-pair)# rule 1 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol icmp SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# rule 2 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol tcp SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BGP SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# rule 3 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol udp SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BFD SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# exit SPOKE-1(config)# security zone-pair DMVPN_C_TWO self SPOKE-1(config-security-zone-pair)# rule 1 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol icmp SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# rule 2 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol tcp SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BGP SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# rule 3 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol udp SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BFD SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# exit
Скорректируем правила зоны безопасности LAN, разрешим прохождение трафика между зонами LAN и DMVPN_C_ONE/DMVPN_C_TWO:
SPOKE-1(config)# security zone-pair LAN DMVPN_C_ONE SPOKE-1(config-security-zone-pair)# rule 1 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# exit SPOKE-1(config)# security zone-pair LAN DMVPN_C_TWO SPOKE-1(config-security-zone-pair)# rule 1 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# exit SPOKE-1(config)# security zone-pair DMVPN_C_ONE LAN SPOKE-1(config-security-zone-pair)# rule 1 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol icmp SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# exit SPOKE-1(config)# security zone-pair DMVPN_C_TWO LAN SPOKE-1(config-security-zone-pair)# rule 1 SPOKE-1(config-security-zone-pair-rule)# action permit SPOKE-1(config-security-zone-pair-rule)# match protocol icmp SPOKE-1(config-security-zone-pair-rule)# enable SPOKE-1(config-security-zone-pair-rule)# exit SPOKE-1(config-security-zone-pair)# exit
- Конфигурирование SPOKE-2
Создадим туннели mGRE, каждый через свой CLOUD, определим принадлежность к зоне безопасности, настроим NHRP и включим туннель и NHRP командой enable:
SPOKE-2(config)# security zone DMVPN_C_TWO SPOKE-2(config-security-zone)# exit SPOKE-2(config)# security zone DMVPN_C_ONE SPOKE-2(config-security-zone)# exit SPOKE-2(config)# tunnel gre 1 SPOKE-2(config-gre)# key 1000 SPOKE-2(config-gre)# ttl 64 SPOKE-2(config-gre)# mtu 1400 SPOKE-2(config-gre)# multipoint SPOKE-2(config-gre)# security-zone DMVPN_C_ONE SPOKE-2(config-gre)# local address 198.51.100.14 SPOKE-2(config-gre)# ip address 203.0.113.3/25 SPOKE-2(config-gre)# ip tcp adjust-mss 1360 SPOKE-2(config-gre)# ip nhrp holding-time 60 SPOKE-2(config-gre)# ip nhrp shortcut SPOKE-2(config-gre)# ip nhrp map 203.0.113.1 198.51.100.2 SPOKE-2(config-gre)# ip nhrp nhs 203.0.113.1 SPOKE-2(config-gre)# ip nhrp multicast nhs SPOKE-2(config-gre)# ip nhrp enable SPOKE-2(config-gre)# enable SPOKE-2(config-gre)# exit SPOKE-2(config)# tunnel gre 2 SPOKE-2(config-gre)# key 2000 SPOKE-2(config-gre)# ttl 64 SPOKE-2(config-gre)# mtu 1400 SPOKE-2(config-gre)# multipoint SPOKE-2(config-gre)# security-zone DMVPN_C_TWO SPOKE-2(config-gre)# local address 198.51.100.14 SPOKE-2(config-gre)# ip address 203.0.113.131/25 SPOKE-2(config-gre)# ip tcp adjust-mss 1360 SPOKE-2(config-gre)# ip nhrp holding-time 60 SPOKE-2(config-gre)# ip nhrp shortcut SPOKE-2(config-gre)# ip nhrp map 203.0.113.129 198.51.100.6 SPOKE-2(config-gre)# ip nhrp nhs 203.0.113.129 SPOKE-2(config-gre)# ip nhrp multicast nhs SPOKE-2(config-gre)# ip nhrp enable SPOKE-2(config-gre)# enable SPOKE-2(config-gre)# exit
Произведём настройку протокола динамической маршрутизации для SPOKE-1. В примере это будет eBGP, для которого необходимо явно разрешить анонсирование подсетей. Анонсируем LAN подсети в сторону HUB используя network в address-family.
Для ускорения переключения в случае выхода из строя Active-устройства в кластере включим также bfd для BGP, а также уменьшим таймер error-wait.
SPOKE-2(config)# route-map DMVPN_BGP_OUT SPOKE-2(config-route-map)# rule 1 SPOKE-2(config-route-map-rule)# exit SPOKE-2(config-route-map)# exit SPOKE-2(config)# router bgp 64501 SPOKE-2(config-bgp)# timers error-wait 5 10 SPOKE-2(config-bgp)# neighbor 203.0.113.1 SPOKE-2(config-bgp-neighbor)# remote-as 64500 SPOKE-2(config-bgp-neighbor)# allow-local-as 10 SPOKE-2(config-bgp-neighbor)# update-source 203.0.113.3 SPOKE-2(config-bgp-neighbor)# fall-over bfd SPOKE-2(config-bgp-neighbor)# address-family ipv4 unicast SPOKE-2(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out SPOKE-2(config-bgp-neighbor-af)# enable SPOKE-2(config-bgp-neighbor-af)# exit SPOKE-2(config-bgp-neighbor)# enable SPOKE-2(config-bgp-neighbor)# exit SPOKE-2(config-bgp)# neighbor 203.0.113.129 SPOKE-2(config-bgp-neighbor)# remote-as 64500 SPOKE-2(config-bgp-neighbor)# allow-local-as 10 SPOKE-2(config-bgp-neighbor)# update-source 203.0.113.131 SPOKE-2(config-bgp-neighbor)# fall-over bfd SPOKE-2(config-bgp-neighbor)# address-family ipv4 unicast SPOKE-2(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out SPOKE-2(config-bgp-neighbor-af)# enable SPOKE-2(config-bgp-neighbor-af)# exit SPOKE-2(config-bgp-neighbor)# enable SPOKE-2(config-bgp-neighbor)# exit SPOKE-2(config-bgp)# address-family ipv4 unicast SPOKE-2(config-bgp-af)# network 128.66.2.0/24 SPOKE-2(config-bgp-af)# exit SPOKE-2(config-bgp)# enable SPOKE-2(config-bgp)# exit
Произведём настройку IPsec для SPOKE-1, настроим ike proposal, ike policy и ike gateway. В ike gateway дополнительно настроим dpd, для ускорения перестроения туннелей в случае если выйдет из строя Active-устройство:
SPOKE-2(config)# security ike proposal ike_proposal SPOKE-2(config-ike-proposal)# authentication algorithm sha2-256 SPOKE-2(config-ike-proposal)# encryption algorithm aes256 SPOKE-2(config-ike-proposal)# dh-group 19 SPOKE-2(config-ike-proposal)# exit SPOKE-2(config)# security ike policy ike_policy SPOKE-2(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF SPOKE-2(config-ike-policy)# proposal ike_proposal SPOKE-2(config-ike-policy)# exit SPOKE-2(config)# security ike gateway ike_gateway_cloud_one SPOKE-2(config-ike-gw)# version v2-only SPOKE-2(config-ike-gw)# ike-policy ike_policy SPOKE-2(config-ike-gw)# local address 198.51.100.14 SPOKE-2(config-ike-gw)# local network 198.51.100.14/32 protocol gre SPOKE-2(config-ike-gw)# remote address 198.51.100.2 SPOKE-2(config-ike-gw)# remote network 198.51.100.2/32 protocol gre SPOKE-2(config-ike-gw)# mode policy-based SPOKE-2(config-ike-gw)# mobike disable SPOKE-2(config-ike-gw)# dead-peer-detection action clear SPOKE-2(config-ike-gw)# dead-peer-detection interval 10 SPOKE-2(config-ike-gw)# dead-peer-detection retransmit timeout 5 SPOKE-2(config-ike-gw)# dead-peer-detection retransmit tries 2 SPOKE-2(config-ike-gw)# exit SPOKE-2(config)# security ike gateway ike_gateway_cloud_two SPOKE-2(config-ike-gw)# version v2-only SPOKE-2(config-ike-gw)# ike-policy ike_policy SPOKE-2(config-ike-gw)# local address 198.51.100.14 SPOKE-2(config-ike-gw)# local network 198.51.100.14/32 protocol gre SPOKE-2(config-ike-gw)# remote address 198.51.100.6 SPOKE-2(config-ike-gw)# remote network 198.51.100.6/32 protocol gre SPOKE-2(config-ike-gw)# mode policy-based SPOKE-2(config-ike-gw)# mobike disable SPOKE-2(config-ike-gw)# dead-peer-detection action clear SPOKE-2(config-ike-gw)# dead-peer-detection interval 10 SPOKE-2(config-ike-gw)# dead-peer-detection retransmit timeout 5 SPOKE-2(config-ike-gw)# dead-peer-detection retransmit tries 2 SPOKE-2(config-ike-gw)# exit SPOKE-2(config)# security ike gateway ike_gateway_to_spokes SPOKE-2(config-ike-gw)# version v2-only SPOKE-2(config-ike-gw)# ike-policy ike_policy SPOKE-2(config-ike-gw)# local address 198.51.100.14 SPOKE-2(config-ike-gw)# local network 198.51.100.14/32 protocol gre SPOKE-2(config-ike-gw)# remote id any SPOKE-2(config-ike-gw)# remote address any SPOKE-2(config-ike-gw)# remote network any protocol gre SPOKE-2(config-ike-gw)# mode policy-based SPOKE-2(config-ike-gw)# mobike disable SPOKE-2(config-ike-gw)# dead-peer-detection action clear SPOKE-2(config-ike-gw)# dead-peer-detection interval 10 SPOKE-2(config-ike-gw)# dead-peer-detection retransmit timeout 5 SPOKE-2(config-ike-gw)# dead-peer-detection retransmit tries 2 SPOKE-2(config-ike-gw)# exit
Затем настроим IPsec proposal, IPsec policy и IPsec vpn туннели через каждый CLOUD:
SPOKE-2(config)# security ipsec proposal ipsec_proposal SPOKE-2(config-ipsec-proposal)# authentication algorithm sha2-256 SPOKE-2(config-ipsec-proposal)# encryption algorithm aes256 SPOKE-2(config-ipsec-proposal)# pfs dh-group 19 SPOKE-2(config-ipsec-proposal)# exit SPOKE-2(config)# security ipsec policy ipsec_policy SPOKE-2(config-ipsec-policy)# proposal ipsec_proposal SPOKE-2(config-ipsec-policy)# exit SPOKE-2(config)# security ipsec vpn ipsec_dynamic_to_spoke SPOKE-2(config-ipsec-vpn)# type transport SPOKE-2(config-ipsec-vpn)# ike establish-tunnel route SPOKE-2(config-ipsec-vpn)# ike gateway ike_gateway_to_spokes SPOKE-2(config-ipsec-vpn)# ike ipsec-policy ipsec_policy SPOKE-2(config-ipsec-vpn)# enable SPOKE-2(config-ipsec-vpn)# exit SPOKE-2(config)# security ipsec vpn ipsec_static_cloud_one SPOKE-2(config-ipsec-vpn)# type transport SPOKE-2(config-ipsec-vpn)# ike establish-tunnel route SPOKE-2(config-ipsec-vpn)# ike gateway ike_gateway_cloud_one SPOKE-2(config-ipsec-vpn)# ike ipsec-policy ipsec_policy SPOKE-2(config-ipsec-vpn)# enable SPOKE-2(config-ipsec-vpn)# exit SPOKE-2(config)# security ipsec vpn ipsec_static_cloud_two SPOKE-2(config-ipsec-vpn)# type transport SPOKE-2(config-ipsec-vpn)# ike establish-tunnel route SPOKE-2(config-ipsec-vpn)# ike gateway ike_gateway_cloud_two SPOKE-2(config-ipsec-vpn)# ike ipsec-policy ipsec_policy SPOKE-2(config-ipsec-vpn)# enable SPOKE-2(config-ipsec-vpn)# exit
Скорректируем правила зоны безопасности WAN, разрешим протоколы для GRE over IPSec-туннеля:
SPOKE-2(config)# object-group service ISAKMP_PORT SPOKE-2(config-object-group-service)# port-range 500 SPOKE-2(config-object-group-service)# port-range 4500 SPOKE-2(config-object-group-service)# exit SPOKE-2(config)# security zone-pair WAN self SPOKE-2(config-security-zone-pair)# rule 1 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol udp SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORT SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# rule 2 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol esp SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# rule 3 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol gre SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# exit
Настроим правила зон безопасности DMVPN_C_ONE и DMVPN_C_TWO, разрешим прохождение трафика для протоколов BGP, BFD, ICMP:
SPOKE-2(config)# object-group service BGP SPOKE-2(config-object-group-service)# port-range 179 SPOKE-2(config-object-group-service)# exit SPOKE-2(config)# object-group service BFD SPOKE-2(config-object-group-service)# port-range 3784 SPOKE-2(config-object-group-service)# exit SPOKE-2(config)# security zone-pair DMVPN_C_ONE self SPOKE-2(config-security-zone-pair)# rule 1 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol icmp SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# rule 2 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol tcp SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BGP SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# rule 3 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol udp SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BFD SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# exit SPOKE-2(config)# security zone-pair DMVPN_C_TWO self SPOKE-2(config-security-zone-pair)# rule 1 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol icmp SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# rule 2 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol tcp SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BGP SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# rule 3 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol udp SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BFD SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# exit
Скорректируем правила зоны безопасности LAN, разрешим прохождение трафика между зонами LAN и DMVPN_C_ONE/DMVPN_C_TWO:
SPOKE-2(config)# security zone-pair LAN DMVPN_C_ONE SPOKE-2(config-security-zone-pair)# rule 1 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# exit SPOKE-2(config)# security zone-pair LAN DMVPN_C_TWO SPOKE-2(config-security-zone-pair)# rule 1 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# exit SPOKE-2(config)# security zone-pair DMVPN_C_ONE LAN SPOKE-2(config-security-zone-pair)# rule 1 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol icmp SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# exit SPOKE-2(config)# security zone-pair DMVPN_C_TWO LAN SPOKE-2(config-security-zone-pair)# rule 1 SPOKE-2(config-security-zone-pair-rule)# action permit SPOKE-2(config-security-zone-pair-rule)# match protocol icmp SPOKE-2(config-security-zone-pair-rule)# enable SPOKE-2(config-security-zone-pair-rule)# exit SPOKE-2(config-security-zone-pair)# exit
Проверка работы:
Состояние IPsec-туннелей можно посмотреть командой:
HUB-1# show security ipsec vpn status Name Local host Remote host Initiator spi Responder spi State ------------------------------- --------------- --------------- ------------------ ------------------ ----------- ipsec_dynamic_cloud_one 198.51.100.2 198.51.100.14 0x22d11891e06edf92 0x40469d552e93e47c Established ipsec_dynamic_cloud_two 198.51.100.6 198.51.100.14 0x61f7a205eeef5d06 0x141239e7309d351c Established ipsec_dynamic_cloud_one 198.51.100.2 198.51.100.10 0x3dbf984518584d5e 0x08563e2683776071 Established ipsec_dynamic_cloud_two 198.51.100.6 198.51.100.10 0x500adbe8428c7d35 0x9c83c7a2255cb0ed Established
SPOKE-1# show security ipsec vpn status Name Local host Remote host Initiator spi Responder spi State ------------------------------- --------------- --------------- ------------------ ------------------ ----------- ipsec_static_cloud_one 198.51.100.10 198.51.100.2 0x3dbf984518584d5e 0x08563e2683776071 Established ipsec_static_cloud_two 198.51.100.10 198.51.100.6 0x500adbe8428c7d35 0x9c83c7a2255cb0ed Established
SPOKE-2# show security ipsec vpn status Name Local host Remote host Initiator spi Responder spi State ------------------------------- --------------- --------------- ------------------ ------------------ ----------- ipsec_static_cloud_one 198.51.100.14 198.51.100.2 0x22d11891e06edf92 0x40469d552e93e47c Established ipsec_static_cloud_two 198.51.100.14 198.51.100.6 0x61f7a205eeef5d06 0x141239e7309d351c Established
Состояние NHRP-записей можно посмотреть командой:
HUB-1# show ip nhrp peers
Flags: E - unique, R - nhs, U - used, L - lower-up
C - connected, G - group, Q - qos, N - nat
P - protected, I - Redirect-ignored, X - undefined
Tunnel address NBMA address Tunnel Expire Created Type Flags
(h:m:s) (d,h:m:s)
-------------------- ---------------- --------- --------- -------------- --------------- ----------
203.0.113.2 198.51.100.10 gre 1 00:00:51 00,00:04:41 dynamic LCP
203.0.113.3 198.51.100.14 gre 1 00:00:48 00,00:04:44 dynamic LCP
203.0.113.130 198.51.100.10 gre 2 00:00:51 00,00:04:41 dynamic LCP
203.0.113.131 198.51.100.14 gre 2 00:00:48 00,00:04:44 dynamic LCP
SPOKE-1# show ip nhrp peers
Flags: E - unique, R - nhs, U - used, L - lower-up
C - connected, G - group, Q - qos, N - nat
P - protected, I - Redirect-ignored, X - undefined
Tunnel address NBMA address Tunnel Expire Created Type Flags
(h:m:s) (d,h:m:s)
-------------------- ---------------- --------- --------- -------------- --------------- ----------
203.0.113.1 198.51.100.2 gre 1 -- 00,00:00:13 static RULCP
203.0.113.129 198.51.100.6 gre 2 -- 00,00:00:13 static RULCP
SPOKE-2# show ip nhrp peers
Flags: E - unique, R - nhs, U - used, L - lower-up
C - connected, G - group, Q - qos, N - nat
P - protected, I - Redirect-ignored, X - undefined
Tunnel address NBMA address Tunnel Expire Created Type Flags
(h:m:s) (d,h:m:s)
-------------------- ---------------- --------- --------- -------------- --------------- ----------
203.0.113.1 198.51.100.2 gre 1 -- 00,00:00:16 static RULCP
203.0.113.129 198.51.100.6 gre 2 -- 00,00:00:16 static RULCP











