Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 5 Следующий »

 

Настройка кластера

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

Алгоритм настройки

Шаг

Описание

Команда

Ключи

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/
100/200/3100/3200/3200L/3250/3300/3350.

Данный режим является режимом по умолчанию и не отображается в конфигурации.

esr(config-if-gi)# switchport mode trunk

Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/
100/200/3100/3200/3200L/3250/3300/3350.

esr(config-if-gi)# switchport mode general

Только для ESR-1000/1200/1500/
1511 (rev.B)/1700.

Данный режим является режимом по умолчанию и не отображается в конфигурации.

6Настроить заранее созданный VLAN на интерфейсах.esr(config-if-gi)# switchport access vlan <VID>

Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/
100/200/3100/3200/3200L/3250/3300/3350.

<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/
3100/3200/3200L/3250/3300/3350.

<ACT> – назначаемое действие:

add – включение интерфейса во VLAN;

remove – исключение интерфейса из VLAN.

<VID> – идентификационный номер VLAN, задаётся в диапазоне [2…4094]. Можно задать диапазоном через «-» или перечислением через «,».

esr(config-if-gi)# switchport general allowed vlan <ACT> <VID> [<TYPE>]

Для ESR-1000/1200/1500/
1511 (rev.B)/1700.

<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 <VRRP-NUM>

<VRRP-NUM> – номер экземпляра VRRP-процесса, принимает значения [1..255]. 

Дополнительные функции VRRP-процесса см. в разделе Управление резервированием.

11Установить виртуальный IP-адрес VRRP-маршрутизатора (адрес должен быть из той же подсети, что и ip address у юнитов).esr(config-vrrp)# ip address <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-vrrp)# group <GRID><GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32]
13Включить VRRP-процесс на IP-интерфейсе.

esr(config-vrrp)# enable


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-1
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-1
esr# configure 
esr(config)# hostname ESR-1 unit 1
esr(config)# hostname ESR-2 unit 2

Более приоритетным является hostname, указанный с привязкой к unit.

Чтобы изменить юнит устройства, выполните следующие команды:

ESR-1
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
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
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
ESR-1(config)# bridge 1

В версии ПО 1.28 в качестве cluster-интерфейса поддержан только bridge.

Укажите, к какому VLAN относится bridge, и зону безопасности:

ESR-1
ESR-1(config-bridge)# vlan 1
ESR-1(config-bridge)# security-zone SYNC

Далее укажите IP-адреса:

ESR-1
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
ESR-1(config-bridge)# vrrp 1
ESR-1(config-vrrp)# group 1
ESR-1(config-vrrp)# ip address 198.51.100.1/24

Адрес VRRP должен быть из той же подсети, что и адреса на интерфейсе.

Включите протокол VRRP и bridge:

ESR-1
ESR-1(config-vrrp)# enable
ESR-1(config-vrrp)# exit  
ESR-1(config-bridge)# enable
ESR-1(config-bridge)# exit

Настройте физические порты для выделенного линка синхронизации маршрутизаторов ESR-1 и ESR-2:

ESR-1
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-1
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
ESR-1(config)# cluster 

Настройте юниты:

ESR-1
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
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
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
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 устройства.
Исходная конфигурация кластера:
ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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
ESR-1# configure 
ESR-1(config)#

Добавим в system prompt информацию о статусе полной синхронизации кластера:

ESR-1
ESR-1(config)# system prompt '(Cluster: %s%)'

Добавим в system prompt информацию о номере юнита администрируемого устройства:

ESR-1
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u%)'

Добавим в system prompt информацию о роли устройства в кластере:

ESR-1
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u% | State: %r%)'

Добавим в system prompt информацию о статусе кластерного VRRP:

ESR-1
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u% | State: %r% | VRRP id 1: %v1%)'

Добавим в system prompt информацию о hostname устройства:

ESR-1
ESR-1(config)# system prompt '(Cluster: %s% | Unit: %u% | State: %r% | VRRP id 1: %v1%)|%h%'

Применим конфигурацию и обновим пользовательскую сессию CLI:

ESR-1
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
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

Исходная конфигурация кластера:
ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 3
    ip address 128.66.0.2/30
    group 1
    enable
  exit
exit
interface gigabitethernet 1/0/2.4
  security-zone WAN
  ip address 128.66.0.10/30
  vrrp 4
    ip address 128.66.0.14/30
    group 1
    enable
  exit
exit
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 3
    ip address 128.66.0.2/30
    group 1
    enable
  exit
exit
interface gigabitethernet 2/0/2.4
  security-zone WAN
  ip address 128.66.0.9/30
  vrrp 4
    ip address 128.66.0.14/30
    group 1
    enable
  exit
exit 
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
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
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
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
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit 
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit 
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
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
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
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
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
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
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
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
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
ESR-1(config)# ip route 128.66.1.0/24 128.66.0.5

Аналогичную настройку требуется выполнить на встречном устройстве.

Просмотреть состояние VTI туннеля можно с помощью команды:

ESR-1
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
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit 
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit 
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
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 network LAN 
ESR-1(config-security-zone-pair-rule)# match destination-address object-group network 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 network IPSEC 
ESR-1(config-security-zone-pair-rule)# match destination-address object-group network 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
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
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
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
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
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
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
ESR-1(config)# ip route 128.66.1.0/24 203.0.113.1

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

Посмотреть состояние IPsec-туннеля можно с помощью команды:

ESR-1
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

Исходная конфигурация кластера:
ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit 
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 128.66.0.2/30
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit 
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 128.66.0.1/30
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
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
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
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
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
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
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-2
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
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 4
    ip address 192.0.2.1/24
    priority 120
    group 2
    enable
  exit
exit 
interface gigabitethernet 1/0/2.3
  ip vrf forwarding PAIR_TWO
  security-zone LAN_TWO
  ip address 203.0.113.22/30
  vrrp 5
    ip address 128.66.0.1/24
    priority 110
    group 3
    enable
  exit
exit 
interface gigabitethernet 1/0/3.2
  ip vrf forwarding PAIR_ONE
  security-zone WAN_ONE
  ip address 203.0.113.10/30
  vrrp 2
    ip address 203.0.113.2/30
    group 2
    enable
  exit
exit 
interface gigabitethernet 1/0/3.3
  ip vrf forwarding PAIR_TWO
  security-zone WAN_TWO
  ip address 203.0.113.14/30
  vrrp 3
    ip address 203.0.113.6/30
    group 3
    enable
  exit
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 4
    ip address 192.0.2.1/24
    priority 110
    group 2
    enable
  exit
exit
interface gigabitethernet 2/0/2.3
  ip vrf forwarding PAIR_TWO
  security-zone LAN_TWO
  ip address 203.0.113.21/30
  vrrp 5
    ip address 128.66.0.1/24
    priority 120
    group 3
    enable
  exit
exit 
interface gigabitethernet 2/0/3.2
  ip vrf forwarding PAIR_ONE
  security-zone WAN_ONE
  ip address 203.0.113.9/30
  vrrp 2
    ip address 203.0.113.2/30
    group 2
    enable
  exit
exit
interface gigabitethernet 2/0/3.3
  ip vrf forwarding PAIR_TWO
  security-zone WAN_TWO
  ip address 203.0.113.13/30
  vrrp 3
    ip address 203.0.113.6/30
    group 3
    enable
  exit
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
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
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
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
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
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
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
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
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
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
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
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

Исходная конфигурация кластера:
ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
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
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
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
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
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

Исходная конфигурация кластера:
ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 4
    ip address 192.0.2.1/24
    priority 120
    group 2
    enable
  exit
exit
interface gigabitethernet 1/0/2.3
  ip vrf forwarding LAN_TWO
  security-zone LAN_TWO
  ip address 128.66.0.254/24
  vrrp 5
    ip address 128.66.0.1/24
    priority 110
    group 3
    enable
  exit
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 4
    ip address 192.0.2.1/24
    priority 110
    group 2
    enable
  exit
exit
interface gigabitethernet 2/0/2.3
  ip vrf forwarding LAN_TWO
  security-zone LAN_TWO
  ip address 128.66.0.253/24
  vrrp 5
    ip address 128.66.0.1/24
    priority 120
    group 3
    enable
  exit
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
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
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
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
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
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
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
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
ESR-1(config)# snmp-server 
ESR-1(config)# snmp-server community cluster rw

Благодаря данной настройке обеспечивается возможность централизованного мониторинга и управления юнитами кластера как отдельными устройствами, так и устройством, выполняющим роль VRRP Master:

ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 128.66.0.2/30
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 128.66.0.1/30
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
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 network 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
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 128.66.0.2/30
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 3
    ip address 203.0.113.2/30
    group 1
    enable
  exit
exit
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 128.66.0.1/30
  vrrp 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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
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
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
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
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
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
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-адресом

Исходная конфигурация кластера:
ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
exit
interface gigabitethernet 1/0/3
  security-zone WAN
  ip address 128.66.0.2/30
  vrrp 3
    ip address 203.0.113.1/30
    group 1
    enable
  exit
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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
exit
interface gigabitethernet 2/0/3
  security-zone WAN
  ip address 128.66.0.1/30
  vrrp 3
    ip address 203.0.113.1/30
    group 1
    enable
  exit
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-адресам

Исходные конфигурации маршрутизаторов в кластере:
ESR-1
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 1
    ip address 198.51.100.1/24
    group 1
    authentication key ascii-text encrypted 88B11079B51D
    authentication algorithm md5
    enable
  exit
  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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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 2
    ip address 192.0.2.1/24
    group 1
    enable
  exit
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:
HUB-1
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 1
    ip address 192.0.2.1/29
    group 1
    enable
  exit
  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 2
    ip address 198.51.100.2/30
    group 1
    enable
  exit
  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 3
    ip address 198.51.100.6/30
    group 1
    enable
  exit 
  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 4
    ip address 128.66.0.1/24
    group 1
    enable
  exit 
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 2
    ip address 198.51.100.2/30
    group 1
    enable
  exit
  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 3
    ip address 198.51.100.6/30
    group 1
    enable
  exit 
  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 4
    ip address 128.66.0.1/24
    group 1
    enable
  exit 
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:
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:
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        
  • Нет меток