Настройка RHI#
RHI (Route Health Injection) позволяет динамически управлять маршрутами, анонсируемыми протоколами динамической маршрутизации, например BGP и OSPF, на основе данных о состоянии апстримов в балансировщике нагрузки. RHI позволяет автоматически отзывать префиксы при недоступности апстримов, минимизируя возможные циклы объявлений и отзывов. Апстрим считается недоступным, если все его бэкенды не прошли проверки работоспособности (health probes).
Для работы RHI необходимо:
Настроить BGP или OSPF в зависимости от свойств сети (через командную строку, примеры см. ниже).
Задать проверки работоспособности для балансировщика нагрузки (в веб-интерфейсе Angie ADC, пример см. ниже).
Задать конфигурацию RHI (в веб-интерфейсе Angie ADC, инструкцию см. ниже).
Настройка BGP#
Настройка BGP проводится через интерфейс командной строки. Angie ADC должен увидеть свои объявления: Соседний маршрутизатор должен увидеть объявления от Angie ADC: В случае если объявления не видны, можно попробовать сбросить сессию BGP на обоих маршрутизаторах: Отзыв префиксов реализован через автоматическое изменение префикс-листов. Например: При восстановлении работоспособности апстримов префикс-листы не меняются автоматически. Чтобы вручную вернуть префикс-лист к изначальному виду, выполните команды: Примечание Если вы хотите, чтобы префиксы автоматически анонсировались после восстановления апстримов, установите флажок
Пример#
hostname angie-va
no ipv6 forwarding
ip prefix-list myapp1_pair seq 5 permit 2.2.2.2/32
interface lo
ip address 2.2.2.2/32
exit
router bgp 1
no bgp ebgp-requires-policy
neighbor 10.0.0.1 remote-as 2
address-family ipv4 unicast
redistribute connected route-map myapp1_pair
exit-address-family
exit
route-map myapp1_pair permit 10
match ip address prefix-list myapp1_pair
exit
Проверка#
angie-va# sh ip bgp
BGP table version is 14, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 1
Status codes: s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 2.2.2.2/32 0.0.0.0 0 32768 ?
Displayed 1 routes and 1 total paths
abstract-router# sh ip bgp
BGP table version is 14, local router ID is 10.0.0.1, vrf id 0
Default local pref 100, local AS 2
Status codes: s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 2.2.2.2/32 10.21.20.6 0 0 1 ?
Displayed 1 routes and 1 total paths
clear ip bgp * soft
Отзыв префиксов#
ip prefix-list myapp1_pair seq 5 deny 2.2.2.2/32
Объявление префиксов после восстановления работы апстрима#
conf t
ip prefix-list myapp1_pair seq 5 permit 2.2.2.2/32
Объявлять префиксы при восстановлении апстримов в настройках конфигурации RHI.
Настройка OSPF#
Настройка OSPF также проводится через интерфейс командной строки. Если серверы в бэкенде доступны: Если серверы в бэкенде недоступны: Отзыв маршрута в OSPF происходит следующим образом: после удаления префикса
OSPF изменяет значение возраста LSA в поле При восстановлении работоспособности апстримов префикс-листы не меняются автоматически. Чтобы вручную вернуть префикс-лист к изначальному виду, выполните команды: Примечание Если вы хотите, чтобы префиксы автоматически анонсировались после восстановления апстримов, установите флажок
Пример#
hostname angie-va
no ipv6 forwarding
ip prefix-list myapp1_pair seq 5 permit 2.2.2.2/32
interface ens33
ip address 192.168.0.20/24
ip ospf 1 area 0
exit
interface lo
ip address 2.2.2.2/32
exit
router ospf 1
ospf router-id 192.168.0.20
redistribute connected route-map myapp1_pair
exit
route-map myapp1_pair permit 10
match ip address prefix-list myapp1_pair
exit
Проверка#
angie-va#sho ip ospf 1 database external self-originate
OSPF Instance: 1
OSPF Router with ID (2.2.2.2)
AS External Link States
LS age: 28
Options: 0x2 : *|-|-|-|-|-|E|-
LS Flags: 0xb
LS Type: AS-external-LSA
Link State ID: 2.2.2.2 (External Network Number)
Advertising Router: 192.168.0.20
LS Seq Number: 80000001
Checksum: 0x139b
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
angie-va#sho ip ospf 1 database external self-originate
OSPF Instance: 1
OSPF Router with ID (192.168.0.20)
AS External Link States
LS age: 3600
Options: 0x2 : *|-|-|-|-|-|E|-
LS Flags: 0x8b
LS Type: AS-external-LSA
Link State ID: 2.2.2.2 (External Network Number)
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0x139b
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
Отзыв префиксов#
LS age на 3600,
информируя соседей, что LSA устарела и нужно перестать ее использовать.
Через некоторое время эта LSA будет полностью удалена из LSDB.Объявление префиксов после восстановления работы апстрима#
conf t
ip prefix-list myapp1_pair seq 5 permit 2.2.2.2/32
Объявлять префиксы при восстановлении апстримов в настройках конфигурации RHI.
Настройка балансировщика нагрузки#
Конфигурация балансировщика нагрузки настраивается в веб-интерфейсе Angie ADC (см. инструкцию).
Для работы RHI необходимо настроить следующие параметры:
параметры для получения информации о состоянии балансировщика нагрузки.
Пример#
Приведены только строки, добавленные в дефолтную конфигурацию.
### Часть конфигурации опущена для краткости
}
### Бэкенды
upstream myapp1 {
zone myapp1 1m;
server server1;
server server2;
}
### Переменная для health probe
map $upstream_status $good {
200 "1";
}
server {
### Часть конфигурации опущена для краткости
location / {
proxy_pass http://myapp1;
# Апстрим-пробы
upstream_probe myapp1_probe
interval=1s
test=$good
essential
mode=always;
}
### Часть конфигурации опущена для краткости
}
}
Настройка конфигурации RHI#
Конфигурация RHI настраивается в веб-интерфейсе Angie ADC.
Чтобы настроить конфигурацию, выполните следующие действия:
Откройте веб-интерфейс Angie ADC и перейдите
Управление трафиком→Конфигурация RHI.Откроется окно настройки RHI.
Задайте префиксы. Для этого нажмите
Добавитьи укажите следующие параметры:VIP-адрес (CIDR)— виртуальный IP-адрес для апстрима. Указывается в форматеX.X.X.X/mask.Примечание
Значение должно быть уникальным в рамках одного префикс-листа.
Приоритет— номер последовательности, определяющий порядок обработки правил. Маршрут с меньшим приоритетом обрабатывается первым.Примечание
Значение должно быть уникальным в рамках одного префикс-листа.
Имя префикс-листа— имя префикс-листа для маршрутизации.Имя апстрима— апстрим, для которого настраивается отзыв префикса.
Установите флажок
Объявлять префиксы при восстановлении апстримов, если хотите, чтобы Angie ADC автоматически анонсировал префиксы в маршрутизируемую сеть при восстановлении работоспособности апстримов. По умолчанию флажок снят.Нажмите
Сохранить.Настройки RHI будут сохранены и сразу применены.
Удаление префиксов#
Вы можете удалить неиспользуемые префиксы из конфигурации RHI, нажав на значок удаления напротив этих префиксов.
Примечание
При удалении префиксов через интерфейс Angie ADC они удаляются из базы данных и перестают влиять на объявление и отзыв маршрутов, но сохраняются в списках, отображаемых через командную строку.
Чтобы полностью удалить префикс-лист, необходимо выполнить следующие команды:
conf t
no ip prefix-list <имя префикс-листа>
Это поведение будет скорректировано в следующих релизах.