ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
контакт-центра
 онтакт - центр как канал продаж и маркетинговой коммуникации ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопастность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

8 минут чтени€

¬ этой статье мы рассмотрим настройку BGP-оповещени€ дл€ Network Layer Reachability Information (NLRI), а также конфигурацию политики маршрутизации BGP.

 ќповещени€ NLRI и политики маршрутизации BGP

ѕредыдущие статьи цикла про BGP:

  1. ќсновы протокола BGP
  2. ѕостроение маршрута протоколом BGP
  3. ‘ормирование соседства в BGP

ќповещени€ NLRI

ѕрежде чем мы начнем настраивать оповещени€ NLRI, использу€ различные команды, давайте сначала обсудим старую функцию BGP, которую Cisco отключает по умолчанию. Ёта функци€ называетс€ синхронизацией BGP. ƒл€ проверки того, что Cisco отключила эту функцию на вашем устройстве, выполните команду show running-configuration на одном из устройств BGP, и в выводимой информации, под пунктом Ђпроцессыї BGP, вы увидите сообщение no synchronization. ≈сли эта функци€ включена, функци€ синхронизации не позвол€ет спикеру BGP вводить префиксы в BGP, если нет коррелированной записи дл€ префикса в базовом IGP (или статических маршрутах). Ёто помогает предотвратить ситуации типа "черна€ дыра" (black hole), когда устройства на маршруте не работают с BGP и не могут переадресовать префикс BGP, потому что у них нет маршрута к этому префиксу из их IGP. Ёта функци€ отключена по умолчанию из-за создани€ множества различных механизмов масштабируемости, существующих в BGP, которые позвол€ют настроить топологию iBGP без требовани€ полной сетки одноранговых узлов iBGP. ≈ще одна причина, по которой он отключен, заключаетс€ в том, что он поощр€ет перераспределение префиксов BGP в базовый IGP, и это не безопасно.

—уществует причина, по которой Cisco уходит от использовани€ команды network дл€ настройки IGPs в CLI. Ќе очень хороша€ иде€ в программировании, чтобы одна команда выполн€ла очень разные вещи, и когда она используетс€ в разных област€х. Ёто относитс€ и к команде network. ѕри использовании в IGP команда включает протокол на интерфейсе (а также вли€ете на то, какие префиксы объ€вл€ютс€), но в BGP у команды network другое назначение. ќна не включает BGP на определенных интерфейсах, вместо этого она объ€вл€ет префикс, который существует (каким-то образом) на локальном устройстве, и вводит его в BGP.

’от€ префикс, который вы могли бы объ€вить в BGP, чаще всего встречаетс€ в вашем IGPs в таблице маршрутизации. ¬ы можете использовать другие методы дл€ создани€ префикса дл€ оповещени€. Ќапример, вы можете создать интерфейс обратной св€зи, который обладает префиксом сети, который вы хотите объ€вить. »ли вы можете создать статический маршрут или даже статический маршрут, указывающий на Null0.

ќдна маленька€ хитрость, св€занна€ с командой network в BGP, заключаетс€ в том, что, если ваша маска подсети дл€ вашего префикса не находитс€ на классовой границе IP- адреса (например, 10.0.0.0/8), то вам нужно не забыть использовать ключевое слово mask и указать правильную маску при использовании команды. ѕример 1 показывает создание двух петлевых интерфейсов и объ€вление их префиксов в BGP. ќбратите внимание, что этот пример также показывает проверку этих префиксных объ€влений на маршрутизаторе ATL.

“опологи€

ѕример 1: »спользование команды Network в BGP

TPA1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
TPA1(config)#interface loopback 192
TPA1(config-if)#ip address 192.168.1.1 255.255.255.0
TPA1(config-if)#exit
TPA1(config)#interface loopback 172
TPA1(config-if)#ip address 172.16.10.1 255.255.255.0
TPA1(config-if)#exit
TPA1(config)router bgp 100
TPA1(config-router)#network 192.168.1.0
TPA1(config-router)#network 172.16.10.0 mask 255.255.255.0
TPA1(config-router)#end
TPA1#
ATL#
ATL#show ip bgp
show ip bgp

’от€ команда network проста и удобна, она не была бы эффективной, если бы у вас было много префиксов дл€ оповещени€. ƒругой вариант- перераспределить префиксы в BGP из IGP или статических маршрутов. ѕример 2 демонстрирует перераспределение префиксов, которые были получены через EIGRP, в BGP. ќбратите внимание при проверке, что исходный код дл€ этих префиксов отображаетс€ как (?) указывает на неизвестность.

ѕример 2: перераспределение префиксов в BGP

TPA1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
TPA1(config)router bgp 100
TPA1(config-router)#redistribute eigrp 100
TPA1(config-router)#end
TPA1#
ATL#show ip bgp
 show ip bgp

 огда вы начинаете объ€вл€ть (оповещать) NLRI в BGP, вы можете столкнутьс€ с префиксами в вашей таблице BGP (показанной с show ip bgp), которые имеют код состо€ни€ (r) вместо ожидаемого допустимого кода состо€ни€ (*).  од состо€ни€ (r) указывает на сбой RIB, означающий, что BGP попыталс€ поместить префикс в таблицу BGP, но не смог из- за какой-то проблемы.

Ќаиболее распространенной причиной отказа RIB €вл€етс€ административное рассто€ние (AD). Ќапример, IBGP узнал префиксы несущие ужасные объ€влени€ AD из 200. Ёто означает, что если ваш маршрутизатор получил префикс через IGP (даже такой плохой, как RIP с AD 120), то он будет предпочтительнее префикса IBGP. ¬ результате протокол BGP получивший это объ€вление AD, не отметит префикс как действующий. ќбратите внимание, что это, как правило, не происходит с префиксами EBGP-learned, поскольку они имеют очень предпочтительное объ€вление 20 (по умолчанию).

ќчень часто, если желательно иметь префикс в IGP и BGP, администраторы будут манипулировать значени€ми AD на своих маршрутизаторах, чтобы улучшить AD IBGP. Ќапример, в случае RIP и BGP администратор мог бы установить AD изученных маршрутов IBGP на 119, чтобы сделать их предпочтительными по сравнению с используемым IGP.

¬ дополнение к вы€влению сбоев RIB в результатах команды show ip bgp, вы можете использовать более пр€мую команду show ip bgp rib-failure, чтобы увидеть любые префиксы в этом состо€нии. Ёто особенно полезно в случае массивных таблиц BGP.


Ќастройка политики маршрутизации BGP

ƒовольно часто встречаютс€ топологии, в которых вы €вно не хотите объ€вл€ть префиксы в своей таблице BGP, или вы не хотите получать определенные префиксы от узла BGP.   счастью, в вашем распор€жении есть много инструментов дл€ этого. Ќапример, вот только некоторые методы, которые вы могли бы использовать дл€ фильтрации префиксов:

  • Distribute lists
  • Extended ACLs
  • Prefix lists
  • AS Path filters
  • Route maps

ѕример 3 демонстрирует один из методов фильтрации. ¬ыбран подход route map, потому что все (и это правильно) люб€т карты маршрутов.

ѕример 3: »спользование route map в качестве префиксного фильтра в BGP

ATL# configure terminal
Enter configuration commands, one per line. End with CNTL/Z. 
ATL(config)#ip access-list standard MYPREFIX
ATL(config-std-nacl)#permit 192.168.1.0 0.0.0.255
ATL(config-std-nacl)#exit 
ATL(config)#route-map MYMAP deny 10
ATL(config-route-map)#match ip address MYPREFIX
ATL(config-route-map)#exit 
ATL(config)#route-map MYMAP permit 20
 ATL(config-route-map)#exit 
ATL(config)#router bqp 200
ATL(config-router)#neighbor 10.10.10.1 route-map MYMAP in
ATL(config-router)#end 
ATL#
ATL# clear ip bqp * soft
ATL# show ip bqp
 show ip bqp

ќбратите внимание, перед проверкой € запускаю команду clear ip bgp * soft. Ёто гарантирует, что устройство сразу же обновит информацию BGP дл€ мен€, так что мне не придетс€ ждать истечени€ таймера, когда дело дойдет до конвергенции BGP на новых манипул€ци€х с политикой, которые мы сделали.

ѕомните, что BGP использует множество различных атрибутов пути вместо простой метрики, чтобы предоставить вам возможность легко настроить способ, по которому происходит маршрутизаци€. Ќиже приведены некоторые из атрибутов пути, которыми вы могли бы манипулировать, чтобы настроить политику:

  • Weight
  • MED
  • Local Preference
  • AS Path

ћожно спросить себ€, как AS Path могут быть использованы в цел€х маршрутизации. ѕоскольку манипул€ци€ AS Path часто выполн€етс€ с помощью AS Path Prepending. ¬ы отравл€ете префикс, добавл€€ свой собственный номер AS к пути, чтобы сделать более длинным (менее предпочтительным) AS Path.  ак и большинство наших манипул€ций с атрибутом пути, это легко сделать с помощью карты маршрута.

ƒавайте рассмотрим пример использовани€ Local Preference дл€ манипулировани€ политикой. ћы часто используем Local Preference, чтобы повли€ть на то, как мы будем направл€ть исход€щий трафик к префиксу BGP. ћы делаем это, устанавлива€ значени€ Local Preference, вход€щие по нескольким пут€м. ѕрежде чем мы начнем, поймите, что Local Preference - это значение, которое рассматриваетс€ довольно высоко в процессе прин€ти€ решени€ о наилучшем пути BGP, более высокое значение предпочтительно, и значени€ передаютс€ только в обновлени€х IBGP. »менно так им€ LOCAL вошло в название Local Preference.

ƒл€ начала € объ€вил тот же префикс в AS 200 (ATL и ATL2) от маршрутизаторов TPA1 и TPA2 AS 100. √л€д€ на пример 4, ¬ы можете видеть, что этот префикс (192.168.1.0) может быть достигнут с помощью следующего прыжка 10.10.10.1 и что это предпочтительный путь. јльтернативный путь, который будет использоватьс€ в случае неудачи этого пути, будет проходить через следующий переход 10.21.21.1.

ѕример 4: ѕодготовка к использованию Local Preference

ATL# show ip bqp
 show ip bqp

“еперь пришло врем€ поэкспериментировать и изменить данное поведение с помощью примера манипул€ции атрибутом пути. ћой подход будет состо€ть в том, чтобы определить префикс, которым мы хотим манипулировать (192.168.1.0), и подн€ть значение локального предпочтени€, чтобы оно было больше, чем значение по умолчанию 100 дл€ пути к TPA2 на следующем прыжке 10.21.21.1. я делаю это, манипулиру€ префиксом, когда он входит через путь 10.21.21.1 .

ѕример 5 показывает эту конфигурацию.

ATL# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
 ATL(config)#ip access-list standard OURPREFIX
ATL(config-std-nacl)#permit 192.168.1.0 0.0.0.255
ATL(config-std-nacl)#exit
ATL(config)#route-map SETLOCALPREF permit 10 
ATL(config-route-map)#match ip address OURPREFIX
 ATL(config-route-map)#set local-preference 110 
ATL(config-route-map)#exit
ATL(config)#route-map SETLOCALPREF permit 20
ATL(config-route-map)#exit 
ATL(config)#router bqp 200
ATL(config-router)#neighbor 10.21.21.1 route-map SETLOCALPREF in
ATL(config-router)#end ATL#
ATL# clear ip bqp * soft
ATL# show ip bqp
 show ip bqp

ќбратите внимание, что предпочтительный путь теперь проходит через следующий переход 10.21.21.1, как мы и хотели. ƒл€ этого префикса также отображаетс€ значение Local Preference - 110. Ёто более высокое значение €вл€етс€ предпочтительным и измен€ет выбор, сделанный процессом выбора наилучшего пути BGP.


ѕолезна ли ¬ам эта стать€?