Настройка атрибутов протокола BGP
Рассмотрим примеры настройки различных атрибутов протокола BGP для оптимизации выбора маршрута. Начнем с базовой настройки – назначим IP адреса на интерфейсы:
R1
interface Serial 0/0/0
ip address 10.1.12.1 255.255.255.0
interface GigabitEthernet 0/0/0
ip address 10.1.13.1 255.255.255.0
interface GigabitEthernet 0/0/1
ip address 10.1.11.1 255.255.255.0
interface loopback 0
ip address 1.1.1.1 255.255.255.255
R2
interface Serial 0/0/0
ip address 10.1.12.2 255.255.255.0
interface Serial 0/0/1
ip address 10.1.23.2 255.255.255.0
interface loopback 0
ip address 2.2.2.2 255.255.255.255
R3
interface Serial 0/0/0
ip address 10.1.35.3 255.255.255.0
interface Serial 0/0/1
ip address 10.1.23.3 255.255.255.0
interface GigabitEthernet 0/0/0
ip address 10.1.13.3 255.255.255.0
interface loopback 0
ip address 3.3.3.3 255.255.255.255
R4
interface GigabitEthernet 0/0/0
ip address 10.1.45.4 255.255.255.0
interface GigabitEthernet 0/0/2
ip address 10.1.14.4 255.255.255.0
interface loopback 0
ip address 4.4.4.4 255.255.255.255
R5
interface Serial 0/0/0
ip address 10.1.35.5 255.255.255.0
interface GigabitEthernet 0/0/0
ip address 10.1.45.5 255.255.255.0
interface loopback 0
ip address 5.5.5.5 255.255.255.255
SW1
vlan batch 11 14
interface vlan 11
ip address 10.1.11.10 255.255.255.0
interface vlan 14
ip address 10.1.14.10 255.255.255.0
interface loopback 0
ip address 10.10.10.10 255.255.255.255
interface GigabitEthernet 0/0/1
port link-type access
port default vlan 11
interface GigabitEthernet 0/0/2
port link-type access
port default vlan 14
Далее настроим протокол OSPF внутри автономной системы 64512:
R1
ospf 1 router-id 1.1.1.1
area 0
network 10.1.11.1 0.0.0.0
network 1.1.1.1 0.0.0.0
SW1
ospf 1 router-id 10.10.10.10
area 0
network 10.1.11.10 0.0.0.0
network 10.1.14.10 0.0.0.0
network 10.10.10.10 0.0.0.0
R4
ospf 1 router-id 4.4.4.4
area 0
network 10.1.14.4 0.0.0.0
network 4.4.4.4 0.0.0.0
Затем настроим iBGP на R1, R4 и SW1, соседство они будут устанавливать, используя loopback интерфейсы. Также разрешим балансировку нагрузки:
R1
router id 1.1.1.1
bgp 64512
group as64512 internal
peer 10.10.10.10 group as64512
peer 10.10.10.10 connect-interface Loopback 0
maximum load-balancing 4
SW1
router id 10.10.10.10
bgp 64512
group as64512 internal
peer 1.1.1.1 group as64512
peer 1.1.1.1 connect-interface Loopback 0
peer 4.4.4.4 group as64512
peer 4.4.4.4 connect-interface Loopback 0
maximum load-balancing 4
R4
router id 4.4.4.4
bgp 64512
group as64512 internal
peer 10.10.10.10 group as64512
peer 10.10.10.10 connect-interface Loopback 0
maximum load-balancing 4
И наконец настроим EBGP соседство между всеми устройствами, согласно топологии. Устанавливать соседство они будут при помощи физических интерфейсов:
R1
bgp 64512
peer 10.1.12.2 as-number 200
peer 10.1.13.3 as-number 100
R2
router id 2.2.2.2
bgp 200
peer 10.1.12.1 as-number 64512
peer 10.1.23.3 as-number 100
maximum load-balancing 4
R3
router id 3.3.3.3
bgp 100
peer 10.1.13.1 as-number 64512
peer 10.1.35.5 as-number 100
peer 10.1.23.2 as-number 200
maximum load-balancing 4
R4
bgp 64512
peer 10.1.45.5 as-number 100
R5
router id 5.5.5.5
bgp 100
peer 10.1.45.4 as-number 64512
peer 10.1.35.3 as-number 100
maximum load-balancing 4
На этом базовая настройка окончена, перейдем к настройке BGP атрибутов.
1. Атрибут AS_Path.
Описывает через какие автономные системы надо пройти, чтобы дойти до сети назначения.
На SW1 поднимем loopback интерфейс и добавим его в BGP процесс:
interface loopback 1
ip address 11.11.11.11 255.255.255.0
bgp 64512
network 11.11.11.0 255.255.255.0
Проверим таблицу маршрутизации на R2. Как видим, маршрут до сети 11.11.11.0/24 выбран основываясь на атрибуте AS_Path:
[R2] display bgp routing-table
BGP Local router ID is 2.2.2.2
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 11.11.11.0/24 10.1.12.1 0 64512i
* 10.1.23.3 0 100 64512i
Представим, что нам нужно чтобы в приоритете маршрут до сети 11.11.11.0/24 проходил через AS100. В таком случае мы можем настроить атрибут AS_Path чтобы повлиять на выбор маршрута.
Создадим политику на маршрутизаторе R1, благодаря которой, к маршруту будут добавлены пара автономных систем:
R1
acl number 2100
rule 5 permit source 11.11.11.0 0.0.0.255
route-policy p1 permit node 10
if-match acl 2100
apply as-path 64512 64512 additive
bgp 64512
peer 10.1.12.2 route-policy p1 export
Теперь проверим таблицу маршрутизации на R2:
[R2] display bgp routing-table
BGP Local router ID is 2.2.2.2
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 11.11.11.0/24 10.1.23.3 0 100 64512i
* 10.1.12.1 0 64512 64512 64512i
Как видим, теперь в приоритете нужный нам маршрут.
2. Атрибут Origin.
Указывает на то, каким образом был получен маршрут в обновлении.
Взглянем на таблицу маршрутизации на R3:
[R3] display bgp routing-table
BGP Local router ID is 3.3.3.3
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 11.11.11.0/24 10.1.13.1 0 64512i
* i 10.1.35.5 100 0 64512i
Как видим, атрибут Origin – IGP, то есть маршрут был получен внутри исходной автономной системы. Поэтому маршрутизатор предпочитает маршрут, проходящий через R1. Но мы хотим, чтобы в приоритете был маршрут, проходящий через R5. Настроим политику и изменим атрибут Origin, который R1 объявляет маршрутизатору R3.
R1
route-policy p2 permit node 5
if-match acl 2100
apply origin incomplete
bgp 64512
peer 10.1.13.3 route-policy p2 export
После этого, опять взглянем на таблицу маршрутизации R3:
[R3] display bgp routing-table
BGP Local router ID is 3.3.3.3
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 11.11.11.0/24 10.1.35.5 100 0 64512i
* 10.1.13.1 0 64512?
Теперь нужный нам маршрут в приоритете.
3. Атрибут Local preference.
Также про этот атрибут можно прочитать здесь: 1 ; 2. Используется для управления исходящим трафиков BGP. Указывает маршрутизаторам внутри атономной системы как выйти за ее пределы.
На маршрутизаторах R3 и R5 поднимем loopback интерфейсы и объявим их в BGP процесс.
R3
interface loopback 1
ip address 13.13.13.13 255.255.255.0
bgp 100
network 13.13.13.0 255.255.255.0
R5
interface loopback 1
ip address 15.15.15.15 255.255.255.0
bgp 100
network 15.15.15.0 255.255.255.0
На SW1 проверим BGP таблицу маршрутизации:
[SW1] display bgp routing-table
BGP Local router ID is 10.10.10.10
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 5
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 11.11.11.0/24 0.0.0.0 0 0 i
*>i 13.13.13.0/24 1.1.1.1 0 100 0 100i
* i 4.4.4.4 100 0 100i
*>i 15.15.15.0/24 1.1.1.1 100 0 100i
* i 4.4.4.4 0 100 0 100i
Мы хотим чтобы трафик до сети 15.15.15.0/24 шел через R4, а трафик до сети 13.13.13.0/24 шел через R1. Для этого создадим политику на R4 для маршрута 15.15.15.0/24, в которой изменим значение атрибута Local preference на 110. Также поступим с маршрутом13.13.13.0/24 на R1.
R4
acl number 2100
rule 5 permit source 15.15.15.0 0.0.0.255
route-policy p4 permit node 5
if-match acl 2100
apply local-preference 110
route-policy p4 permit node 10
bgp 64512
peer as64512 route-policy p4 export
R1
acl number 2200
rule 5 permit source 13.13.13.0 0.0.0.255
route-policy p3 permit node 5
if-match acl 2200
apply local-preference 110
route-policy p3 permit node 10
bgp 64512
peer as64512 route-policy p3 export
Проверим BGP таблицу маршрутизации на SW1:
[SW1] display bgp routing-table
BGP Local router ID is 10.10.10.10
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 5
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 11.11.11.0/24 0.0.0.0 0 0 i
*>i 13.13.13.0/24 1.1.1.1 0 110 0 100i
* i 4.4.4.4 100 0 100i
*>i 15.15.15.0/24 4.4.4.4 0 110 0 100i
* i 1.1.1.1 100 0 100i
4. Атрибут MED.
Также про этот атрибут можно прочитать здесь. Используется для информированияEBGP соседей о том, какой путь в автономную систему более предпочтительный.
Сначала удалим политику, которую мы добавляли при настройке атрибута Origin:
R1
bgp 64512
undo peer 10.1.13.3 route-policy p2 export
undo route-policy p2
Создадим политику, в которой изменим значение атрибута MED и применим ее для информирования R3.
R1
route-policy med permit node 5
if-match acl 2100
apply cost 100
bgp 64512
peer 10.1.13.3 route-policy med export
Проверим BGP таблицу маршрутизации на R3:
[R3] display bgp routing-table
BGP Local router ID is 3.3.3.3
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 4
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 11.11.11.0/24 10.1.35.5 100 0 64512i
* 10.1.13.1 100 0 64512i
*> 13.13.13.0/24 0.0.0.0 0 0 i
*>i 15.15.15.0/24 10.1.35.5 0 100 0 i
Маршрут с наименьшим значеним атрибута MED находится в приоритете.