| Оглавление | ||
|---|---|---|
|
Настройка VRRP
VRRP (англ. Virtual Router Redundancy Protocol) — сетевой протокол, предназначенный для увеличения доступности маршрутизаторов, выполняющих роль шлюза по умолчанию. Это достигается путём объединения группы маршрутизаторов в один виртуальный маршрутизатор и назначения им общего IP-адреса, который и будет использоваться как шлюз по умолчанию для компьютеров в сети.
...
Алгоритм настройки
...
Перейти в режим конфигурирования интерфейса/сетевого моста, для которого необходимо настроить протокол 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>
...
Настроить необходимые параметры на интерфейсе/сетевом мосту, включая IP-адрес.
...
esr(config-if-gi)# vrrp
...
esr(config-if-gi)# ipv6 vrrp
...
esr(config-if-gi)# 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-адреса.
...
esr(config-if-gi)# ipv6 vrrp ip <IPV6-ADDR>
...
5
...
Установить идентификатор VRRP-маршрутизатора.
...
esr(config-if-gi)# vrrp id <VRID>
...
<VRID> – идентификатора VRRP-маршрутизатора, принимает значения [1..255].
...
esr(config-if-gi)# ipv6 vrrp id <VRID>
...
6
...
Установить приоритет VRRP-маршрутизатора (не обязательно).
...
esr(config-if-gi)# vrrp priority <PR>
...
<PR> – приоритет VRRP-маршрутизатора, принимает значения [1..254].
Значение по умолчанию: 100.
...
esr(config-if-gi)# ipv6 vrrp priority <PR>
...
7
...
Установить принадлежность VRRP-маршрутизатора к группе. Группа предоставляет возможность синхронизировать несколько VRRP-процессов, так если в одном из процессов произойдет смена мастера, то в другом процессе также произойдёт смена ролей (не обязательно).
...
esr(config-if-gi)# vrrp group <GRID>
...
<GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32].
...
esr(config-if-gi)# ipv6 vrrp group <GRID>
...
8
...
Установить наследование состояний VRRP. Статус интерфейса наследника будет следовать состояниям VRRP родителя, идентификатор которого был задан (не обязательно).
...
esr(config-if-gi)# vrrp inherit-vrrp-id <VRID>
...
<VRID> – идентификатора VRRP-маршрутизатора, принимает значения [1..255].
...
esr(config-if-gi)# ipv6 vrrp inherit-vrrp-id <VRID>
...
9
...
Установить IP-адрес, который будет использоваться в качестве IP-адреса отправителя для VRRP-сообщений (не обязательно).
...
esr(config-if-gi)# vrrp source-ip <IP>
...
<IP> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
esr(config-if-gi)# ipv6 vrrp source-ip <IPV6>
...
<IPV6> – IPv6-адрес отправителя, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].
...
10
...
Установить интервал между отправкой VRRP-сообщений (не обязательно).
...
esr(config-if-gi)# vrrp timers advertise <TIME>
...
<TIME> – время в секундах, принимает значения [1..40].
Значение по умолчанию: 1 секунда.
...
esr(config-if-gi)# ipv6 vrrp timers advertise <TIME>
...
11
...
Установить интервал, по истечении которого происходит отправка GratuituousARP-сообщения(ий) при переходе маршрутизатора в состояние Master (не обязательно).
...
esr(config-if-gi)# vrrp timers garp delay <TIME>
...
<TIME> – время в секундах, принимает значения [1..60].
Значение по умолчанию: 5 секунд.
...
12
...
Установить количество GratuituousARP-сообщений, которые будут отправлены при переходе маршрутизатора в состояние Master (не обязательно).
...
esr(config-if-gi)# vrrp timers garp repeat <COUNT>
...
<COUNT> – количество сообщений, принимает значения [1..60].
Значение по умолчанию: 5.
...
13
...
Установить интервал, по истечении которого будет происходить периодическая отправка GratuituousARP-сообщения(ий), пока маршрутизатор находится в состоянии Master (не обязательно).
...
esr(config-if-gi)# vrrp timers garp refresh <TIME>
...
<TIME> – время в секундах, принимает значения [1..65535].
Значение по умолчанию: периодическая отправка отключена.
...
14
...
Установить количество GratuituousARP-сообщений, которые будут отправляться с периодом garprefresh, пока маршрутизатор находится в состоянии Master (не обязательно).
...
esr(config-if-gi)# vrrp timers garp refresh-repeat <COUNT>
...
<COUNT> – количество сообщений, принимает значения [1..60].
Значение по умолчанию: 1.
...
15
...
Определить, будет ли Backup-маршрутизатор с более высоким приоритетом пытаться перехватить на себя роль Master у текущего Master-маршрутизатора с более низким приоритетом (не обязательно).
...
esr(config-if-gi)# vrrp preempt disable
...
esr(config-if-gi)# ipv6 vrrp preempt disable
...
16
...
Установить временной интервал, по истечении которого Backup-маршрутизатор с более высоким приоритетом будет пытаться перехватить на себя роль Master у текущего Master-маршрутизатора с более низким приоритетом (не обязательно).
...
esr(config-if-gi)# vrrp preempt delay <TIME>
...
<TIME> – время ожидания, определяется в секундах [1..1000].
Значение по умолчанию: 0.
...
esr(config-if-gi)# ipv6 vrrp preempt delay <TIME>
...
17
...
Установить пароль для аутентификации с соседом (не обязательно).
...
esr(config-if-gi)# vrrp authentication key ascii-text
{ <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }
...
<CLEAR-TEXT> – ключ, задаётся строкой от 1 до 8 символов;
<ENCRYPTED-TEXT> – зашифрованный ключ размером от 1 до 8 байт (от 2 до 16 символов). Задается в шестнадцатеричном формате (0xYYYY...) или (YYYY...).
...
18
...
Определить алгоритм аутентификации (не обязательно).
...
esr(config-if-gi)# vrrp authentication algorithm <ALGORITHM>
...
<ALGORITHM> – алгоритм аутентификации:
- cleartext – пароль, передается открытым текстом;
- md 5 – пароль хешируется по алгоритму md5.
...
19
...
Задать версию VRRP-протокола (не обязательно).
...
esr(config-if-gi)# vrrp version <VERSION>
...
<VERSION> – версия VRRP-протокола: 2, 3.
...
20
...
Установить режим, когда vrrp IP-адрес остается в состоянии UP вне зависимости от состояния самого интерфейса (не обязательно).
...
esr(config-if-gi)# vrrp force-up
...
21
...
Определить задержку между установлением ipv6 vrrp состояния MASTER и началом рассылки ND-сообщений (не обязательно).
...
esr(config-if-gi)# ipv6 vrrp timers nd delay <TIME>
...
<TIME> – время в секундах, принимает значения [1..60].
Значение по умолчанию: 5.
...
22
...
Определить период обновления информации протокола ND для ipv6 vrrp в состоянии MASTER (не обязательно).
...
esr(config-if-gi)# ipv6 vrrp timers nd refresh <TIME>
...
<TIME> – время в секундах, принимает значения [1..65535].
Значение по умолчанию: 5.
...
23
...
Определить количество ND сообщений отправляемых за период обновления для ipv6 vrrp в состоянии MASTER (не обязательно).
...
esr(config-if-gi)# ipv6 vrrp timers nd refresh-repeat <NUM>
...
<NUM> – количество, принимает значения [1..60].
Значение по умолчанию: 0.
...
24
...
Определить количество отправок ND-пакетов после установки ipv6 vrrp в состоянии MASTER (не обязательно).
...
esr(config-if-gi)# ipv6 vrrp 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 id 10 |
| Scroll Pagebreak |
|---|
Укажем IP-адрес виртуального шлюза 192.168.1.1/24:
| Блок кода |
|---|
R1(config-if-sub)# vrrp ip 192.168.1.1 |
Включим VRRP:
| Блок кода |
|---|
R1(config-if-sub)# vrrp
R1(config-if-sub)# 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 id 10 |
Укажем IP-адрес виртуального шлюза 192.168.1.1:
| Блок кода |
|---|
R1(config-if-sub)# vrrp ip 192.168.1.1 |
| Scroll Pagebreak |
|---|
Укажем идентификатор VRRP-группы:
| Блок кода |
|---|
R1(config-if-sub)# vrrp group 5 |
Включим VRRP:
| Блок кода |
|---|
R1(config-if-sub)# vrrp
R1(config-if-sub)# exit |
Настроим VRRP для подсети 192.168.20.0/24 в созданном саб-интерфейсе.
Укажем уникальный идентификатор VRRP:
| Блок кода |
|---|
R1(config-sub)#interface gi 1/0/6.60
R1(config-if-sub)# vrrp id 20 |
Укажем IP-адрес виртуального шлюза 192.168.20.1:
| Блок кода |
|---|
R1(config-if-sub)# vrrp ip 192.168.20.1 |
Укажем идентификатор VRRP-группы:
| Блок кода |
|---|
R1(config-if-sub)# vrrp group 5 |
Включим VRRP:
| Блок кода |
|---|
R1(config-if-sub)# vrrp
R1(config-if-sub)# exit |
Произвести аналогичные настройки на R2.
| Примечание |
|---|
Помимо создания туннеля необходимо в firewall разрешить протокол VRRP (112). |
| Примечание |
|---|
При использовании IPsec с VRRP рекомендуется настраивать DPD для ускорения перестроения IPsec-туннеля. |
| Scroll Pagebreak |
|---|
Настройка 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];
<VRF> – имя экземпляра VRF, задается строкой до 31 символа.
...
<NUM> – номер SLA-теста, задается в диапазоне [1..10000];
...
- state success – отслеживается успешное состояние sla-теста;
- state fail – отслеживается провальное состояние sla-теста;
- reachability – отслеживаются состояние канала связи, по которому осуществляется sla-тест.
...
<IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
<TUN> – имя туннеля, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора;
...
- up – административное состояние "Up" ;
- down – административное состояние "Down".
...
4
...
Включить Tracking-объект.
...
esr(config-track)# enable
...
резервирования см. в документации ESR.
| Примечание |
|---|
Значения параметров для ESBC-3200 идентичны значениям для ESR-3200. |
| Scroll Pagebreak |
|---|
...
7.1
...
Добавить возможность управления статическим IP-маршрутом к указанной подсети (не обязательно).
...
esr(config)# ip route [ vrf <VRF> ] <SUBNET> { <NEXTHOP> [ resolve ] |
interface <IF> | tunnel <TUN> | wan load-balance rule <RULE> |
blackhole | unreachable | prohibit } [ <METRIC> ] [ track <TRACK-ID> ]
...
<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];
- resolve – при указании данного параметра IP-адрес шлюза будет рекурсивно вычислен через таблицу маршрутизации. Если при рекурсивном вычислении не удастся найти шлюз из напрямую подключенной подсети, то данный маршрут не будет установлен в систему;
<IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
<TUN> – имя туннеля, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора;
<RULE> – номер правила wan, задаётся в диапазоне [1..50];
- blackhole – при указании команды пакеты до данной подсети будут удаляться устройством без отправки уведомлений отправителю;
- unreachable – при указании команды пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Host unreachable, code 1);
- prohibit – при указании команды, пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Communication administratively prohibited, code 13);
[METRIC] – метрика маршрута, принимает значения [0..255];
<TRACK-ID> – идентификатор Tracking-объекта. Если маршрут привязан к Tracking-объекту, то он появится в системе только при выполнении всех условий, заданных в объекте.
...
esr(config-if-gi)# shutdown track <ID>
...
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].
...
Добавить возможность управления 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].
...
Добавить возможность управления атрибутом BGP AS-Path, которое будет добавляться в начало списка AS-Path в маршруте (не обязательно).
...
esr(config-route-map-rule)# action set as-path
prepend <AS-PATH> track <ID> [ default <AS-PATH> ]
...
<AS-PATH> – список номеров автономных систем, который будет добавлен к текущему значению в маршруте. Задаётся в виде AS,AS,AS, принимает значения [1..4294967295];
<ID> – номер Tracking-объекта, принимает значения [1..100].
...
Добавить возможность управления атрибутом 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];
...
Добавить возможность управления атрибутом 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-соседям, но анонсируются внешним соседям в конфедерации.
...
Добавить возможность управления атрибутом 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, где:
- KIND – тип extcommunity, принимает значения rt (Route Target) и ro (Route Origin);
- AS – номер автономной системы, принимает значения [1..4294967295];
- N – номер extcommunity, определяющий политику маршрутизации трафика, принимает значения [1..65535].
...
Добавить возможность управления атрибутом 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].
...
Добавить возможность управления атрибутом BGP Origin в маршруте, для которого должно срабатывать правило (не обязательно).
...
esr(config-route-map-rule)# action set origin <ORIGIN> track <TRACK-ID> [ default <ORIGIN> ]
...
<TRACK-ID> – идентификатор объекта отслеживания, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне [1..100];
<ORIGIN> – значение атрибута BGP Origin, принимает следующие значения:
- egp – маршрут выучен по протоколу Exterior Gateway Protocol (EGP);
- igp – маршрут получен внутри исходной автономной системы;
- incomplete – маршрут выучен другим образом.
...
Добавить возможность управления атрибутом 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].
...
Пример настройки
Задача:
Для подсети 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 id 10
vrrp ip 192.168.0.1/24
vrrp
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 id 10
vrrp ip 192.168.0.1/24
vrrp
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 сессий. |
...
Шаг
...
Описание
...
Команда
...
Ключи
...
<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address.
...
<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address.
...
9
...
Выбор режима обмена информацией между маршрутизаторами.
...
esr(config-firewall-failover)# sync-type <MODE>
...
<MODE> – режим обмена информацией:
- unicast – режим unicast;
- multicast – режим multicast.
...
| Примечание |
|---|
При настройке 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.
| Scroll Pagebreak |
|---|
Решение:
Настроим маршрутизатор 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-маршрутизатора к группе.
Также дополнительно на master необходимо настроить 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 id 1
master(config-if-gi)# vrrp ip 192.0.2.1/24
master(config-if-gi)# vrrp priority 20
master(config-if-gi)# vrrp group 1
master(config-if-gi)# vrrp preempt delay 60
master(config-if-gi)# vrrp
master(config-if-gi)# exit
master(config)# interface gigabitethernet 1/0/3
master(config-if-gi)# vrrp id 3
master(config-if-gi)# vrrp ip 198.51.100.1/24
master(config-if-gi)# vrrp priority 20
master(config-if-gi)# vrrp group 1
master(config-if-gi)# vrrp preempt delay 60
master(config-if-gi)# vrrp
master(config-if-gi)# 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 |
Scroll Pagebreak
Дополнительно в 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 |
| Scroll Pagebreak |
|---|
Настроим маршрутизатор 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 id 1
backup(config-if-gi)# vrrp ip 192.0.2.1/24
backup(config-if-gi)# vrrp priority 10
backup(config-if-gi)# vrrp group 1
backup(config-if-gi)# vrrp
backup(config-if-gi)# 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 id 3
backup(config-if-gi)# vrrp ip 198.51.100.1/24
backup(config-if-gi)# vrrp priority 10
backup(config-if-gi)# vrrp group 1
backup(config-if-gi)# vrrp
backup(config-if-gi)# 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).
| Scroll Pagebreak |
|---|
Настройка DHCP failover
DHCP failover используется для резервирования базы IP-адресов, которые были динамически выданы в процессе работы DHCP-server.
...
Шаг
...
Описание
...
Команда
...
Ключи
...
<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address.
...
<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве local address.
...
6
...
Переход в конфигурационное меню DHCP failover для его настройки.
...
esr(config)# ip dhcp-server failover [ vrf <VRF> ]
...
<VRF> – имя VRF, задается строкой до 31 символа;
...
active-active – режим работы с двумя активными маршрутизаторами;
active-standby – режим работы с одним активным маршрутизатором и одним резервным.
...
<ROLE> – роль DHCP-сервера при работе в режиме резервирования:
- primary – режим активного DHCP-сервера;
- secondary – режим резервного DHCP-сервера.
...
| Примечание |
|---|
Режим 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.
| Scroll Pagebreak |
|---|
Решение:
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 id 1
master(config-if-gi)# vrrp ip 192.0.2.1/24
master(config-if-gi)# vrrp priority 20
master(config-if-gi)# vrrp group 1
master(config-if-gi)# vrrp
master(config-if-gi)# exit
master(config)# interface gigabitethernet 1/0/3
master(config-if-gi)# vrrp id 3
master(config-if-gi)# vrrp ip 198.51.100.1/24
master(config-if-gi)# vrrp priority 20
master(config-if-gi)# vrrp group 1
master(config-if-gi)# vrrp
master(config-if-gi)# exit |
| Scroll Pagebreak |
|---|
Настроим 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 |
| Scroll Pagebreak |
|---|
Посмотреть статус 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 на устройствах должно быть выставлено идентичное время. |
| Scroll Pagebreak |
|---|
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 id 1
backup(config-if-gi)# vrrp ip 192.0.2.1/24
backup(config-if-gi)# vrrp priority 20
backup(config-if-gi)# vrrp group 1
backup(config-if-gi)# vrrp
backup(config-if-gi)# 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 id 3
backup(config-if-gi)# vrrp ip 198.51.100.1/24
backup(config-if-gi)# vrrp priority 10
backup(config-if-gi)# vrrp group 1
backup(config-if-gi)# vrrp
backup(config-if-gi)# 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).


