Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Cisco Routing

Диагностика BGP для IPv6 (Troubleshooting BGP for IPv6)


Создана 24.09.2026
Отредактирована 26.09.2026
BGP для IPv4 и BGP для IPv6 настраиваются в одном и том же режиме конфигурации BGP-автономной системы. Это называется Multiprotocol BGP или сокращённо MP-BGP. Реализация BGP для IPv4 и IPv6 на одном маршрутизаторе требует использования address families (AF) и активации соседей (neighbors) для этих address families. В этом обзоре рассматриваются дополнительные проблемы, с которыми вы можете столкнуться при использовании MP-BGP с маршрутами IPv4 и IPv6 Unicast. Обратимся к Рисунку 1 при изучении диагностики BGP для IPv6.
Рисунок 1. Топология MP-BGP (MP-BGP Topology)
Существует два разных способа обмена IPv6-маршрутами через BGP. Вы можете обмениваться ими через IPv4 TCP-сессии или через IPv6 TCP-сессии. В Примере 1 показан образец конфигурации BGP, где IPv6-маршруты обмениваются через IPv4 TCP-сессию.
Обратите внимание, что здесь есть два address families: одно для IPv4 Unicast и одно для IPv6 Unicast. Соседи (neighbors) и номера удалённых автономных систем (remote AS) указываются вне конфигурации address family (AF). Затем вы активируете соседа внутри AF с помощью команды neighbor ip_address activate. В этом примере IPv6 AF использует IPv4-адрес соседа для установления TCP-сессии. Следовательно, TCP-сессия будет IPv4-based.
Пример 1. Конфигурация MP-BGP для IPv6-маршрутов через IPv4 TCP-сессию

R1#show run | s router bgp router bgp 65501 bgp log-neighbor-changes neighbor 2.2.2.2 remote-as 65502 neighbor 2.2.2.2 ebgp-multihop 2 neighbor 2.2.2.2 password CISCO neighbor 2.2.2.2 update-source Loopback0 ! address-family ipv4 network 10.1.1.0 mask 255.255.255.192 network 10.1.1.64 mask 255.255.255.192 network 10.1.1.128 mask 255.255.255.192 network 10.1.1.192 mask 255.255.255.192 aggregate-address 10.1.1.0 255.255.255.0 redistribute connected neighbor 2.2.2.2 activate exit-address-family ! address-family ipv6 network 2001:DB8:1::/64 neighbor 2.2.2.2 activate exit-address-family

Просмотр вывода команды show bgp ipv6 unicast summary, как показано в Примере 2, отображает соседство (neighbor adjacency) IPv6 Unicast AF, которое было установлено с маршрутизатором 2.2.2.2. Обратите внимание, что соседство было установлено с IPv4-адресом Unicast. Также в колонке State/PfxRcd (State/Prefix Received) указано значение 1 — от соседа 2.2.2.2 был изучен один IPv6-префикс (2001:DB8:2::/64).
Пример 2. Проверка соседств MP-BGP IPv6 Unicast

R1#show bgp ipv6 unicast summary BGP router identifier 1.1.1.1, local AS number 65501 BGP table version is 2, main routing table version 2 2 network entries using 336 bytes of memory 2 path entries using 208 bytes of memory 2/1 BGP path/bestpath attribute entries using 272 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 840 total bytes of memory BGP activity 11/0 prefixes, 18/6 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2.2.2.2 4 65502 25 25 2 0 0 00:12:02 1

📌 Ключевая тема
Чтобы проверить IPv6 Unicast-маршруты, изученные от всех соседей, можно выполнить команду show bgp ipv6 unicast, как показано в  Примере 3. Это отображает IPv6 BGP-таблицу. Маршрут 2001:db8:1::/64 является локально инициированным (locally originated), потому что next hop равен  :: , и он находится в таблице маршрутизации, на что указывает  *>  в начале записи. Изучите маршрут 2001:db8:2::/64. Это маршрут, который был изучен от R2 (сосед 2.2.2.2). Он не установлен в таблицу маршрутизации, на что указывает отсутствие  *> . Причина в том, что next hop недостижим. Адрес  ::FFFF:2.2.2.2  — это динамически сгенерированный next hop, созданный для замены исходного next hop 2.2.2.2. Это происходит потому, что IPv6-маршрут не может иметь IPv4-адрес next hop. Почему next hop был IPv4-адресом? Потому что соседство (adjacency) — это IPv4-соседство для IPv6 AF.
Пример 3. Проверка маршрутов MP-BGP IPv6 Unicast в IPv6 BGP-таблице

R1#show bgp ipv6 unicast BGP table version is 2, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 2001:DB8:1::/64 :: 0 32768 i * 2001:DB8:2::/64 ::FFFF:2.2.2.2 0 0 65502 i

📌 Ключевая тема
Чтобы решить эту проблему, нужно создать route map, который изменит next hop на действительный IPv6-адрес, и применить его к оператору neighbor. Теперь будьте очень внимательны: это нужно сделать на маршрутизаторе, который анонсирует маршрут, а не на том, который его получает. В Примере 4 route map настроен на R2, который изменяет next-hop адрес на 2001:db8:12::2. Затем route map применяется к соседу 1.1.1.1 в направлении outbound.
Пример 4. Изменение BGP next hop

R2#config t Enter configuration commands, one per line. End with CNTL/Z. R2(config)# route-map CHANGE_NH permit 10 R2(config-route-map)# set ipv6 next-hop 2001:db8:12::2 R2(config-route-map)# exit R2(config)# router bgp 65502 R2(config-router)# address-family ipv6 unicast R2(config-router-af)# neighbor 1.1.1.1 route-map CHANGE_NH out

Когда вы снова просмотрите вывод команды show bgp ipv6 unicast в Примере 5, next hop теперь является действительным (valid), и маршрут установлен в таблицу.
Пример 5. Проверка BGP next hop

R1#show bgp ipv6 unicast BGP table version is 3, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 2001:DB8:1::/64 :: 0 32768 i *> 2001:DB8:2::/64 2001:DB8:12::2 0 0 65502 i

При формировании IPv6 TCP-сессий и соседских отношений (neighbor relationships) вам не нужно беспокоиться о проблеме, описанной выше. Однако вы должны убедиться, что определили IPv6-соседа и активировали его. Взгляните на Пример 6. Чтобы сформировать IPv6 TCP-сессию, вы определяете соседа с помощью команды neighbor ipv6_address remote-as autonomous_system_number вне конфигурации AF, а затем активируете соседа в конфигурации IPv6 AF с помощью команды neighbor ipv6_address activate.
Пример 6. Конфигурация MP-BGP для IPv6-маршрутов через IPv6 TCP-сессию

R1#show run | section router bgp router bgp 65501 bgp log-neighbor-changes neighbor 2.2.2.2 remote-as 65502 neighbor 2.2.2.2 ebgp-multihop 2 neighbor 2.2.2.2 password CISCO neighbor 2.2.2.2 update-source Loopback0 neighbor 2001:DB8:12::2 remote-as 65502 ! address-family ipv4 network 10.1.1.0 mask 255.255.255.192 network 10.1.1.64 mask 255.255.255.192 network 10.1.1.128 mask 255.255.255.192 network 10.1.1.192 mask 255.255.255.192 aggregate-address 10.1.1.0 255.255.255.0 redistribute connected neighbor 2.2.2.2 activate no neighbor 2001:DB8:12::2 activate exit-address-family ! address-family ipv6 network 2001:DB8:1::/64 neighbor 2001:DB8:12::2 activate exit-address-family

Вывод команды show bgp ipv6 unicast summary, как показано в Примере 7, показывает, что R1 сформировал IPv6 BGP-соседство (neighbor adjacency) с устройством 2001:db8:12::2, используя IPv6 TCP-сессию, и что был получен один префикс. IPv6 BGP-таблица, как показано в выводе команды show bgp ipv6 unicast в Примере 8, указывает, что 2001:DB8:2::/64 может быть достигнут с next hop 2001:DB8:12::2, и что маршрут установлен в таблицу маршрутизации, на что указывает  *> .
Пример 7. Соседства MP-BGP с IPv6 TCP-сессиями

R1#show bgp ipv6 unicast summary BGP router identifier 1.1.1.1, local AS number 65501 BGP table version is 5, main routing table version 5 2 network entries using 336 bytes of memory 2 path entries using 208 bytes of memory 2/2 BGP path/bestpath attribute entries using 272 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 840 total bytes of memory BGP activity 12/1 prefixes, 22/10 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2001:DB8:12::2 4 65502 5 5 4 0 0 00:00:05 1

Пример 8. Проверка IPv6 BGP-таблицы

R1#show bgp ipv6 unicast BGP table version is 5, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 2001:DB8:1::/64 :: 0 32768 i *> 2001:DB8:2::/64 2001:DB8:12::2 0 0 65502 i

Ключевые термины, сохраненные в скобках:
Термин
Пояснение
MP-BGP (Multiprotocol BGP)
Многопротокольный BGP
Address family (AF)
Адресное семейство
IPv4 TCP session
TCP-сессия на основе IPv4
IPv6 TCP session
TCP-сессия на основе IPv6
Neighbor adjacency
Соседство
Locally originated
Локально инициированный
Next hop
Следующий шлюз
Route map
Карта маршрутов
RIB-failure
Отказ RIB
💡 Дополнительное пояснение

Два способа обмена IPv6-маршрутами

Способ
TCP-сессия
Адрес соседа
Next hop
Через IPv4
IPv4
IPv4-адрес (2.2.2.2)
::FFFF:2.2.2.2  (динамический)
Через IPv6
IPv6
IPv6-адрес (2001:DB8:12::2)
2001:DB8:12::2 (нативный)
Почему возникает проблема с  ::FFFF:2.2.2.2 
  • IPv6-маршрут не может иметь IPv4-адрес next hop.
  • Когда соседство установлено через IPv4 TCP-сессию, BGP получает IPv4 next hop (2.2.2.2).
  • Чтобы «вписать» его в IPv6-таблицу, IOS создаёт динамический next hop  ::FFFF:2.2.2.2  (IPv4-mapped IPv6 address).
  • Этот адрес недостижим (нет маршрута), поэтому маршрут не устанавливается в таблицу.
Как исправить
Способ
Команда
Где применять
Route map
set ipv6 next-hop 2001:db8:12::2 
На анонсирующем маршрутизаторе (R2), в направлении out
IPv6 TCP-сессия
neighbor 2001:DB8:12::2 remote-as 65502 
На обоих маршрутизаторах
📌 Ключевая тема
Два способа обмена IPv6-маршрутами:
1. Через IPv4 TCP-сессию — проще в настройке, но требует route map для корректного next hop.
2. Через IPv6 TCP-сессию — требует IPv6-адресов на интерфейсах, но не требует route map.
Выбор зависит от:
  • Есть ли у вас IPv6-адреса на интерфейсах.
  • Хотите ли вы избежать дополнительной настройки route map.
⚠️ Важное предупреждение
Route map для изменения next hop нужно применять на АНОНСИРУЮЩЕМ маршрутизаторе, а не на получающем!
  • Если применить на получающем — маршрут не установится (next hop всё ещё будет IPv4).
  • Если применить на анонсирующем — маршрут придёт с корректным IPv6 next hop.
В примере: route map настроен на R2 (анонсирует) и применён к соседу 1.1.1.1 out. R1 (получает) просто видит корректный next hop.

Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
Сувенирная и брендированная продукция с персонажами из любимых игр.
RetraR — Компьютерные игры для Nintendo Game Boy
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR в VK
Канал - RetraR в Telegram
Канал - RetraR в Telegram

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.