...
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, где: KIND – тип extcommunity, принимает значения rt (Route Target) и ro (Route Origin); | ||
| 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, принимает следующие значения: egp – маршрут выучен по протоколу Exterior Gateway Protocol (EGP); |
| 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.
...