Обмен маршрутами по BGP
- Проверено на версии — 2.2.1
- Требуется — изолированная сеть на VLAN, маршрутизатор сети с поддержкой BGP
Изолированная сеть больше одного сегмента: за её маршрутизатором есть другие сети, а VIP должен быть виден из них. Обмен маршрутами настраивается внутри VRF и не смешивается с маршрутами других изолированных сетей. Значения — из сквозного примера.
Что получится
- Оба агента поднимут BGP-сессию с
10.88.0.114внутри VRFdemo. - Сеть
172.31.100.0/24появится в таблице маршрутизации VRFdemoна обоих агентах. - Маршрутизатор увидит
10.88.0.100/32от обоих агентов и распределит трафик между ними. - При отказе всех серверов приложения анонс VIP снимется, и трафик перестанет приходить на балансировщики.
Перед началом
- Профиль
demoсоздан, агенты получили адреса в изолированной сети. - Маршрутизатор настроен на приём сессий от адресов агентов в этой сети и знает номер автономной системы 65000.
- В кластере есть конфигурация балансировки в этом VRF — она определяет, какой VIP анонсировать.
Настройка
Сессия и политика приёма
- Откройте профиль
demoна редактирование и включите переключатель BGP. - В поле ASN укажите
65000. - Нажмите Добавить соседа и заполните:
- IP —
10.88.0.114; - ASN —
65100; - Разрешённые префиксы (CIDR) —
172.31.100.0/24; - Анонсировать VIP — включите.
- IP —
- Сохраните профиль.
Важно: пустой список Разрешённые префиксы означает «не принимать ничего». Сессия установится, но ни один маршрут принят не будет. Перечислите сети явно.
Адрес источника сессии и идентификатор маршрутизатора система подставляет сама — у каждого агента свои, из его адреса в этом VRF. Отдельных полей для них нет.
Анонс VIP
Карточка BGP профиля даёт сессию и политику. Что именно анонсировать, определяет конфигурация балансировки.
- Откройте конфигурацию балансировки, работающую в VRF
demo. - В секции Отказоустойчивость (HA) выберите тип BGP (Active-Active).
- В поле VIP укажите
10.88.0.100, в поле ASN —65000. - В блоке Соседи (BGP пиры) добавьте соседа
10.88.0.114с AS65100. - Включите Автоанонс VIP (RHI) при доступности сервисов и оставьте Порог доступности для анонса VIP, % равным
50. - Сохраните конфигурацию.
Соседа приходится указывать и в профиле VRF, и в конфигурации балансировки, даже когда адрес один и тот же: профиль описывает сессию, конфигурация — анонс. На агенте описания объединяются, дублирующей сессии не возникает.
Номер автономной системы у профиля и у конфигураций балансировки в этом VRF должен быть один.
Проверка
В интерфейсе системы
-
На вкладке Сеть → <сетевой агент> → Конфигурация появился блок для этого VRF: свой номер автономной системы, сосед и подставленный системой адрес источника.
router bgp 65000 vrf demo bgp router-id 10.88.0.11 neighbor 10.88.0.114 remote-as 65100 neighbor 10.88.0.114 update-source 10.88.0.11 -
На вкладке Соседи маршрутизатор
10.88.0.114виден на интерфейсеens19.300— значит связность до него есть и сессии есть на чём подниматься. -
Обмен BGP можно снять инструментом TCP Dump на интерфейсе
ens19.300с фильтром по порту 179. -
Для проверки снятия анонса следите за состоянием узлов группы серверов: при переходе всех узлов в Недоступен анонс должен уйти.
На машине
Состояние самих сессий интерфейс пока не показывает, поэтому его смотрят на агенте:
vtysh -c 'show bgp vrf demo summary' # сессия в состоянии Established
vtysh -c 'show bgp vrf demo ipv4 unicast' # принятые маршруты и собственный анонс
ip route show vrf demo proto bgp # принятые маршруты в таблице ядраНа маршрутизаторе 10.88.0.100/32 должен приходить от обоих агентов — два следующих узла на один префикс.
Снятие анонса проверяется остановкой всех серверов приложения: узлы группы перейдут в состояние Недоступен, строка network 10.88.0.100/32 исчезнет из конфигурации на обоих агентах, а маршрутизатор потеряет маршрут к VIP. После возврата серверов анонс восстановится.
Частые ошибки
| Сообщение | Что означает | Что сделать |
|---|---|---|
| Сессия Established, маршрутов ноль | Не заполнены разрешённые префиксы соседа | Перечислите принимаемые сети в поле Разрешённые префиксы (CIDR) |
Сосед (BGP пир) должен быть хотя бы один | В конфигурации балансировки выбран тип BGP (Active-Active), но соседи не добавлены | Добавьте соседа в секции Отказоустойчивость (HA) |
Сервис "web" анонсирует AS 65001 в VRF "demo", где собственный BGP VRF использует AS 65000 — в одном VRF допустим только один AS | Номера автономной системы в профиле и в конфигурации балансировки различаются | Приведите их к одному значению |
ttl_security (1) и ebgp_multihop (2) взаимоисключены в FRR | Заполнены оба поля сразу | Оставьте только одно |
не задан AS соседа (as=0) | У соседа не заполнено поле ASN | Укажите номер автономной системы соседа |
Сессия не поднимается вовсе — начните с Проверки и диагностики: чаще всего маршрутизатор не ждёт сессию с того адреса, который агент использует источником.
Дальше
- Выход из изолированной сети наружу — дать сети маршрут по умолчанию.
- IPv4 и IPv6 в одном VRF — поднять вторую сессию для IPv6.