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

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

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

Настройка Cluster

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

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

Шаг

Описание

Команда

Ключи

1Сменить юнит у устройства (смена юнита устройства вступает в силу после перезагрузки.)esr# set unit id <ID><ID> – номер юнита, принимает значения [1..2].
2Перейти в режим конфигурирования сетевого моста, который будет использован в качестве кластерного интерфейса.esr(config)# bridge <BR-NUM><BR-NUM> – номер сетевого моста.
3Указать 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-адресации.

4Установить идентификатор VRRP-маршрутизатора.esr(config-bridge)# vrrp id <VRID><VRID> – идентификатора VRRP-маршрутизатора, принимает значения [1..255].
5Установить виртуальный IP-адрес VRRP-маршрутизатора (адрес должен быть из той же подсети, что и ip address).esr(config-bridge)# vrrp ip <ADDR/LEN> [ secondary ]<ADDR/LEN> – виртуальный IP-адрес и длина маски, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. Можно указать несколько
IP-адресов перечислением через запятую. Может быть назначено до 8  IP-адресов на интерфейс.
secondary – ключ для установки дополнительного IP-адреса.
6Установить принадлежность VRRP-маршрутизатора к группе. Группа предоставляет возможность синхронизировать несколько VRRP-процессов, так если в одном из процессов произойдет смена мастера, то в другом процессе также произойдёт смена ролей.esr(config-bridge)# vrrp group <GRID><GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32]
7Включить VRRP-процесс на IP-интерфейсе.esr(config-bridge)# vrrp
8Активировать сетевой мост.esr(config-bridge)# enable

9

Перейти в режим конфигурирования кластера.

esr(config)# cluster


10Установить интерфейс, через который будет происходить обмен служебными сообщениями между юнитами в кластере.esr(config-cluster)# cluster-interface bridge [<BRIDGE-ID>]

<BRIDGE-ID> – идентификационный номер моста, задается в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора.

11 Отключить синхронизацию конфигураций в кластере между юнитами (не обязательно).esr(config-cluster)# sync config disable
12Перейти в режим конфигурирования юнита в кластере.esr(config-cluster)# unit <ID><ID> – номер юнита, принимает значения [1..2].
13Настроить MAC-адрес для определенного юнита.esr(config-cluster-unit)# mac-address <ADDR>

<ADDR> – МАС-адрес сетевого моста, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF].

14Включить работу кластера.esr(config-cluster)# enable

Пример настройки кластера

В настоящем руководстве приведено описание настройки кластера для администратора сервисного маршрутизатора ESR (далее — маршрутизатор).

Рисунок 1 — Схема реализации 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

На заводской конфигурации unit принимает значение по умолчанию (unit = 1).

Смена юнита устройства вступает в силу после перезагрузки.

Убедитесь в том, что настройка юнита применилась успешно:

ESR-1
ESR-1# show unit id
Unit ID is 1
Unit ID will be 1 after reboot

Объединение устройств в кластер невозможно, если они относятся к одному и тому же юниту.
Исключение — процесс ZTP, так как в процессе ZTP нужный unit у устройства выставится автоматически.

Настройка кластерного интерфейса

Для полноценной работы кластера требуется сконфигурировать кластерный интерфейс, который будет использоваться для передачи 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 icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 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 id 1
ESR-1(config-bridge)# vrrp group 1
ESR-1(config-bridge)# vrrp ip 198.51.100.1/24

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

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

ESR-1
ESR-1(config-bridge)# vrrp 
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-1# show vrrp 
Virtual router   Virtual IP                          Priority   Preemption   State    
--------------   ---------------------------------   --------   ----------   ------   
1                198.51.100.1/24                     100        Enabled      Backup  

Можно увидеть, что устройство приняло состояние 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

Первое устройство полностью настроено и готово к работе.
Аналогичные настройки необходимо произвести на втором устройстве. Также возможна настройка второго устройства средствами 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, то синхронизации не будет.

Есть возможность отключения синхронизации командой 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      

В версии 1.28 не поддержана синхронизация шифрованных паролей.

Через минуту после включения кластера синхронизируется время, на 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 id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp
  enable
exit
 
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/3
  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 позволяет организовать отказоустойчивое соединение с резервированием линков от нескольких провайдеров, а также решает проблему балансировки трафика между резервными линками.

Создайте локальную зону безопасности и зону безопасности в сторону интернета:

ESR-1
ESR-1(config)# security zone TRUSTED
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone ISP1_ISP2
ESR-1(config-security-zone)# exit

Создайте список IP-адресов для проверки целостности соединения:

ESR-1
ESR-1(config)# wan load-balance target-list ISP1_ISP2
ESR-1(config-wan-target-list)# target 1
ESR-1(config-wan-target)# resp-time 1
ESR-1(config-wan-target)# ip address 8.8.8.8
ESR-1(config-wan-target)# enable 
ESR-1(config-wan-target)# exit 
ESR-1(config-wan-target-list)# exit 

Настройте интерфейсы в ISP 1, ISP 2 и TRUSTED:

ESR-1
ESR-1(config)# interface gigabitethernet 1/0/2
ESR-1(config-if-gi)# description "Network: TRUSTED"
ESR-1(config-if-gi)# security-zone TRUSTED
ESR-1(config-if-gi)# ip address 192.18.3.254/24
ESR-1(config-if-gi)# vrrp id 3
ESR-1(config-if-gi)# vrrp ip 192.18.3.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 1/0/3.111
ESR-1(config-subif)# description "Network: ISP1"
ESR-1(config-subif)# security-zone ISP1_ISP2
ESR-1(config-subif)# ip address 192.18.4.254/24
ESR-1(config-subif)# vrrp id 111
ESR-1(config-subif)# vrrp ip 192.18.4.2/24
ESR-1(config-subif)# vrrp group 1
ESR-1(config-subif)# vrrp
ESR-1(config-subif)# wan load-balance nexthop 192.18.4.1
ESR-1(config-subif)# wan load-balance success-count 1
ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2
ESR-1(config-subif)# wan load-balance enable
ESR-1(config-subif)# exit
ESR-1(config)# interface gigabitethernet 1/0/3.222
ESR-1(config-subif)# description "Network: ISP2"
ESR-1(config-subif)# security-zone ISP1_ISP2
ESR-1(config-subif)# ip address 192.18.5.254/24
ESR-1(config-subif)# vrrp id 222
ESR-1(config-subif)# vrrp ip 192.18.5.2/24
ESR-1(config-subif)# vrrp group 1
ESR-1(config-subif)# vrrp
ESR-1(config-subif)# wan load-balance nexthop 192.18.5.1
ESR-1(config-subif)# wan load-balance success-count 1
ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2
ESR-1(config-subif)# wan load-balance enable
ESR-1(config-subif)# exit
ESR-1(config)# interface gigabitethernet 2/0/2
ESR-1(config-if-gi)# description "Network: TRUSTED"
ESR-1(config-if-gi)# security-zone TRUSTED
ESR-1(config-if-gi)# ip address 192.18.3.253/24
ESR-1(config-if-gi)# vrrp id 3
ESR-1(config-if-gi)# vrrp ip 192.18.3.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/3.111
ESR-1(config-subif)# description "Network: ISP1"
ESR-1(config-subif)# security-zone ISP1_ISP2
ESR-1(config-subif)# ip address 192.18.4.253/24
ESR-1(config-subif)# vrrp id 111
ESR-1(config-subif)# vrrp ip 192.18.4.2/24
ESR-1(config-subif)# vrrp group 1
ESR-1(config-subif)# vrrp
ESR-1(config-subif)# wan load-balance nexthop 192.18.4.1
ESR-1(config-subif)# wan load-balance success-count 1
ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2
ESR-1(config-subif)# wan load-balance enable
ESR-1(config-subif)# exit
ESR-1(config)# interface gigabitethernet 2/0/3.222
ESR-1(config-subif)# description "Network: ISP2"
ESR-1(config-subif)# security-zone ISP1_ISP2
ESR-1(config-subif)# ip address 192.18.5.253/24
ESR-1(config-subif)# vrrp id 222
ESR-1(config-subif)# vrrp ip 192.18.5.2/24
ESR-1(config-subif)# vrrp group 1
ESR-1(config-subif)# vrrp
ESR-1(config-subif)# wan load-balance nexthop 192.18.5.1
ESR-1(config-subif)# wan load-balance success-count 1
ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2
ESR-1(config-subif)# wan load-balance enable
ESR-1(config-subif)# 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/3.111 70
ESR-1(config-wan-rule)# outbound interface gigabitethernet 1/0/3.222 30
ESR-1(config-wan-rule)# outbound interface gigabitethernet 2/0/3.222 30
ESR-1(config-wan-rule)# outbound interface gigabitethernet 2/0/3.111 70
ESR-1(config-wan-rule)# enable
ESR-1(config-wan-rule)# exit

Разрешите работу протокола VRRP и протокола ICMP в зоне ISP1_ISP2 и TRUSTED:

ESR-1
ESR-1(config)# security zone-pair ISP1_ISP2 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 icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 vrrp 
ESR-1(config-security-zone-pair-rule)# enable 
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit
ESR-1(config)# security zone-pair TRUSTED 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 icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 vrrp 
ESR-1(config-security-zone-pair-rule)# enable 
ESR-1(config-security-zone-pair-rule)# exit 
ESR-1(config-security-zone-pair)# exit

Проверить работу можно командой show wan interfaces status:

ESR-1
ESR-1# show wan interfaces status 
Interface              Nexthop                   Status     Uptime/Downtime                              
--------------------   -----------------------   --------   ------------------------------------------   
gi1/0/3.111            192.18.4.1                Active     1 minute and 58 seconds                      
gi1/0/3.222            192.18.5.1                Active     1 minute and 58 seconds  

Настройка IPsec VPN

IPsec — это набор протоколов, обеспечивающих защиту данных, передаваемых по протоколу IP. Данный набор протоколов позволяет осуществлять подтверждение подлинности (аутентификацию), проверку целостности и шифрование IP-пакетов, а также включает в себя протоколы для защищённого обмена ключами в сети Интернет.

Создайте зону безопасности для IPsec_VPN, разрешите прохождение трафика для протокола ESP, а также откройте порты ISAKMP для зоны ISP1_ISP2:

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
ESR-1(config)# security zone IPsec_VPN
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone-pair ISP1_ISP2 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 esp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 source-port object-group ISAKMP
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)# exit

Создайте туннели VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. Также настройте WAN для резервирования VTI-туннеля. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов:

ESR-1
ESR-1(config)# wan load-balance target-list MGMT
ESR-1(config-wan-target-list)# target 1
ESR-1(config-wan-target)# resp-time 1
ESR-1(config-wan-target)# ip address 192.18.2.75
ESR-1(config-wan-target)# enable 
ESR-1(config-wan-target)# exit
ESR-1(config-wan-target-list)# exit
ESR-1(config)# tunnel vti 1
ESR-1(config-vti)# security-zone IPsec_VPN
ESR-1(config-vti)# local address 192.18.4.2
ESR-1(config-vti)# remote address 192.18.4.1
ESR-1(config-vti)# ip address 192.18.11.1/24
ESR-1(config-vti)# wan load-balance nexthop 192.18.11.2
ESR-1(config-vti)# wan load-balance success-count 1
ESR-1(config-vti)# wan load-balance target-list MGMT
ESR-1(config-vti)# wan load-balance enable 
ESR-1(config-vti)# enable
ESR-1(config-vti)# exit
ESR-1(config)# tunnel vti 2
ESR-1(config-vti)# security-zone IPsec_VPN
ESR-1(config-vti)# local address 192.18.5.2
ESR-1(config-vti)# remote address 192.18.5.1
ESR-1(config-vti)# ip address 192.18.12.1/24
ESR-1(config-vti)# wan load-balance nexthop 192.18.12.2
ESR-1(config-vti)# wan load-balance success-count 1
ESR-1(config-vti)# wan load-balance target-list MGMT
ESR-1(config-vti)# wan load-balance enable 
ESR-1(config-vti)# enable
ESR-1(config-vti)# exit
ESR-1(config)# ip route 192.168.2.0/24 wan load-balance rule 2 10
ESR-1(config)# wan load-balance rule 2
ESR-1(config-wan-rule)# outbound tunnel vti 1 70
ESR-1(config-wan-rule)# outbound tunnel vti 2 30
ESR-1(config-wan-rule)# enable
ESR-1(config-wan-rule)# 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 hexadecimal 123FFF
ESR-1(config-ike-policy)# proposal IKE_PROP
ESR-1(config-ike-policy)# exit

Создайте шлюзы протокола IKE. В данном профиле указываются: VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель. Поддержка MOBIKE отключается для route-based IPsec в обязательном порядке:

ESR-1
ESR-1(config)# security ike gateway IKE_GW_1
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)# version v2-only
ESR-1(config-ike-gw)# exit
ESR-1(config)# security ike gateway IKE_GW_2
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 2
ESR-1(config-ike-gw)# version v2-only
ESR-1(config-ike-gw)# exit

Создайте профиль параметров безопасности для IPsec-туннеля. В профиле укажите алгоритм шифрования — AES 128 bit, алгоритм аутентификации — MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:

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. В VPN указываются: шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения:

ESR-1
ESR-1(config)# security ipsec vpn IPSEC_1
ESR-1(config-ipsec-vpn)# mode ike 
ESR-1(config-ipsec-vpn)# ike establish-tunnel route 
ESR-1(config-ipsec-vpn)# ike gateway IKE_GW_1
ESR-1(config-ipsec-vpn)# ike ipsec-policy IPSEC_POL
ESR-1(config-ipsec-vpn)# enable 
ESR-1(config-ipsec-vpn)# exit
ESR-1(config)# security ipsec vpn IPSEC_2
ESR-1(config-ipsec-vpn)# mode ike 
ESR-1(config-ipsec-vpn)# ike establish-tunnel route 
ESR-1(config-ipsec-vpn)# ike gateway IKE_GW_2
ESR-1(config-ipsec-vpn)# ike ipsec-policy IPSEC_POL
ESR-1(config-ipsec-vpn)# enable 
ESR-1(config-ipsec-vpn)# exit

Создайте разрешающие правила для работы IPsec VPN:

ESR-1
ESR-1(config)# security zone-pair IPsec_VPN 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 icmp
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

Firewall failover необходим для резервирования сессий Firewall.  

С алгоритмом настройки Firewall-failover можно ознакомиться по ссылке в разделе: Алгоритм настройки Firewall-failover.

Пример настройки

Задача:

Настроить Firewall-failover в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:

  • режим резервирования сессий unicast;
  • номер UDP-порта службы резервирования 9999;
  • клиентская подсеть: 192.0.2.0/24.

Рисунок 2 — Схема реализации 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 LAN
exit
   
bridge 1
  vlan 1
  security-zone SYNC
  ip address 198.51.100.254/24 unit 1
  ip address 198.51.100.253/24 unit 2
  vrrp id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp
  enable
exit
   
interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  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
security zone-pair LAN self
  rule 1
    action permit
    enable
  exit
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

Перейдем к выбору IP-адреса сетевого интерфейса, с которого будут отправляться сообщения при работе failover-сервисов, указав созданную object-group:

ESR-1
ESR-1(config)# ip failover
ESR-1(config-failover)# local-address object-group SYNC_SRC

Настроим IP-адреса соседа при работе failover-сервисов, указав созданную object-group:

ESR-1
ESR-1(config-failover)# remote-address object-group SYNC_DST

Укажем VRRP-группу, на основе которой определяется состояние (основной/резервный) маршрутизатора при работе failover-сервисов:

ESR-1
ESR-1(config-failover)# vrrp-group 1
ESR-1(config-failover)# exit

При включенном кластере использование object-group в настройке failover-сервисов обязательно.

Для настройки правил зон безопасности создадим профиль для порта 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:

ESR-1
ESR-1(config)# ip firewall failover
ESR-1(config-firewall-failover)# sync-type unicast

Настроим номер UDP-порта службы резервирования сессий Firewall:

ESR-1
ESR-1(config-firewall-failover)# port 9999

Включим резервирование сессий Firewall:

ESR-1
ESR-1(config-firewall-failover)# enable 
ESR-1(config-firewall-failover)# exit

После успешного запуска Firewall-failover можно посмотреть состояние резервирования сессий Firewall с помощью следующей команды:

ESR-1
ESR-1# show ip firewall failover 
Communication interface:                    bridge 1
Status:                                     Running
Bytes sent:                                 1200
Bytes received:                             1168
Packets sent:                               76
Packets received:                           77
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 
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-01-09 13:36:13

Настройка DHCP-failover

DHCP-failover позволяет обеспечить высокую доступность службы DHCP.

С алгоритмом настройки DHCP-failover можно ознакомиться по ссылке в разделе: Алгоритм настройки DHCP-failover.

Пример настройки

Задача:

Настроить DHCP-failover в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:

  • в качестве default-router используется IP-адрес VRRP;
  • в качестве dns-server используется IP-адрес VRRP;
  • установить в качестве необходимого режима работы резервирования active-standby;
  • клиентская подсеть: 192.0.2.0/24.

Рисунок 3 — Схема реализации DHCP-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 LAN
exit
  
bridge 1
  vlan 1
  security-zone SYNC
  ip address 198.51.100.254/24 unit 1
  ip address 198.51.100.253/24 unit 2
  vrrp id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp
  enable
exit
  
interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  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
Решение:

Выполним настройку DHCP-сервера. В качестве default-router и dns-server используется IP-адрес VRRP:

ESR-1
ESR-1(config)# ip dhcp-server 
ESR-1(config)# ip dhcp-server pool TRUSTED
ESR-1(config-dhcp-server)# network 192.0.2.0/24
ESR-1(config-dhcp-server)# address-range 192.0.2.10-192.0.2.100
ESR-1(config-dhcp-server)# default-router 192.0.2.1
ESR-1(config-dhcp-server)# dns-server 192.0.2.1
ESR-1(config-dhcp-server)# exit

Разрешим получение DHCP-адресов:

ESR-1
ESR-1(config)# object-group service DHCP_SERVER
ESR-1(config-object-group-service)# port-range 67
ESR-1(config-object-group-service)# exit
ESR-1(config)# object-group service DHCP_CLIENT
ESR-1(config-object-group-service)# port-range 68
ESR-1(config-object-group-service)# exit
ESR-1(config)# security zone-pair LAN 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 udp
ESR-1(config-security-zone-pair-rule)# match source-port object-group DHCP_CLIENT 
ESR-1(config-security-zone-pair-rule)# match destination-port object-group DHCP_SERVER 
ESR-1(config-security-zone-pair-rule)# enable 
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# 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

Перейдем к выбору IP-адреса сетевого интерфейса, с которого будут отправляться сообщения при работе failover-сервисов, указав созданную object-group:

ESR-1
ESR-1(config)# ip failover
ESR-1(config-failover)# local-address object-group SYNC_SRC

Настроим IP-адреса соседа при работе failover-сервисов, указав созданную object-group:

ESR-1
ESR-1(config-failover)# remote-address object-group SYNC_DST

Укажем VRRP-группу, на основе которой определяется состояние (основной/резервный) маршрутизатора при работе failover-сервисов:

ESR-1
ESR-1(config-failover)# vrrp-group 1
ESR-1(config-failover)# exit

Перейдем к настройке резервирования DHCP-сервера:

ESR-1
ESR-1(config)# ip dhcp-server failover 

Установим режим работы резервирования:

ESR-1
ESR-1(config-dhcp-server-failover)# mode active-standby 

Для работы в кластере необходимо использовать режим active-standby.

Включим DHCP-failover:

ESR-1
ESR-1(config-dhcp-server-failover)# enable
ESR-1(config-dhcp-server-failover)# exit

Посмотреть состояние резервирования DHCP-сервера можно с помощью команды:

ESR-1
ESR-1# show ip dhcp server failover 
VRF:                             --
    Mode:                        Active-Standby
    Role:                        Master
    State:                       Synchronized
    Last synchronization:        2025-01-09 12:00:57

Посмотреть состояние резервирования сессий DHCP можно с помощью команды:

ESR-1
ESR-1# show high-availability state 
DHCP server:
VRF:                               --
    Mode:                          Active-Standby
    State:                         Successful synchronization
    Last synchronization:          2025-01-09 12:01:21
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         02:00:00:69:91:12                                               active         2025-01-09 23:58:36    
192.0.2.11         02:00:00:2a:a6:85                                               active         2025-01-09 23:58:39    

Настройка SNMP

Протокол SNMP позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.

В текущей схеме SNMP-трафик будет идти на интерфейсы Gi1/0/2.7 и Gi2/0/2.7. Необходимо настроить snmp-server и snmp-traps, чтобы удаленно получать информацию о состоянии сети и при необходимости изменять её конфигурацию.

Создайте зону безопасности для MGMT (management):

ESR-1
ESR-1(config)# security zone MGMT
ESR-1(config-security-zone)# exit

Откройте SNMP-порты и порт для SSH-подключения:

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
ESR-1(config)# object-group service SSH
ESR-1(config-object-group-service)# port-range 22
ESR-1(config-object-group-service)# exit

Укажите правила для зоны безопасности MGMT:

ESR-1
ESR-1(config)# security zone-pair MGMT 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 icmp 
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 vrrp 
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 tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group SSH
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 SNMP
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 MGMT IPsec_VPN
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 icmp 
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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
ESR-1(config)# security zone-pair IPsec_VPN MGMT
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 icmp 
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group SSH
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 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

Настройте MGMT-интерфейсы:

ESR-1
ESR-1(config)# interface gigabitethernet 1/0/2.7
ESR-1(config-if-gi)# description "Network: MGMT"
ESR-1(config-if-gi)# security-zone MGMT
ESR-1(config-if-gi)# ip address 192.18.7.254/24
ESR-1(config-if-gi)# vrrp id 7
ESR-1(config-if-gi)# vrrp ip 192.18.7.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/2.7
ESR-1(config-if-gi)# description "Network: MGMT"
ESR-1(config-if-gi)# security-zone MGMT
ESR-1(config-if-gi)# ip address 192.18.7.253/24
ESR-1(config-if-gi)# vrrp id 7
ESR-1(config-if-gi)# vrrp ip 192.18.7.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit

Management-сервер, куда должен дойти MGMT-трафик, имеет IP-адрес — 192.18.2.75, который доступен через VTI-туннели.

Создайте object-group и укажите IP-адреса с привязкой к unit, которые будут использоваться в качестве адресов, с которых будут отправляться SNMP-пакеты с ESR:

ESR-1
ESR-1(config)# object-group network MGMT_SRC
ESR-1(config-object-group-network)# ip address-range 192.18.7.254 unit 1
ESR-1(config-object-group-network)# ip address-range 192.18.7.253 unit 2
ESR-1(config-object-group-network)# exit

Включите SNMP-server, настройте snmp-community:

ESR-1
ESR-1(config)# snmp-server
ESR-1(config)# snmp-server system-shutdown
ESR-1(config)# snmp-server community MGMT client-list MGMT_SRC rw

Настройте SNMP-сервер:

ESR-1
ESR-1(config)# snmp-server host 192.18.2.75
ESR-1(config-snmp-host)# source-address object-group MGMT_SRC
ESR-1(config-snmp-host)# exit

Настройте SNMP-уведомления на команды конфигурирования commit/confirm:

ESR-1
ESR-1(config)# snmp-server enable traps config
ESR-1(config)# snmp-server enable traps config commit
ESR-1(config)# snmp-server enable traps config confirm

Настройка Source NAT

Функция Source NAT (SNAT) используется для подмены адреса источника у пакетов, проходящих через сетевой шлюз. При прохождении пакетов из локальной сети в публичную сеть адрес источника заменяется на один из публичных адресов шлюза. Дополнительно к адресу источника может применяться замена порта источника (NATP). При прохождении пакетов из публичной сети в локальную происходит обратная подмена адреса и порта.

Пример настройки

Задача:
  • предоставить доступ в Интернет хостам, находящимся в локальной сети;
  • клиентская подсеть: 192.0.2.0/24;
  • публичный IP адрес  – IP адрес на интерфейсе.

Рисунок 4 — Схема реализации Source NAT

Исходная конфигурация кластера:
cluster
  cluster-interface bridge 1
  unit 1
    mac-address cc:9d:a2:71:83:78
  exit
  unit 2
    mac-address cc:9d:a2:71:82:38
  exit
  enable
exit
 
hostname ESR-1 unit 1
hostname ESR-2 unit 2
 
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
 
bridge 1
  vlan 1
  security-zone SYNC
  ip address 198.51.100.254/24 unit 1
  ip address 198.51.100.253/24 unit 2
  vrrp id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp
  enable
exit
 
interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  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
security zone-pair LAN self
  rule 1
    action permit
    enable
  exit
exit

Сконфигурируем необходимые сетевые интерфейсы c принадлежностью к зоне безопасности:

ESR-1
ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# ip address 203.0.113.254/24
ESR-1(config-if-gi)# security-zone WAN
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# ip address 203.0.113.253/24
ESR-1(config-if-gi)# security-zone WAN
ESR-1(config-if-gi)# exit

Создадим список IP-адресов, которые будут иметь возможность выхода в Интернет:

ESR-1
ESR-1(config)# object-group network INTERNET_USERS
ESR-1(config-object-group-network)# ip address-range 192.0.2.10-192.0.2.100
ESR-1(config-object-group-network)# exit

Добавим правило, где включена проверка адреса источника данных на принадлежность к диапазону адресов INTERNET_USERS, для соблюдения ограничения на выход в публичную сеть:

ESR-1
ESR-1(config)# security zone-pair LAN WAN 
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 source-address object-group INTERNET_USERS
ESR-1(config-security-zone-pair-rule)# enable 
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit

Создадим набор правил SNAT. В атрибутах набора укажем, что правила применяются только для пакетов, направляющихся в зону WAN. Правила включают проверку адреса источника данных на принадлежность к пулу INTERNET_USERS и задают трансляцию в IP-адрес интерфейса:

ESR-1
ESR-1(config)# nat source 
ESR-1(config-snat)# ruleset SNAT_WAN
ESR-1(config-snat-ruleset)# to zone WAN 
ESR-1(config-snat-ruleset)# rule 1
ESR-1(config-snat-rule)# match source-address object-group INTERNET_USERS
ESR-1(config-snat-rule)# action source-nat interface 
ESR-1(config-snat-rule)# enable 
ESR-1(config-snat-rule)# exit
ESR-1(config-snat-ruleset)# exit
ESR-1(config-snat)# exit

Настройка Destination NAT

Функция Destination NAT (DNAT) состоит в преобразовании IP-адреса назначения у пакетов, проходящих через сетевой шлюз. DNAT используется для перенаправления трафика, идущего на некоторый «виртуальный» адрес в публичной сети, на «реальный» сервер в локальной сети, находящийся за сетевым шлюзом.

Пример настройки

Задача:
  • организовать публичный доступа к серверу, находящемуся в частной сети и не имеющему публичного сетевого адреса;
  • сервер доступен по адресу: 192.0.2.10/24;

Рисунок 5 — Схема реализации Destination NAT

Исходная конфигурация кластера:
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 DMZ
exit
security zone WAN
exit
  
bridge 1
  vlan 1
  security-zone SYNC
  ip address 198.51.100.254/24 unit 1
  ip address 198.51.100.253/24 unit 2
  vrrp id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp
  enable
exit
  
interface gigabitethernet 1/0/1
  security-zone WAN
  ip address 203.0.113.254/24
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/1
  security-zone WAN
  ip address 203.0.113.253/24
exit
interface gigabitethernet 2/0/3
  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
security zone-pair WAN self
  rule 1
    action permit
    enable
  exit
exit

Сконфигурируем интерфейс в сторону DMZ-сервера в зоне безопасности DMZ:

ESR-1
ESR-1(config)# interface gigabitethernet 1/0/2
ESR-1(config-subif)# security-zone DMZ 
ESR-1(config-subif)# ip address 192.0.2.254/24
ESR-1(config-subif)# vrrp id 10
ESR-1(config-subif)# vrrp ip 192.0.2.1/24
ESR-1(config-subif)# vrrp group 1
ESR-1(config-subif)# vrrp 
ESR-1(config-subif)# exit
ESR-1(config)# interface gigabitethernet 2/0/2
ESR-1(config-subif)# security-zone DMZ 
ESR-1(config-subif)# ip address 192.0.2.253/24
ESR-1(config-subif)# vrrp id 10
ESR-1(config-subif)# vrrp ip 192.0.2.1/24
ESR-1(config-subif)# vrrp group 1
ESR-1(config-subif)# vrrp 
ESR-1(config-subif)# exit

Создадим профиль адресов публичной сети:

ESR-1
ESR-1(config)# object-group network EXTERNAL_VIPS
ESR-1(config-object-group-network)# ip address-range 192.18.4.2
ESR-1(config-object-group-network)# ip address-range 192.18.5.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 80
ESR-1(config-object-group-service)# exit

Войдем в режим конфигурирования DNAT и создадим пул адресов, в которые будут транслироваться адреса пакетов, поступающие на адреса 192.18.4.2 и 192.18.5.2 из внешней сети:

ESR-1
ESR-1(config)# nat destination 
ESR-1(config-dnat)# pool SERVER_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 EXTERNAL_VIPS 
ESR-1(config-dnat-rule)# match destination-port object-group SERVER_DMZ 
ESR-1(config-dnat-rule)# action destination-nat pool SERVER_DMZ 
ESR-1(config-dnat-rule)# enable 
ESR-1(config-dnat-rule)# exit
ESR-1(config-dnat-ruleset)# rule 2
ESR-1(config-dnat-rule)# match protocol udp
ESR-1(config-dnat-rule)# match destination-address object-group EXTERNAL_VIPS
ESR-1(config-dnat-rule)# match destination-port object-group SERVER_DMZ 
ESR-1(config-dnat-rule)# action destination-nat pool SERVER_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 в DMZ, создадим еще одно правило. Пропускать следует только трафик, прошедший преобразование DNAT:

ESR-1
ESR-1(config)# security zone-pair WAN DMZ 
ESR-1(config-security-zone-pair)# rule 1
ESR-1(config-security-zone-pair-rule)# match destination-nat 
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 

Настройка сервера удаленного доступа к корпоративной сети по WireGuard-протоколу

WireGuard – простой, быстрый и современный VPN, использующий современную криптографию (ChaCha20, Poly1305, Curve25519, BLAKE2s, SipHash24, HKDF). WireGuard надежно инкапсулирует IP-пакеты поверх UDP. В основе WireGuard лежит концепция под названием «Маршрутизация криптоключей», которая работает путем связывания открытых ключей со списком IP-адресов туннеля, разрешенным находиться внутри туннеля. Каждый сетевой интерфейс имеет закрытый ключ и список пиров. У каждого узла есть открытый ключ. Открытые ключи короткие и простые и используются узлами для аутентификации друг друга. Их можно передавать для использования в файлах конфигурации любым внешним методом аналогично тому, как можно отправить открытый ключ SSH для доступа к серверу.

С алгоритмом настройки можно ознакомиться по ссылке в разделе: Алгоритм настройки сервера удаленного доступа к корпоративной сети по WireGuard-протоколу.

Пример настройки сервера удаленного доступа по WireGuard-протоколу с общим IP-адресом

Задача:

Настроить WireGuard-сервер на кластере маршрутизаторов ESR для подключения удаленных пользователей к ЛВС.

  • адресация внутри туннеля – 128.66.100.0/24;
  • VRRP адрес WireGuard-сервера внутри туннеля – 128.66.100.1;
  • порт подключения к серверу – 43020.
Исходная конфигурация кластера:
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

bridge 1
  vlan 1
  security-zone SYNC
  ip address 198.51.100.254/24 unit 1
  ip address 198.51.100.253/24 unit 2
  vrrp id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
  enable
exit

interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  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
security zone-pair LAN self
  rule 1
    action permit
    match protocol vrrp
    enable
  exit
  rule 2
    action permit
    match protocol ah
    enable
  exit
exit
Решение:

Сконфигурируем необходимые сетевые интерфейсы:

ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# ip address 203.0.113.254/24
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# ip address 203.0.113.253/24
ESR-1(config-if-gi)# exit

Сконфигурируем зону безопасности WAN и зону безопасности SSH_ACCESS, настроем firewall для приема маршрутизатором WireGuard-трафика из зоны безопасности WAN, а также разрешим прохождение трафика из зоны SSH_ACCESS в зону LAN по протоколу SSH:

ESR-1(config)# object-group service ssh
ESR-1(config-object-group-service)# port-range 22
ESR-1(config-object-group-service)# exit
ESR-1(config)# object-group service wireguard
ESR-1(config-object-group-service)# port-range 43020
ESR-1(config-object-group-service)# exit
ESR-1(config)# security zone WAN
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone SSH_ACCESS
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone-pair WAN 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)# rule 2
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol ah
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 icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# rule 4
ESR-1(config-security-zone-pair-rule)# match protocol tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group wireguard 
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 SSH_ACCESS LAN 
ESR-1(config-security-zone-pair)# rule 1
ESR-1(config-security-zone-pair-rule)# match protocol tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group ssh 
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)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# exit

Настроем vrrp адрес на интерфейсе, с которого в дальнейшем будем принимать и отправлять WireGuard трафик:

ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# vrrp id 4
ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-if-gi)# vrrp authentication algorithm md5
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# vrrp id 4
ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-if-gi)# vrrp authentication algorithm md5
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit

Настроим object-group с пулом адресов клиентов для подключения к WireGuard серверу:

ESR-1(config)# object-group network client_pool
ESR-1(config-object-group-network)# ip address-range 128.66.100.10-128.66.100.20
ESR-1(config-object-group-network)# exit

Сконфигурируем WireGuard сервер, укажем его принадлежность к зоне SSH_ACCESS, настроим mtu, port, локальный адрес:

ESR-1(config)# remote-access wireguard wg
ESR-1(config-wireguard-server)# security-zone SSH_ACCESS

Настроем WireGuard сервер, укажем mtu, port, локальный адрес, а также укажем приватный ключ сервера:

ESR-1(config-wireguard-server)# mtu 1420
ESR-1(config-wireguard-server)# port 43020
ESR-1(config-wireguard-server)# local-address 128.66.100.1/24
ESR-1(config-wireguard-server)# private-key server.priv

Перейдем в настройку peer, укажем разрешенные адреса клиентов, а также публичный клиентский ключ, после чего включим peer:

ESR-1(config-wireguard-server)# peer 1
ESR-1(config-wireguard-server-peer)# access-addresses object-group client1
ESR-1(config-wireguard-server-peer)# public-key client.pub
ESR-1(config-wireguard-server-peer)# enable
ESR-1(config-wireguard-server-peer)# exit

Включим WireGuard сервер:

ESR-1(config-wireguard-server)# enable
ESR-1(config-wireguard-server)# exit

Применим конфигурацию на Active устройстве.

Информацию о WireGuard

Настройка BGP

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

С алгоритмом настройки можно ознакомиться по ссылке в разделе: Алгоритм настройки BGP.

Пример настройки eBGP с общим IP-адресом

Задача:

Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:

  • соседство устанавливается только с Active устройством;
  • клиентская подсеть: 192.0.2.0/24;
  • анонсирование подсетей, подключенных напрямую;
  • собственная AS 2500;
  • соседство – подсеть 203.0.113.0/24, vrrp IP-адрес для подключения 203.0.113.1, IP-адрес соседа 203.0.113.2, AS3000.

Рисунок 6 — Схема реализации eBGP с общим IP-адресом

Исходная конфигурация кластера:
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

bridge 1
  vlan 1
  security-zone SYNC
  ip address 198.51.100.254/24 unit 1
  ip address 198.51.100.253/24 unit 2
  vrrp id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
  enable
exit

interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  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
security zone-pair LAN self
  rule 1
    action permit
    match protocol vrrp
    enable
  exit
  rule 2
    action permit
    match protocol ah
    enable
  exit
exit
Решение:

Сконфигурируем необходимые сетевые интерфейсы:

ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# ip address 203.0.113.254/24
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# ip address 203.0.113.253/24
ESR-1(config-if-gi)# exit

Сконфигурируем зону безопасности WAN, настроем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN, а также разрешим прохождение трафика из зоны LAN в зону 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 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)# rule 2
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol ah
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 icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# rule 4
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
ESR-1(config)# security zone-pair LAN WAN 
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)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# exit

Настроем vrrp адрес на интерфейсе, с которого в дальнейшем будем строить BGP соседство:

ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# vrrp id 4
ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-if-gi)# vrrp authentication algorithm md5
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# vrrp id 4
ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-if-gi)# vrrp authentication algorithm md5
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# 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 2500 и войдем в режим конфигурирования параметров процесса:

ESR-1(config)# router bgp 2500

Сконфигурируем анонсирование подсетей, подключенных напрямую:

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 3000
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.2
    BGP state:                          Established
    Type:                               Static neighbor
    Neighbor address:                   203.0.113.2
    Neighbor AS:                        3000
    Neighbor ID:                        8.8.8.8
    Neighbor caps:                      refresh enhanced-refresh restart-aware AS4
    Session:                            external AS4
    Source address:                     203.0.113.1
    Weight:                             0
    Hold timer:                         111/180
    Keepalive timer:                    23/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:06
ESR-2# show bgp neighbors 
BGP neighbor is 203.0.113.2
    BGP state:                          Active
    Type:                               Static neighbor
    Neighbor address:                   203.0.113.2
    Neighbor AS:                        3000
    Connect delay:                      2/5
    Last error:                         Socket: Network is unreachable

Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:

ESR-1# show bgp ipv4 unicast 
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      3000 ? 

В случае выхода из строя Active устройства, BGP будет полностью переустанавливаться со Standby устройством.

Пример настройки eBGP с каждым участником кластера по индивидуальным IP-адресам

Задача:

Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:

  • соседство устанавливается с каждым маршрутизатором в кластере индивидуально;
  • клиентская подсеть: 192.0.2.0/24;
  • анонсирование подсетей, подключенных напрямую;
  • собственная AS 2500;
  • соседство для ESR-1 – подсеть 203.0.113.0/30, IP-адрес для подключения 203.0.113.1, IP-адрес соседа 203.0.113.2, AS3000;
  • соседство для ESR-2 – подсеть 203.0.113.4/30, IP-адрес для подключения 203.0.113.5, IP-адрес соседа 203.0.113.6, AS3500.

Рисунок 7 — Схема реализации eBGP с каждым участником кластера по индивидуальным IP-адресам

Исходные конфигурации маршрутизаторов в кластере:
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

bridge 1
  vlan 1
  security-zone SYNC
  ip address 198.51.100.254/24 unit 1
  ip address 198.51.100.253/24 unit 2
  vrrp id 1
  vrrp ip 198.51.100.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
  enable
exit

interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 2
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  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
security zone-pair LAN self
  rule 1
    action permit
    match protocol vrrp
    enable
  exit
  rule 2
    action permit
    match protocol ah
    enable
  exit
exit
Решение:

Сконфигурируем необходимые сетевые интерфейсы:

ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# ip address 203.0.113.1/30
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# ip address 203.0.113.5/30
ESR-1(config-if-gi)# exit

Сконфигурируем зону безопасности WAN, настроем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN, а также разрешим прохождение трафика из зоны LAN в зону 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 1
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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
ESR-1(config)# security zone-pair LAN WAN 
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)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# 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 20 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 2500 для ESR-1 и войдем в режим конфигурирования параметров процесса:

ESR-1(config)# router bgp 2500 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 3000
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 2500 для ESR-2 и войдем в режим конфигурирования параметров процесса:

ESR-1(config)# router bgp 2500 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 3500
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:                        3000
    Neighbor ID:                        8.8.8.8
    Neighbor caps:                      refresh enhanced-refresh restart-aware AS4
    Session:                            external AS4
    Source address:                     203.0.113.1
    Weight:                             0
    Hold timer:                         120/180
    Keepalive timer:                    49/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:40  
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:                        3500
    Neighbor ID:                        8.8.8.8
    Neighbor caps:                      refresh enhanced-refresh restart-aware AS4
    Session:                            external AS4
    Source address:                     203.0.113.5
    Weight:                             0
    Hold timer:                         138/180
    Keepalive timer:                    56/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:42 

Таблицу маршрутов протокола 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          --      --          --     2500 ?
*  u 192.0.2.0/24         203.0.113.1          --      --          --     2500 ?
*> u 203.0.113.0/30       203.0.113.1          --      --          --     2500 ?
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      3000 ?
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          --      --          --     2500 20 ?
*> u 203.0.113.4/30       203.0.113.5          --      --          --     2500 20 ?
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      3500 ?
  • Нет меток