...
| Примечание |
|---|
При использовании 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]; |
| esr(config-track)# track sla test <NUM> [ mode <MODE> ] | <NUM> – номер SLA-теста, задается в диапазоне [1..10000]; <MODE> –режим слежения заsla-тестом,может принимать значения:
|
4
|
| esr(config-track)# |
| track |
| { |
| interface <IF> | |
| tunnel <TUN> } [ state <STATE> ] | <IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора; <STATE> –режим слежения заsla-тестом,может принимать значения:
| ||
4 | Включить Tracking-объект. | esr(config-track)# enable | |
| 5 | Установить задержку смены состояния отслеживаемого объекта |
7.1
| (не обязательно). | esr(config-track)# |
interface <IF> | tunnel <TUN> | wan load-balance rule <RULE> |
blackhole | unreachable | prohibit } [ <METRIC> ] [ track <TRACK-ID> ]
| 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 в маршруте, для которого должно срабатывать правило |
<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-route- |
map- |
rule)# |
action { set | add | remove } extcommunity <EXTCOMMUNITY-LIST> track <TRACK-ID> [ default <EXTCOMMUNITY-LIST> ] | <TRACK-ID> – идентификатор объекта отслеживания, при выполнении всех условий которого будет исполняться указанное действие. Изменяется |
в диапазоне [1..100]; |
<PRIO> – приоритет VRRP-процесса, который выставится, если Tracking-объект будет в активном состоянии, принимает значения в диапазоне [1..254];
<INC> – значение на которое увеличится приоритет VRRP-процесса, если Tracking-объект будет в активном состоянии, принимает значения в диапазоне [1..254];
<DEC> – значение на которое уменьшится приоритет VRRP-процесса, если Tracking-объект будет в активном состоянии, принимает значения в диапазоне [1..254].
<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-объекта, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне |
<NEXTHOP> – IP-адрес шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<METRIC> – метрика маршрута, принимает значения [0..255];
<ID> – номер Tracking-объекта, принимает значения[1..100]. |
| 7. |
| 10 | Добавить возможность управления атрибутом BGP |
Origin в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# action set |
prepend <AS-PATH> track <ID> [ default <AS-PATH> ]
origin <ORIGIN> track <TRACK-ID> [ default <ORIGIN> ] | <TRACK-ID> – идентификатор объекта отслеживания, при выполнении всех условий которого будет исполняться указанное действие. Изменяется в диапазоне [1..100]; <ORIGIN> – значение атрибута BGP Origin, принимает следующие значения:
|
| 7.11 |
<AS-PATH> – список номеров автономных систем, который будет добавлен к текущему значению в маршруте. Задаётся в виде AS,AS,AS, принимает значения [1..4294967295];
<ID> – номер Tracking-объекта, принимает значения [1..100].
Добавить возможность управления атрибутом BGP |
Weight в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule) |
# action set |
weight bgp { |
< WEIGHT > | increment |
< VALUE > | decrement |
< VALUE >} track <TRACK-ID> [ default <WEIGHT> ] | <WEIGHT> |
<ID> – номер Tracking-объекта, принимает значения [1..100];
<METRIC>– значение атрибута BGP |
weight, принимает значения [0.. |
65535]; |
<INC> – значение, на которое увеличится атрибут BGP MED, если Tracking-объект будет в активном состоянии. Принимает значения [0..4294967295];
<DEC> – значение, на которое уменьшится атрибут BGP MED, если Tracking-объект будет в активном состоянии. Принимает значения [0..4294967295];<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.
...
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 failoverfailover [ 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-сессии между устройствами. |
...
3) Необходимо настроить зону безопасности для протокола vrrp и протокола udp.
| Scroll Pagebreak |
|---|
Решение:
Настроим маршрутизатор ESR-1 (master).
...
После чего необходимо включить vrrp-процесс с помощью команды "vrrp".
| Примечание |
|---|
Вместо настройки vrrp preempt delay есть возможность выбора режима работы vrrp preempt disable, в результате которого маршрутизатор с более высоким vrrp-приоритетом не будет забирать мастерство у маршрутизатора с более низким vrrp-приоритетом после возвращения в работу. |
...
| Блок кода |
|---|
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 |
...
| Блок кода |
|---|
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 |
...
Настройка зоны безопасности аналогична настройки на маршрутизаторе ESR-1 (master).
| Scroll Pagebreak |
|---|
Настройка 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-процессы на маршрутизаторах.
...
3) Необходимо настроить зону безопасности для протоколов vrrp, udp и tcp.
| Scroll Pagebreak |
|---|
Решение:
1. Настройка маршрутизатора ESR-1 (master).
...
| Примечание |
|---|
Для успешной синхронизации сервиса DHCP failover на устройствах должно быть выставлено идентичное время. |
| Scroll Pagebreak |
|---|
2. Настройка маршрутизатора ESR-2 (backup).
...
| Блок кода |
|---|
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).scroll-pagebreak