Настройка VRRP
VRRP (англ. Virtual Router Redundancy Protocol) — сетевой протокол, предназначенный для увеличения доступности маршрутизаторов, выполняющих роль шлюза по умолчанию. Это достигается путём объединения группы маршрутизаторов в один виртуальный маршрутизатор и назначения им общего IP-адреса, который и будет использоваться как шлюз по умолчанию для хостов в сети.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Перейти в режим конфигурирования интерфейса/сетевого моста, для которого необходимо настроить протокол VRRP. | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> – тип интерфейса; <IF-NUM> – F/S/P – F-фрейм (1), S – слот (0), P – порт. |
esr(config)# tunnel <TUN-TYPE><TUN-NUM> | <TUN-TYPE> – тип туннеля; <TUN-NUM> – номер туннеля. | ||
esr(config)# bridge <BR-NUM> | <BR-NUM> – номер сетевого моста. | ||
| 2 | Настроить необходимые параметры на интерфейсе/сетевом мосту, включая IP-адрес. | ||
| 3 | Объявить номер экземпляра VRRP-процесса. | esr(config-if-gi)# vrrp <VRRP-NUM> | <VRRP-NUM> – номер экземпляра VRRP-процесса, принимает значения [1..255]. |
esr(config-if-gi)# ipv6 vrrp <VRRP-NUM> | |||
| 4 | Установить виртуальный IP-адрес VRRP-маршрутизатора. | esr(config-vrrp)# ip address <ADDR/LEN> [ secondary ] | <ADDR/LEN> – виртуальный IP-адрес и длина маски, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. Можно указать несколько |
esr(config-vrrp)# ipv6 ip address <IPV6-ADDR> | <IPV6-ADDR> – виртуальный IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. Можно указать до 8 IPv6-адресов перечислением через запятую. | ||
| 5 | Включить VRRP-экземпляр на IP-интерфейсе. | esr(config-vrrp)# enable | |
6 | Установить приоритет VRRP-маршрутизатора (не обязательно). | esr(config-vrrp)# priority <PR> | <PR> – приоритет VRRP-маршрутизатора, принимает значения [1..254]. Значение по умолчанию: 100. |
esr(config-vrrp)# ipv6 priority <PR> | |||
7 | Установить принадлежность VRRP-маршрутизатора к группе. Группа предоставляет возможность синхронизировать несколько VRRP-процессов, так если в одном из процессов произойдет смена мастера, то в другом процессе также произойдёт смена ролей (не обязательно). | esr(config-vrrp)# group <GRID> | <GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32]. |
esr(config-vrrp)# ipv6 group <GRID> | |||
8 | Установить наследование состояний VRRP. Статус интерфейса наследника будет следовать состояниям VRRP родителя, идентификатор которого был задан (не обязательно). | esr(config-vrrp)# inherit-vrrp-id <VRID> | <VRID> – идентификатора VRRP-маршрутизатора, принимает значения [1..255]. |
esr(config-vrrp)# inherit-vrrp-id <VRID> | |||
9 | Установить IP-адрес, который будет использоваться в качестве IP-адреса отправителя для VRRP-сообщений (не обязательно). | esr(config-vrrp)# source-ip <IP> | <IP> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-vrrp)# ipv6 source-ip <IPV6> | <IPV6> – IPv6-адрес отправителя, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
10 | Установить интервал между отправкой VRRP-сообщений (не обязательно). | esr(config-vrrp)# timers advertise <TIME> | <TIME> – время в секундах, принимает значения [1..40]. Значение по умолчанию: 1 секунда. |
esr(config-vrrp)# ipv6 timers advertise <TIME> | |||
11 | Установить интервал, по истечении которого происходит отправка GratuituousARP-сообщения(ий) при переходе маршрутизатора в состояние Master (не обязательно). | esr(config-vrrp)# timers garp delay <TIME> | <TIME> – время в секундах, принимает значения [1..60]. Значение по умолчанию: 5 секунд. |
12 | Установить количество GratuituousARP-сообщений, которые будут отправлены при переходе маршрутизатора в состояние Master (не обязательно). | esr(config-vrrp)# timers garp repeat <COUNT> | <COUNT> – количество сообщений, принимает значения [1..60]. Значение по умолчанию: 5. |
13 | Установить интервал, по истечении которого будет происходить периодическая отправка GratuituousARP-сообщения(ий), пока маршрутизатор находится в состоянии Master (не обязательно). | esr(config-vrrp)# timers garp refresh <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: периодическая отправка отключена. |
14 | Установить количество GratuituousARP-сообщений, которые будут отправляться с периодом garprefresh, пока маршрутизатор находится в состоянии Master (не обязательно). | esr(config-vrrp)# timers garp refresh-repeat <COUNT> | <COUNT> – количество сообщений, принимает значения [1..60]. Значение по умолчанию: 1. |
15 | Определить, будет ли Backup-маршрутизатор с более высоким приоритетом пытаться перехватить на себя роль Master у текущего Master-маршрутизатора с более низким приоритетом (не обязательно). | esr(config-vrrp)# preempt disable | |
esr(config-vrrp)# ipv6 preempt disable | |||
16 | Установить временной интервал, по истечении которого Backup-маршрутизатор с более высоким приоритетом будет пытаться перехватить на себя роль Master у текущего Master-маршрутизатора с более низким приоритетом (не обязательно). | esr(config-vrrp)# preempt delay <TIME> | <TIME> – время ожидания, определяется в секундах [1..1000]. Значение по умолчанию: 0. |
esr(config-vrrp)# ipv6 preempt delay <TIME> | |||
17 | Установить пароль для аутентификации с соседом (не обязательно). | esr(config-vrrp)# authentication key ascii-text | <CLEAR-TEXT> – ключ, задаётся строкой от 1 до 8 символов; <ENCRYPTED-TEXT> – зашифрованный ключ размером от 1 до 8 байт (от 2 до 16 символов). Задается в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
18 | Определить алгоритм аутентификации (не обязательно). | esr(config-vrrp)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
19 | Задать версию VRRP-протокола (не обязательно). | esr(config-vrrp)# version <VERSION> | <VERSION> – версия VRRP-протокола: 2, 3. |
20 | Установить режим, когда vrrp IP-адрес остается в состоянии UP вне зависимости от состояния самого интерфейса (не обязательно). | esr(config-vrrp)# force-up | |
21 | Определить задержку между установлением ipv6 vrrp состояния MASTER и началом рассылки ND-сообщений (не обязательно). | esr(config-vrrp)# ipv6 timers nd delay <TIME> | <TIME> – время в секундах, принимает значения [1..60]. Значение по умолчанию: 5. |
22 | Определить период обновления информации протокола ND для ipv6 vrrp в состоянии MASTER (не обязательно). | esr(config-vrrp)# ipv6 timers nd refresh <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 5. |
23 | Определить количество ND сообщений отправляемых за период обновления для ipv6 vrrp в состоянии MASTER (не обязательно). | esr(config-vrrp)# ipv6 timers nd refresh-repeat <NUM> | <NUM> – количество, принимает значения [1..60]. Значение по умолчанию: 0. |
24 | Определить количество отправок ND-пакетов после установки ipv6 vrrp в состоянии MASTER (не обязательно). | esr(config-vrrp)# ipv6 timers nd repeat <NUM> | <NUM> – количество, принимает значения [1..60]. Значение по умолчанию: 1. |
Пример настройки 1
Задача:
Организовать виртуальный шлюз для локальной сети в VLAN 50, используя протокол VRRP. В качестве локального виртуального шлюза используется IP-адрес 192.168.1.1.
Решение:
Предварительно нужно выполнить следующие действия:
- создать соответствующий саб-интерфейс;
- настроить зону для саб-интерфейса;
- указать IP-адрес для саб-интерфейса.
Основной этап конфигурирования:
Настроим маршрутизатор R1.
В созданном саб-интерфейсе настроим VRRP. Укажем уникальный идентификатор VRRP:
R1(config)#interface gi 1/0/5.50 R1(config-if-sub)# vrrp 10
Укажем IP-адрес виртуального шлюза 192.168.1.1/24:
R1(config-vrrp)# ip address 192.168.1.1/24
Включим VRRP:
R1(config-vrrp)# enable R1(config-vrrp)# exit
После чего необходимо произвести аналогичные настройки на R2.
Пример настройки 2
Задача:
Организовать виртуальные шлюзы для подсети 192.168.1.0/24 в VLAN 50 и подсети 192.168.20.0/24 в VLAN 60, используя протокол VRRP c функцией синхронизации мастера. Для этого используем объединение VRRP-процессов в группу. В качестве виртуальных шлюзов используются IP-адреса 192.168.1.1 и 192.168.20.1.
Решение:
Предварительно нужно выполнить следующие действия:
- создать соответствующие саб-интерфейсы;
- настроить зону для саб-интерфейсов;
- указать IP-адреса для саб-интерфейсов.
Основной этап конфигурирования:
Настроим маршрутизатор R1.
Настроим VRRP для подсети 192.168.1.0/24 в созданном саб-интерфейсе.
Укажем уникальный идентификатор VRRP:
R1(config-sub)#interface gi 1/0/5.50 R1(config-if-sub)# vrrp 10
Укажем IP-адрес виртуального шлюза 192.168.1.1/24:
R1(config-vrrp)# ip address 192.168.1.1/24
Укажем идентификатор VRRP-группы:
R1(config-vrrp)# group 5
Включим VRRP:
R1(config-vrrp)# enable R1(config-vrrp)# exit
Настроим VRRP для подсети 192.168.20.0/24 в созданном саб-интерфейсе.
Укажем уникальный идентификатор VRRP:
R1(config-sub)#interface gi 1/0/6.60 R1(config-if-sub)# vrrp 20
Укажем IP-адрес виртуального шлюза 192.168.20.1/24:
R1(config-vrrp)# ip address 192.168.20.1/24
Укажем идентификатор VRRP-группы:
R1(config-vrrp)# group 5
Включим VRRP:
R1(config-vrrp)# enable R1(config-vrrp)# exit
Произвести аналогичные настройки на R2.
Помимо создания туннеля необходимо в firewall разрешить протокол VRRP (112).
При использовании IPsec с VRRP рекомендуется настраивать DPD для ускорения перестроения IPsec-туннеля.
Настройка tracking
Tracking — механизм, позволяющий активировать сущности в зависимости от состояния VRRP/IP-SLA/туннеля/интерфейса.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Настроить VRRP согласно разделу Алгоритм настройки VRRP, настроить SLA по инструкции Настройка SLA, или сконфигурировать туннель/интерфейс. |
| |
2 | Добавить в систему Tracking-объект и перейти в режим настройки параметров Tracking-объекта. | esr(config)# track <ID> | <ID> – номер Tracking-объекта, принимает значения [1..100]. |
3 | Задать правило слежения, на основании которых Tracking-объект будет переходить в активное состояние. | esr(config-track)# track vrrp id <VRID> state [not] { master | backup | fault } [vrf <VRF> ] | <VRID> – идентификатор отслеживаемого VRRP-маршрутизатора, принимает значения [1..255]; |
| esr(config-track)# track sla test <NUM> [ mode <MODE> ] | <NUM> – номер SLA-теста, задается в диапазоне [1..10000]; <MODE> – режим слежения за sla-тестом, может принимать значения:
При указании команды без аргумента mode, по-умолчанию устанавливается значение mode state success. | ||
| esr(config-track)# track { interface <IF> | tunnel <TUN> } [ state <STATE> ] | <IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора; <STATE> – режим слежения за sla-тестом, может принимать значения:
При указании команды без аргумента state, по-умолчанию устанавливается значение mode state up. | ||
4 | Включить Tracking-объект. | esr(config-track)# enable | |
| 5 | Установить задержку смены состояния отслеживаемого объекта (не обязательно). | esr(config-track)# delay { down | up } <TIME> | <TIME> – время задержки в секундах, задается в диапазоне [1..300]. |
| 6 | Задать режим работы track (не обязательно). | esr(config-track)# mode <MODE> | <MODE> – условие нахождения объекта отслеживания в активном состоянии, принимает значения:
|
| 7 | Cоздать сущность на ESR, которая будет меняться в зависимости от состояния Tracking-объекта. | ||
7.1 | Добавить возможность управления статическим IP-маршрутом к указанной подсети (не обязательно). | esr(config)# ip route [ vrf <VRF> ] <SUBNET> { <NEXTHOP> [ resolve ] | | <VRF> – имя экземпляра VRF, задается строкой до 31 символа; <SUBNET> – адрес назначения, может быть задан в следующих видах: AAA.BBB.CCC.DDD – IP-адрес хоста, где каждая часть принимает значения [0..255]; AAA.BBB.CCC.DDD/NN – IP-адрес подсети с маской в виде префикса, где AAA-DDD принимают значения [0..255] и NN принимает значения [1..32]. <NEXTHOP> – IP-адрес шлюза задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора; <RULE> – номер правила wan, задаётся в диапазоне [1..50];
[METRIC] – метрика маршрута, принимает значения [0..255]; <TRACK-ID> – идентификатор Tracking-объекта. Если маршрут привязан к Tracking-объекту, то он появится в системе только при выполнении всех условий, заданных в объекте. |
| 7.2 | Добавить возможность управления логическим состоянием интерфейса (не обязательно). | esr(config-if-gi)# shutdown track <ID> | <ID> – номер Tracking-объекта, принимает значения [1..100]. |
| 7.3 | Добавить возможность управления приоритетом VRRP-процесса (не обязательно). | esr(config-if-gi)# vrrp priority track <ID> { <PRIO> | increment <INC> | decrement <DEC> } | <ID> – номер Tracking-объекта, принимает значения в диапазоне [1..100]; <PRIO> – приоритет VRRP-процесса, который выставится, если Tracking-объект будет в активном состоянии, принимает значения в диапазоне [1..254]; <INC> – значение на которое увеличится приоритет VRRP-процесса, если Tracking-объект будет в активном состоянии, принимает значения в диапазоне [1..254]; <DEC> – значение на которое уменьшится приоритет VRRP-процесса, если Tracking-объект будет в активном состоянии, принимает значения в диапазоне [1..254]. |
| 7.4 | Добавить возможность управления Next-Hop для пакетов, которые попадают под критерии в указанном списке доступа (ACL) (не обязательно). | esr(config-route-map-rule)# action set ip next-hop verify-availability <NEXTHOP> <METRIC> track <ID> | <NEXTHOP> – IP-адрес шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <METRIC> – метрика маршрута, принимает значения [0..255]; <ID> – номер Tracking-объекта, принимает значения [1..100]. |
| 7.5 | Добавить возможность управления атрибутом BGP AS-Path, которое будет добавляться в начало списка AS-Path в маршруте (не обязательно). | esr(config-route-map-rule)# action set as-path | <AS-PATH> – список номеров автономных систем, который будет добавлен к текущему значению в маршруте. Задаётся в виде AS,AS,AS, принимает значения [1..4294967295]; <ID> – номер Tracking-объекта, принимает значения [1..100]. |
| 7.6 | Добавить возможность управления атрибутом BGP MED в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# action set metric bgp { <METRIC> | increment <INC> | decrement <DEC> } track <ID> [ default { <METRIC> | increment <INC> | decrement <DEC> } ] | <ID> – номер Tracking-объекта, принимает значения [1..100]; <METRIC> – значение атрибута BGP MED, принимает значения [0..4294967295]; <INC> – значение, на которое увеличится атрибут BGP MED, если Tracking-объект будет в активном состоянии. Принимает значения [0..4294967295]; <DEC> – значение, на которое уменьшится атрибут BGP MED, если Tracking-объект будет в активном состоянии. Принимает значения [0..4294967295]; |
| 7.7 | Добавить возможность управления атрибутом BGP Community в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# action { set | add | remove } community { no-advertise | no-export | <COMMUNITY-LIST> } track <TRACK-ID> [ default <COMMUNITY-LIST> ] | <COMMUNITY-LIST> – список community, задаётся в виде AS:N,AS:N,AS:N, где AS-часть принимает значения [0..65535], N-часть принимает значения [0..65535]. Можно указать до 64 community; <TRACK-ID> – идентификатор объекта отслеживания, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне [1..100]; no-advertise – при указании команды маршруты, которые передаются с данным значением атрибута community, не должны анонсироваться другим BGP-соседям; no-export – при указании команды маршруты, которые передаются с таким значением атрибута community, не должны анонсироваться за пределы конфедерации (автономная система, которая не является частью конфедерации, считается конфедерацией). То есть, маршруты не анонсируются eBGP-соседям, но анонсируются внешним соседям в конфедерации. |
| 7.8 | Добавить возможность управления атрибутом BGP ExtCommunity в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# action { set | add | remove } extcommunity <EXTCOMMUNITY-LIST> track <TRACK-ID> [ default <EXTCOMMUNITY-LIST> ] | <TRACK-ID> – идентификатор объекта отслеживания, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне [1..100]; <EXTCOMMUNITY-LIST> – список community, задаётся в виде KIND:AS:N,KIND:AS:N,KIND:AS:N, где:
|
| 7.9 | Добавить возможность управления атрибутом BGP Local Preference в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# action set local-preference {<PREFERENCE> | increment < VALUE > | decrement < VALUE >} track <TRACK-ID> [ default <PREFERENCE> ] } | <VALUE> – значение дельты изменения атрибута BGP Local Preference относительно исходного значения. Принимает значение [1..2147483647]. Если в результате применения операции increment/decrement значение метрики выйдет за допустимый диапазон, значение Local Preference принимается равным максимально или минимально допустимому значению соответственно; <PREFERENCE> – значение атрибута BGP Local Preference, принимает значения [1..2147483647]; <TRACK-ID> – идентификатор tracking-объекта, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне [1..100]. |
| 7.10 | Добавить возможность управления атрибутом BGP Origin в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# action set origin <ORIGIN> track <TRACK-ID> [ default <ORIGIN> ] | <TRACK-ID> – идентификатор объекта отслеживания, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне [1..100]; <ORIGIN> – значение атрибута BGP Origin, принимает следующие значения:
|
| 7.11 | Добавить возможность управления атрибутом BGP Weight в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# action set weight bgp {< WEIGHT > | increment < VALUE > | decrement < VALUE >} track <TRACK-ID> [ default <WEIGHT> ] | <WEIGHT> – значение атрибута BGP weight, принимает значения [0..65535]; <TRACK-ID> – идентификатор объекта отслеживания, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне [1..100]. |
| 7.7 | Добавить возможность управления активацией IPsec-туннеля. | esr(config-ipsec-vpn)# enable track <ID> | <ID> – номер tracking-объекта, принимает значения [1..100]; |
Пример настройки
Задача:
Для подсети 192.168.0.0/24 организован виртуальный шлюз 192.168.0.1/24 с использованием протокола VRRP на основе аппаратных маршрутизаторов R1 и R2. Также между маршрутизаторами R1 и R2 есть линк с вырожденной подсетью 192.168.1.0/30. Подсеть 10.0.1.0/24 терминируется только на маршрутизаторе R2. ПК имеет IP-адрес 192.168.0.4/24 и шлюз по умолчанию 192.168.0.1.
Когда маршрутизатор R1 находится в состоянии vrrp backup, трафик от ПК в подсеть 10.0.1.0/24 пойдет без дополнительных настроек. Когда маршрутизатор R1 находится в состоянии vrrp master, необходим дополнительный маршрут для подсети 10.0.1.0/24 через интерфейс 192.168.1.2.
Исходные конфигурации маршрутизаторов:
Маршрутизатор R1
hostname R1
interface gigabitethernet 1/0/1
switchport forbidden default-vlan
exit
interface gigabitethernet 1/0/1.741
ip firewall disable
ip address 192.168.0.2/24
vrrp 10
ip address 192.168.0.1/24
enable
exit
interface gigabitethernet 1/0/2
switchport forbidden default-vlan
exit
interface gigabitethernet 1/0/2.742
ip firewall disable
ip address 192.168.1.1/30
exit
Маршрутизатор R2
hostname R2
interface gigabitethernet 1/0/1
switchport forbidden default-vlan
exit
interface gigabitethernet 1/0/1.741
ip firewall disable
ip address 192.168.0.3/24
vrrp 10
ip address 192.168.0.1/24
enable
exit
interface gigabitethernet 1/0/2
switchport forbidden default-vlan
exit
interface gigabitethernet 1/0/2.742
ip firewall disable
ip address 192.168.1.2/30
exit
interface gigabitethernet 1/0/4
ip firewall disable
ip address 10.0.1.1/24
exit
Решение:
На маршрутизаторе R2 никаких изменений не требуется, так как подсеть 10.0.1.0/24 терминируется на нем, и в момент, когда R2 выступает в роли vrrp master, пакеты будут переданы в соответствующий интерфейс. На маршрутизаторе необходимо создать маршрут для пакетов с IP-адресом назначения из сети 10.0.1.0/24 в момент, когда R1 выступает в роли vrrp master.
Для этого создадим track-object с соответствующим условием:
R1(config)# track 1 R1(config-track)# track vrrp id 10 state master R1(config-track)# enable R1(config-track)# exit
Создадим статический маршрут в подсеть 10.0.1.0/24 через 192.168.1.2, который будет работать в случае удовлетворения условия из track 1:
R1(config)# ip route 10.0.1.0/24 192.168.1.2 track 1
Настройка Firewall/NAT failover
Firewall failover необходим для резервирования сессий firewall.
При включенном на устройстве firewall failover увеличивается потребление оперативной памяти на хранение firewall сессий.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Перед настройкой сервисов резервирования необходимо настроить общие параметры failover. | ||
| 2 | Переход в конфигурационное меню общих настроек failover-сервисов. | esr(config)# ip failover [ vrf <VRF> ] | <VRF> – имя VRF, задается строкой до 31 символа. |
| 3 | Установка IP-адреса, на котором failover-сервисы принимают failover-сообщения при работе в режиме резервирования. | esr(config-failover)# local-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address. |
| 4 | Установка многоадресного IP-адреса, который будет использоваться для обмена информацией при работе резервирования failover-сервисов в multicast-режиме. | esr(config-failover)# multicast-address <ADDR> | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; |
| 5 | Установка идентификатора multicast-группы для обмена информацией при работе резервирования failover-сервисов в multicast-режиме. | esr(config-failover)# multicast-group <GROUP> | <GROUP> – multicast-группа, указывается в диапазоне [1000..9999]. |
| 6 | Установка IP-адреса, на который failover-сервисы отправляют failover-сообщения при работе в режиме резервирования. | esr(config-failover)# remote-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address. |
| 7 | Выбор VRRP-группы, по состоянию которой будет определятся мастерство при работе failover-сервисов в режиме Active-Standby. | esr(config-failover)# vrrp-group <GRID> | <GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32]. |
| 8 | Переход в конфигурационное меню настроек Firewall failover. | esr(config)# ip firewall failover [ vrf <VRF> ] | <VRF> – имя VRF, задается строкой до 31 символа. |
9 | Выбор режима обмена информацией между маршрутизаторами. | esr(config-firewall-failover)# sync-type <MODE> | <MODE> – режим обмена информацией:
|
| 10 | Настройка номера UDP-порта службы резервирования сессий Firewall, через который происходит обмен информацией при работе в unicast-режиме (не обязательно). | esr(config-firewall-failover)# port <PORT> | <PORT> – номер порта службы резервирования сессий Firewall, указывается в диапазоне [1..65535]. |
| 11 | Включение резервирования сессий Firewall. | esr(config-firewall-failover)# enable | |
При настройке firewall failover также будут синхронизироваться NAT-сессии между устройствами.
Пример настройки
Задача:
Настроить резервирование сессий firewall для VRRP-группы в unicast-режиме. Необходимо организовать резервирование для двух подсетей с помощью протокола VRRP, синхронизировать vrrp-процессы на маршрутизаторах.
Основные этапы решения задачи:
1) Необходимо настроить vrrp-процессы на маршрутизаторах. Для master будем использовать vrrp priority 20, для backup будем использовать vrrp priority 10.
2) Необходимо настроить firewall failover в режиме unicast с номером udp-порта 3333 для VRRP-группы.
3) Необходимо настроить зону безопасности для протокола vrrp и протокола udp.
Решение:
Настроим маршрутизатор ESR-1 (master).
Предварительно на интерфейсах настроим IP-адрес и определим принадлежность к зоне безопасности.
master(config)# interface gigabitethernet 1/0/1 master(config-if-gi)# security-zone trusted master(config-if-gi)# ip address 192.0.2.3/24 master(config-if-gi)# exit master(config)# interface gigabitethernet 1/0/2 master(config-if-gi)# security-zone trusted master(config-if-gi)# ip address 203.0.113.1/30 master(config-if-gi)# exit master(config)# interface gigabitethernet 1/0/3 master(config-if-gi)# security-zone trusted master(config-if-gi)# ip address 198.51.100.3/24 master(config-if-gi)# exit
Настроим vrrp-процессы на интерфейсах. Необходимо настроить следующие параметры на интерфейсах маршрутизатора: идентификатор VRRP, IP-адрес VRRP, приоритет VRRP, принадлежность VRRP-маршрутизатора к группе.
Также дополнительно на backup необходимо настроить vrrp preempt delay, в результате чего появится время на установление синхронизации firewall перед тем, как backup-маршрутизатор попытается перехватить мастерство.
После чего необходимо включить vrrp-процесс с помощью команды vrrp.
Вместо настройки vrrp preempt delay есть возможность выбора режима работы vrrp preempt disable, в результате которого маршрутизатор с более высоким vrrp-приоритетом не будет забирать мастерство у маршрутизатора с более низким vrrp-приоритетом после возвращения в работу.
На маршрутизаторе необходимо установить принадлежность vrrp-процессов к одной группе для синхронизации состоянии vrrp-процессов (master, backup), а также для синхронизации сессий vrrp-процессов с помощью firewall failover.
master(config)# interface gigabitethernet 1/0/1 master(config-if-gi)# vrrp 1 master(config-vrrp)# ip address 192.0.2.1/24 master(config-vrrp)# priority 20 master(config-vrrp)# group 1 master(config-vrrp)# preempt delay 60 master(config-vrrp)# enable master(config-vrrp)# exit master(config)# interface gigabitethernet 1/0/3 master(config-if-gi)# vrrp 3 master(config-vrrp)# ip address 198.51.100.1/24 master(config-vrrp)# priority 20 master(config-vrrp)# group 1 master(config-vrrp)# preempt delay 60 master(config-vrrp)# enable master(config-vrrp)# exit
Настроим общие параметры failover:
master(config)# ip failover master(config-failover)# local-address 203.0.113.1 master(config-failover)# remote-address 203.0.113.2 master(config-failover)# vrrp-group 1 master(config-failover)# exit
Настроим firewall failover.
Выберем режим резервирование сессий unicast:
master(config)# ip firewall failover master(config-firewall-failover)# sync-type unicast
Настроим номер UDP-порта службы резервирования сессий Firewall:
master(config-firewall-failover)# port 3333
Включим резервирования сессий Firewall:
master(config-firewall-failover)# enable
Для настройки правил зон безопасности потребуется создать профиль для порта firewall failover:
master(config)# object-group service failover master(config-object-group-service)# port-range 3333 master(config-object-group-service)# exit
Дополнительно в security zone-pair trusted self необходимо разрешить следующие протоколы:
master(config)# security zone-pair trusted self master(config-zone-pair)# rule 66 master(config-zone-pair-rule)# action permit master(config-zone-pair-rule)# match protocol vrrp master(config-zone-pair-rule)# enable master(config-zone-pair-rule)# exit master(config-zone-pair)# rule 67 master(config-zone-pair-rule)# action permit master(config-zone-pair-rule)# match protocol udp master(config-zone-pair-rule)# match destination-port failover master(config-zone-pair-rule)# enable master(config-zone-pair-rule)# exit master(config-zone-pair)# exit
Посмотреть статус vrrp-процессов есть возможность с помощью следующей команды:
master# show vrrp Virtual router Virtual IP Priority Preemption State Inherit Sync group ID -------------- --------------------------------- -------- ---------- ------ ------- ------------- 1 192.0.2.1/24 20 Enabled Master -- 1 3 198.51.100.1/24 20 Enabled Master -- 1
Посмотреть состояние резервирования сессий Firewall есть возможность с помощью следующей команды:
master# show ip firewall failover Communication interface: gigabitethernet 1/0/2 Status: Running Bytes sent: 2496 Bytes received: 640 Packets sent: 271 Packets received: 40 Send errors: 0 Receive errors: 0
Посмотреть состояние систем резервирования устройства есть возможность с помощью следующей команды:
master# show high-availability state
AP Tunnels:
State: Disabled
Last state change: --
DHCP server:
State: Disabled
Last state change: --
Firewall sessions:
State: successful synchronization
Last synchronization: 09:38:00 05.08.2021
Настроим маршрутизатор ESR-2 (backup).
Настройка интерфейсов:
backup(config)# interface gigabitethernet 1/0/1 backup(config-if-gi)# security-zone trusted backup(config-if-gi)# ip address 192.0.2.2/24 backup(config-if-gi)# vrrp 1 backup(config-vrrp)# ip address 192.0.2.1/24 backup(config-vrrp)# priority 10 backup(config-vrrp)# group 1 backup(config-vrrp)# enable backup(config-vrrp)# exit
backup(config)# interface gigabitethernet 1/0/2 backup(config-if-gi)# security-zone trusted backup(config-if-gi)# ip address 203.0.113.2/30 backup(config-if-gi)# exi
backup(config)# interface gigabitethernet 1/0/3 backup(config-if-gi)# security-zone trusted backup(config-if-gi)# ip address 198.51.100.2/24 backup(config-if-gi)# vrrp 3 backup(config-vrrp)# ip address 198.51.100.1/24 backup(config-vrrp)# priority 10 backup(config-vrrp)# group 1 backup(config-vrrp)# enable backup(config-vrrp)# exit
Настройка firewall failover:
backup(config)# ip failover backup(config-failover)# local-address 203.0.113.2 backup(config-failover)# remote-address 203.0.113.1 backup(config-failover)# vrrp-group 1 backup(config-failover)# exit backup(config)# ip firewall failover backup(config-firewall-failover)# sync-type unicast backup(config-firewall-failover)# port 3333 backup(config-firewall-failover)# enable
Настройка зоны безопасности аналогична настройки на маршрутизаторе ESR-1 (master).
Настройка DHCP failover
DHCP failover используется для резервирования базы IP-адресов, которые были динамически выданы в процессе работы DHCP-server.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Перед настройкой сервисов резервирования необходимо настроить общие параметры failover. | ||
| 2 | Переход в конфигурационное меню общих настроек failover-сервисов. | esr(config)# ip failover [ vrf <VRF> ] | <VRF> – имя VRF, задается строкой до 31 символа; |
| 3 | Установка IP-адреса, на котором failover-сервисы принимают failover-сообщения при работе в режиме резервирования. | esr(config-failover)# local-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address. |
| 4 | Установка IP-адреса, на который failover сервисы отправляют failover-сообщения при работе в режиме резервирования. | esr(config-failover)# remote-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address. |
| 5 | Выбор VRRP-группы, по состоянию которой будет определятся мастерство при работе failover сервисов в режиме Active-Standby. | esr(config-failover)# vrrp-group <GRID> | <GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32]. |
6 | Переход в конфигурационное меню DHCP failover для его настройки. | esr(config)# ip dhcp-server failover [ vrf <VRF> ] | <VRF> – имя VRF, задается строкой до 31 символа; |
| 7 | Выбор режима работы DHCP failover. | esr(config-dhcp-server-failover)# mode { active-active | active-standby } | active-active – режим работы с двумя активными маршрутизаторами; active-standby – режим работы с одним активным маршрутизатором и одним резервным. |
| 8 | Настройка роли DHCP failover, при работе резервирования в режиме Active-Active. | esr(config-dhcp-server-failover)# role <ROLE> | <ROLE> – роль DHCP-сервера при работе в режиме резервирования:
|
| 9 | Включение резервирования DHCP failover. | esr(config-dhcp-server-failover)# enable |
Режим active-standby не поддержан в VRF.
Пример настройки
Задача:
Настроить резервирование DHCP-сервера в режиме Active-Standby. Необходимо организовать резервирование для двух подсетей с помощью протокола VRRP, синхронизировать vrrp-процессы на маршрутизаторах.
Основные этапы решения задачи:
1) Необходимо настроить vrrp-процессы на маршрутизаторах. Для master будем использовать vrrp priority 20, для backup будем использовать vrrp priority 10.
2) Необходимо настроить DHCP failover в режиме Active-Standby.
3) Необходимо настроить зону безопасности для протоколов vrrp, udp и tcp.
Решение:
1. Настройка маршрутизатора ESR-1 (master).
Предварительно на интерфейсах настроим IP-адрес и определим принадлежность к зоне безопасности.
master(config)# interface gigabitethernet 1/0/1 master(config-if-gi)# security-zone trusted master(config-if-gi)# ip address 192.0.2.3/24 master(config-if-gi)# exit master(config)# interface gigabitethernet 1/0/2 master(config-if-gi)# security-zone trusted master(config-if-gi)# ip address 203.0.113.1/30 master(config-if-gi)# exit master(config)# interface gigabitethernet 1/0/3 master(config-if-gi)# security-zone trusted master(config-if-gi)# ip address 198.51.100.3/24 master(config-if-gi)# exit
Настроим vrrp-процессы на интерфейсах. Необходимо настроить следующие параметры на интерфейсах маршрутизатора: идентификатор VRRP, IP-адрес VRRP, приоритет VRRP, принадлежность VRRP-маршрутизатора к группе.
После чего необходимо включить vrrp-процесс с помощью команды "vrrp".
Вместо настройки vrrp preempt delay есть возможность выбора режима работы vrrp preempt disable, в результате которого маршрутизатор с более высоким vrrp-приоритетом не будет забирать мастерство у маршрутизатора с более низким vrrp-приоритетом после возвращения в работу.
На маршрутизаторе необходимо установить принадлежность vrrp-процессов к одной группе для синхронизации состоянии vrrp-процессов (master, backup).
master(config)# interface gigabitethernet 1/0/1 master(config-if-gi)# vrrp 1 master(config-vrrp)# ip address 192.0.2.1/24 master(config-vrrp)# priority 20 master(config-vrrp)# group 1 master(config-vrrp)# enable master(config-vrrp)# exit master(config)# interface gigabitethernet 1/0/3 master(config-if-gi)# vrrp 3 master(config-vrrp)# ip address 198.51.100.1/24 master(config-vrrp)# priority 20 master(config-vrrp)# group 1 master(config-vrrp)# enable master(config-vrrp)# exit
Настроим DHCP failover. Для DHCP failover необходимо настроить следующие параметры: mode, local-address, remote-address, принадлежность VRRP-маршрутизатора к группе.
master(config)# ip dhcp-server pool LAN master(config-dhcp-server)# network 192.0.2.0/24 master(config-dhcp-server)# address-range 192.0.2.10-192.0.2.20 master(config-dhcp-server)# exit master(config)# ip dhcp-server master(config)# ip failover master(config-failover)# local-address 203.0.113.1 master(config-failover)# remote-address 203.0.113.2 master(config-failover)# vrrp-group 1 master(config-failover)# exit master(config)# ip dhcp-server failover master(config-dhcp-server-failover)# mode active-standby master(config-dhcp-server-failover)# enable master(config-dhcp-server-failover)# exit
Для запуска DHCP failover необходимо предварительно настроить и включить DHCP-server, который будет резервироваться.
Для настройки правил зон безопасности потребуется создать профиль для порта DHCP failover:
master(config)# object-group service dhcp_failover master(config-object-group-service)# port-range 873 master(config-object-group-service)# exit
DHCP failover для синхронизации использует TCP-порт 873, его необходимо разрешить при настройке firewall.
Дополнительно в security zone-pair trusted self необходимо разрешить следующие протоколы:
master(config)# security zone-pair trusted self master(config-zone-pair)# rule 66 master(config-zone-pair-rule)# action permit master(config-zone-pair-rule)# match protocol vrrp master(config-zone-pair-rule)# enable master(config-zone-pair-rule)# exit master(config-zone-pair)# rule 67 master(config-zone-pair-rule)# action permit master(config-zone-pair-rule)# match protocol tcp master(config-zone-pair-rule)# match destination-port dhcp_failover master(config-zone-pair-rule)# enable master(config-zone-pair-rule)# exit master(config-zone-pair)# rule 68 master(config-zone-pair-rule)# action permit master(config-zone-pair-rule)# match protocol udp master(config-zone-pair-rule)# enable master(config-zone-pair-rule)# exit
Посмотреть статус vrrp-процессов есть возможность с помощью следующей команды:
master# show vrrp Virtual router Virtual IP Priority Preemption State Inherit Sync group ID -------------- --------------------------------- -------- ---------- ------ ------- ------------- 1 192.0.2.1/24 20 Enabled Master -- 1 3 198.51.100.1/24 20 Enabled Master -- 1
Посмотреть состояние резервирования сессий Firewall есть возможность с помощью следующей команды:
master# show ip dhcp server failover
VRF: --
State: Successful
Посмотреть состояние систем резервирования устройства есть возможность с помощью следующей команды:
master# show high-availability state
AP Tunnels:
State: Disabled
Last state change: --
DHCP option 82 table:
State: Disabled
Last state change: --
DHCP server:
VRF: --
State: Successful synchronization
State: Disabled
Last synchronization: --
Для успешной синхронизации сервиса DHCP failover на устройствах должно быть выставлено идентичное время.
2. Настройка маршрутизатора ESR-2 (backup).
Настройка интерфейсов:
backup(config)# interface gigabitethernet 1/0/1 backup(config-if-gi)# security-zone trusted backup(config-if-gi)# ip address 192.0.2.2/24 backup(config-if-gi)# vrrp 1 backup(config-vrrp)# ip address 192.0.2.1/24 backup(config-vrrp)# priority 20 backup(config-vrrp)# group 1 backup(config-vrrp)# enable backup(config-vrrp)# exit backup(config)# interface gigabitethernet 1/0/2 backup(config-if-gi)# security-zone trusted backup(config-if-gi)# ip address 203.0.113.2/30 backup(config-if-gi)# exit backup(config)# interface gigabitethernet 1/0/3 backup(config-if-gi)# security-zone trusted backup(config-if-gi)# ip address 198.51.100.2/24 backup(config-if-gi)# vrrp 3 backup(config-vrrp)# ip address 198.51.100.1/24 backup(config-vrrp)# priority 10 backup(config-vrrp)# group 1 backup(config-vrrp)# enable backup(config-vrrp)# exit
Настройка DHCP failover:
backup(config)# ip dhcp-server pool LAN backup(config-dhcp-server)# network 192.0.2.0/24 backup(config-dhcp-server)# address-range 192.0.2.10-192.0.2.20 backup(config-dhcp-server)# exit backup(config)# ip dhcp-server backup(config)# ip failover backup(config-failover)# local-address 203.0.113.2 backup(config-failover)# remote-address 203.0.113.1 backup(config-failover)# vrrp-group 1 backup(config-failover)# exit backup(config)# ip dhcp-server failover backup(config-dhcp-server-failover)# mode active-standby backup(config-dhcp-server-failover)# enable backup(config-dhcp-server-failover)# exit
Настройка зоны безопасности аналогична настройке на маршрутизаторе ESR-1 (master).


