Траблшутинг маршрутизации IPv6: настройка и диагностика OSPFv3 и MP-BGP
- IPv6 шлюз недоступен из-за сбоев Neighbor Discovery Protocol (NDP / DAD failure).
- OSPFv3 сессия не устанавливается с ошибкой
Router ID is not configured. - MP-BGP анонсирует IPv6 префиксы с некорректным IPv4 Next-Hop адресом, приводя к недоступности трафика.
- В логах:
%OSPFv3-4-ERR_NO_ROUTER_ID: Process 1 could not allocate a router id.
1. Архитектура маршрутизации IPv6
В отличие от IPv4, IPv6 опирается на адреса канального уровня (Link-Local fe80::/10) для установления соседства по протоколам OSPFv3 и BGP, а вместо Broadcast ARP использует Multicast ICMPv6 Neighbor Solicitation/Advertisement.
2. Настройка OSPFv3 (Address Family Mode)
OSPFv3 требует обязательного ручного задания 32-битного Router ID (в формате IPv4 адреса):
! Включение маршрутизации IPv6 глобально
ipv6 unicast-routing
router ospfv3 1
router-id 1.1.1.1
address-family ipv6 unicast
exit-address-family
!
interface GigabitEthernet0/0/1
ipv6 address 2001:db8:acad:1::1/64
ipv6 enable
! Привязка интерфейса к процессу OSPFv3
ospfv3 1 ipv6 area 03. Конфигурация Multiprotocol BGP (MP-BGP) для IPv6
Классическая ошибка — согласование IPv6 сессии через IPv4 сессию без явной замены Next-Hop на IPv6 Link-Local/Global адрес:
router bgp 65001
bgp router-id 1.1.1.1
no bgp default ipv4-unicast
!
! Соседство по чистому IPv6 адресу
neighbor 2001:db8:acad:1::2 remote-as 65002
!
address-family ipv6 unicast
neighbor 2001:db8:acad:1::2 activate
! Анонс собственной IPv6 сети
network 2001:db8:acad:100::/56
! Использование Link-Local и Global Next-Hop
neighbor 2001:db8:acad:1::2 next-hop-self
exit-address-family4. Траблшутинг Neighbor Discovery и Link-Local связности
! Проверка таблицы соседей IPv6 (аналог arp -a)
show ipv6 neighbors
! Проверка смежности OSPFv3
show ospfv3 neighbor detail
! Проверка IPv6 RIB и BGP таблиц
show ipv6 route ospf
show bgp ipv6 unicast summary5. Проверка блокировок ICMPv6 в ACL
Если OSPFv3 или NDP не работают, проверьте списки доступа. ICMPv6 служебный трафик обязан быть разрешен:
ipv6 access-list ACL_SECURE_V6
permit icmp any any nd-na
permit icmp any any nd-ns
permit icmp any any router-solicitation
permit icmp any any router-advertisement
permit ospfv3 any any Частые вопросы (FAQ)
Почему OSPFv3 не стартует на чисто IPv6 маршрутизаторе без IPv4 адресов?
OSPFv3 по-прежнему использует 32-битный формат Router ID. Если на роутере нет ни одного настроенного IPv4 адреса, ядро OSPFv3 не может сгенерировать Router ID автоматически и требует ручной настройки: 'router-id X.X.X.X'.
Может ли OSPFv3 маршрутизировать одновременно IPv4 и IPv6?
Да, OSPFv3 с поддержкой Address Families (RFC 5838) позволяет транспортировать маршрутные базы IPv4 и IPv6 внутри единого управляющего процесса.
Зачем протоколам маршрутизации нужны Link-Local адреса (fe80::)?
Link-Local адреса уникальны только в пределах одного L2-сегмента. Их использование в качестве Next-Hop гарантирует, что пакет отправляется непосредственно прямому соседу на данном физическом линке.
Что такое DAD (Duplicate Address Detection) в IPv6?
Перед назначением IPv6-адреса сетевой стек отправляет запрос Neighbor Solicitation. Если кто-то отвечает, возникает ошибка 'Duplicate IPv6 address', и интерфейс переходит в состояние tentative/down.