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

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

ћы продолжим рассмотрение вопроса об устранении неполадок в объ€влени€х о маршрутах BGP. ¬се маршрутизаторы будут иметь рабочие соседние узлы BGP.

–екомендуем также почитать первую часть статьи по траблшутингу протокола BGP.


”рок 1

“опологи€

Ќовый сценарий. R1 и R2 наход€тс€ в разных автономных системах. ћы пытаемс€ объ€вить сеть 1.1.1.0 / 24 от R1 до R2, но она не отображаетс€ на R2. ¬от конфигурации:

show run | section bgp show run | section bgp

Ќа первый взгл€д, здесь все в пор€дке.

show ip bgp summary

ќднако R2 не узнал никаких префиксов от R1

show ip protocols | include filter show ip protocols | include filter

ћожет быть, используетс€ distribute-list. Ќо нет, это не тот случай. Ёто означает, что нам придетс€ провер€ть наши все команды network.

show run | section router bgp

ѕроблема заключаетс€ в команде network. ќна настраиваетс€ по-разному дл€ BGP и нашего IGP. ≈сли мы примен€ем команду network дл€ BGP, она должна быть полной. ¬ этом случае забыли добавить маску подсети

R1(config)#router bgp 1
R1(config-router)#network 1.1.1.0 mask 255.255.255.0

ћы должны убедитьс€, что ввели правильную маску подсети.

show ip bgp summary | begin Neighbor show ip route bgp

»так, видно, что мы узнали префикс, и R2 устанавливает его в таблицу маршрутизации ... проблема решена!

»тог урока: введите правильную маску подсети ... BGP требователен!

”рок 2

“опологи€ є2

ƒавайте перейдем к следующей проблеме. —истемный администратор из AS1 хочет объ€вить summary в AS 2. —истемный администратор из AS 2 жалуетс€, однако, что он ничего не получает..., давайте, вы€сним, что происходит не так!

show run | section router bgp show run | section router bgp

¬от конфигураци€. ¬ы можете увидеть команду aggregate-address на R1 дл€ сети 172.16.0.0 / 16.

show ip bgp summary | begin Neighbor

∆аль ... префиксы не были получены R2. «десь мы можем проверить две вещи:

  • ѕроверьте, не блокирует ли distribute-list префиксы, как это мы сделали в предыдущем зан€тии.
  • ѕосмотрите, что R1 имеет в своей таблице маршрутизации (ѕравило: "не могу объ€вл€ть то, чего у мен€ нет!").

ƒавайте начнем с таблицы маршрутизации R1. »з предыдущих уроков вы знаете, как выгл€дит distribute-list.

show ip route

«десь нет ничего, что выгл€дело бы даже близко к 172.16.0.0 /16. ≈сли мы хотим объ€вить summary, мы должны сначала поместить что-то в таблицу маршрутизации R1. –ассмотрим различные варианты:

R1(config)#interface loopback 0
R1(config-if)#ip address 172.16.0.1 255.255.255.0
R1(config-if)#exit
R1(config)#router bgp 1
R1(config-router)#network 172.16.0.0 mask 255.255.255.0

Ёто вариант 1. —оздам интерфейс loopback0 и настроим IP-адрес, который попадает в диапазон команды aggregate-address.

show ip route bgp

“еперь мы видим summary в таблице маршрутизации R2. ѕо умолчанию он все равно будет объ€вл€ть другие префиксы. ≈сли вы не хотите этого, вам нужно использовать команду aggregate-address summaryonly!

¬торой вариант объ€влени€ summary:

R1(config)#ip route 172.16.0.0 255.255.0.0 null 0
R1(config)#router bgp 1
R1(config-router)#network 172.16.0.0 mask 255.255.0.0

—начала мы поместим сеть 172.16.0.0 / 16 в таблицу маршрутизации, создав статический маршрут и указав его на интерфейсе null0. ¬о-вторых, будем использовать команду network дл€ BGP дл€ объ€влени€ этой сети.

show ip route bgp
»тог урока: ¬ы не можете объ€вл€ть то, чего у вас нет. —оздайте статический маршрут и укажите его на интерфейсе null0, чтобы создать loopback интерфейс с префиксом, который попадает в диапазон суммарных адресов.

”рок 3

“опологи€ є3

—ледующа€ проблема. ¬ы работаете системным администратором в AS 1, и однажды получаете телефонный звонок от системного администратора AS 2, который интересуетс€ у вас, почему вы публикуете сводку дл€ 1.0.0.0 / 8. ¬ы пон€ти€ не имеете, о чем, он говорит, поэтому решаете проверить свой роутер.

show ip route bgp

Ёто то, что видит системный администратор на R2.

show ip bgp 1.0.0.0

ћы видим, что у нас есть сеть 1.0.0.0 / 8 в таблице BGP на R1. ƒавайте проверим его таблицу маршрутизации.

show ip route 1.0.0.0

—еть 1.1.1.0 / 24 настроена на loopback интерфейс, но она находитс€ в таблице BGP как 1.0.0.0 / 8. Ёто может означать только одну вещь ... суммирование.

show ip protocols

Ѕеглый взгл€д на выводы команды show ip protocols показывает, что автоматическое суммирование включено. ќтключим это:

R1(config)#router bgp 1
R1(config-router)#no auto-summary

ћы отключим его на R1.

show ip route bgp

“еперь мы видим 1.1.1.0 / 24 на R2 ... проблема решена!

»тог урока: если вы видите classful сети в своей таблице BGP, возможно, вы включили автоматическое суммирование.
Ќекоторые из проблем, которые были рассмотрены, можно легко решить, просто посмотрев и/или сравнив результаты команды "show run". » это правда, но имейте в виду, что у вас не всегда есть доступ ко ¬—≈ћ маршрутизаторам в сети, поэтому, возможно, нет способа сравнить конфигурации. ћежду устройствами, на которых вы пытаетесь устранить неисправности или которые вызывают проблемы, может быть коммутатор или другой маршрутизатор. »спользование соответствующих команд show и debug покажет вам, что именно делает ваш маршрутизатор и что он сообщает другим маршрутизаторам.

”рок 4

“опологи€ є4

“а же топологи€, друга€ проблема. ѕерсонал из AS 2 жалуютс€, что они ничего не получают от AS 1. ƒл€ усложнени€ проблемы, конфигураци€ не будет показана.

show ip bgp summary | begin Neighbor

ƒл€ начала, мы видим, что R2 не получает никаких префиксов.

show ip protocols | include filter

“ак же можем убедитьс€, что R1 не имеет каких-либо distribute-lists.

show ip bgp 1.1.1.0

ћы видим, что R1 действительно имеет сеть 1.1.1.0 /24 в своей таблице маршрутизации, так почему же он не объ€вл€ет ее в R2?

ƒавайте посмотрим, может на R1 есть какие-то особенные настройки дл€ своего соседа R2:

show ip bgp neighbors 192.168.12.2

Ѕудем использовать команду show ip bgp neighbors, чтобы увидеть подробную информацию о R2. ћы видим, что route-map была применена к R2 и называетс€ "NEIGHBORS". »мейте в виду, что помимо distribute-lists мы можем использовать также route-map дл€ фильтрации BGP.

show route-map

—уществует только оператор соответстви€ дл€ prefix-list "PREFIXES".

show ip prefix-list

¬от наш нарушитель спокойстви€ ... он запрещает сеть 1.1.1.0 / 24!

R1(config)#router bgp 1
R1(config-router)#no neighbor 192.168.12.2 route-map NEIGHBORS out

”далим route-map

show ip route bgp

» наконец R2 узнал об этом префиксе ... проблема решена!

»тог урока: убедитесь, что нет route-map, блокирующих объ€вление префиксов.
BGP иногда может быть очень медленным, особенно когда вы ждете результатов, когда вы работаете на тестовом или лабораторном оборудовании. "Clear ip bgp *" - это хороший способ ускорить его ... просто не делайте этого на маршрутизаторах в производственной сети)

”рок 5

“опологи€ є5

Ќаконец, третий участник выходит на арену, чтобы продемонстрировать новую проблему. R1-это объ€вл€ема€ сеть 1.1.1.0 / 24, но R3 не изучает эту сеть. «десь представлены конфигураций:

show run | section router bgp show run | section router bgp show run | section router bgp

—оседство настроено, R1 - объ€вл€ема€ сеть 1.1.1.0 / 24.

show ip route bgp
R3#show ip route bgp

ћы можем видеть сеть 1.1.1.0 / 24 в таблице маршрутизации R2, но она не отображаетс€ на R3.

“ехнически проблем нет. ≈сли вы внимательно посмотрите на конфигурацию BGP всех трех маршрутизаторов, то увидите, что существует только соседство BGP между R1 и R2 и между R2 и R3. »з-за split horizon IBGP R2 не пересылает сеть 1.1.1.0 / 24 в направлении R3. „тобы это исправить, нам нужно настроить R1 и R3, чтобы они стали сосед€ми.

R1(config)#ip route 192.168.23.3 255.255.255.255 192.168.12.2
R3(config)#ip route 192.168.12.1 255.255.255.255 192.168.23.2

≈сли мы собираемс€ настроить соседство BGP между R1 и R3, нам нужно убедитьс€, что они могут достигать друг друга. ћы можем использовать статическую маршрутизацию или IGP ... чтобы упростить задачу, на этот раз мы будем использовать статический маршрут.

R1(config)#router bgp 1
R1(config-router)#neighbor 192.168.23.3 remote-as 1
R3(config)#router bgp 1
R3(config-router)#neighbor 192.168.12.1 remote-as 1

ѕримените правильные настройки команды neighbor BGP.

show ip route bgp

» R3 имеет доступ к сети 1.1.1.0 / 24!

»тог урока: соседство по IBGP должно быть полным циклом! ƒругим решением было бы использование route-reflector или confederation.

”рок 6

“опологи€ є6

ќчередна€ проблема. R3 €вл€етс€ объ€вл€емой сетью 3.3.3.0 / 24 через EBGP, а R2 устанавливает ее в таблицу маршрутизации. R1, однако, не имеет этой сети в своей таблице маршрутизации. ¬от конфигурации:

show run | section router bgp show run | section router bgp show run | section router bgp

¬от конфигурации. ƒл€ простоты мы используем IP-адреса физического интерфейса дл€ настройки соседей BGP.

show ip route bgp

ћы можем проверить, что сеть 3.3.3.0 / 24 находитс€ в таблице маршрутизации R2.

R1#show ip route bgp

ќднако в таблице маршрутизации R1 ничего нет. ѕервое, что мы должны проверить - это таблицу BGP.

show ip bgp

ћы видим, что он находитс€ в таблице BGP, и * указывает, что это допустимый маршрут. ќднако мы не видим символа >, который указывает лучший путь. ѕо какой-то причине BGP не может установить эту запись в таблице маршрутизации. ¬нимательно посмотрите на следующий IP-адрес прыжка (192.168.23.3). ƒоступен ли этот IP-адрес?

show ip route 192.168.23.3

R1 пон€ти€ не имеет, как достичь 192.168.23.3, поэтому наш следующий прыжок недостижим. ≈сть два способа, как мы можем справитьс€ с этой проблемой:

  • »спользуйте статический маршрут или IGP, чтобы сделать этот next hop IP-адрес доступным.
  • »змените next hop IP-адрес.

ћы изменим IP-адрес следующего прыжка, так как мы достаточно изучили применение статических маршрутов и IGPs.

R2(config)#router bgp 1
R2(config-router)#neighbor 192.168.12.1 next-hop-self

Ёта команда изменит IP-адрес следующего перехода на IP-адрес R2.

show ip bgp

“еперь мы видим символ >, который указывает, что этот путь был выбран как лучший. IP-адрес следующего перехода теперь 192.168.12.2.

show ip route bgp

”ра! “еперь он есть в таблице маршрутизации. ћы уже закончили? ≈сли наша цель состо€ла в том, чтобы она отобразилась в таблице маршрутизации, то мы закончили...однако есть еще одна проблема.

ping 3.3.3.3

Ќаш пинг не удалс€. R1 и R2 оба имеют сеть 3.3.3.0 / 24 в своей таблице маршрутизации, поэтому мы знаем, что они знают, куда пересылать IP-пакеты.

ƒавайте взгл€нем на R3:

show ip route

R3 получит IP-пакет с пунктом назначени€ 3.3.3.3 и источником 192.168.12.1. »з таблицы маршрутизации видно, что она не знает, куда отправл€ть IP-пакеты, предназначенные дл€ 192.168.12.1. »справим это:

R2(config)#router bgp 1
R2(config-router)#network 192.168.12.0 mask 255.255.255.0

ћы будем объ€вл€ть сеть 192.168.12.0 / 24 на R2.

show ip route bgp

“еперь R3 знает, куда отправл€ть трафик дл€ 192.168.12.0 / 24.

ping 3.3.3.3

ѕроблема устранена!

»тог урока: убедитесь, что IP-адрес следующего перехода доступен, чтобы маршруты могли быть установлены в таблице маршрутизации, и чтобы все необходимые сети были достижимы.