Сейчас мы рассмотрим работу с конфедерациями BGP.
Конфедерации в BGP нужны тогда, когда у нас, например очень много iBGP пиров, или когда нужно выделить некоторую область какому-то другому администратору, чтоб он полностью мог управлять своей sub-AS.
Подключаясь к провайдеру, он может Вам выделить приватную AS, или сделать Вас конфедерацией в своей AS.
Мы уже в некоторых предыдущих статьях касались настройки конфедерации, но здесь мы рассмотрим более предметно.
Давайте рассмотрим топологию:
Здесь As1.1 — 1.4 принадлежат Автономной системе с номером 1, R4 — AS100.
Автономная система 1, разбита на две подсистемы (2 конфедерации), 65001 и 65002, в каждой из которых по два роутера.
AS1.1 имеет lo0 — 10.10.10.10/32 а AS1.4 — 20.20.20.20/32.
Давайте рассмотрим как настраиваются конфедерации.
Ну во первых все начинается с router bgp {номер системы},
Номер системы при использовании конфедерации используется внутенний, в нашем случае это 65001 и 65002. Но так же нам необходимо указать, какую же на самом деле AS мы представляем?
для этого используется опция bgp confederation identifier {AS}.
Так же, если наша конфедерация имеет соседские отношения с какой-то еще конфедерацией нашей AS, это тоже нужно указать так: bgp confederation peers 65002 65003
Теперь давайте рассмотрим секцию BGP например на роутере AS1.2:
router bgp 65001
no synchronization
bgp log-neighbor-changes
bgp confederation identifier 1
bgp confederation peers 65002
network 1.1.2.0 mask 255.255.255.0
network 1.1.3.0 mask 255.255.255.0
neighbor 1.1.2.1 remote-as 65001
neighbor 1.1.2.1 next-hop-self
neighbor 1.1.3.2 remote-as 65002
no auto-summary
Думаю в дополнительных комментариях эта настройка не нуждается, все было рассмотрено выше.
Теперь давайте посмотрим AS-PATH маршрута 20.20.20.20/32 (от роутера AS1.4) на роутере AS1.1:
AS1.1(config)#do sh ip bgp | inc 20.20.20.20
*>i20.20.20.20/32 1.1.2.2 0 100 0 (65002) i
AS1.1(config)#
Нас интересует (65002), в скобках обозначаются конфедерации, через которые прошел маршрут, в данном случае здесь только 65002, а это значит что этот маршрут порожден в этой sub-AS.
Теперь давайте посмотрим с Вами как передаются эти маршруты в EBGP линки:
AS100#sh ip bgp | inc 10.10.10.10
*> 10.10.10.10/32 1.1.6.1 0 1 i
AS100#
EBGP пир не видит никаких приватный AS (sub-AS), он видит только настоящие AS (confederation identifier).
Мы уже с Вами рассматривали функцию удаления из AS-PATH sub-as в одной из статей, с помощью remove-private-as.
Так же стоит отметить, что такие параметры как next-hop, med, local preference передаются между конфедерациями без проблем, об этом стоит помнить.