OSPF Error: Virtual-Link configuration failure — Разрыв Area 0
Незвездная топология OSPF: изолированная зона не имеет прямого физического подключения к Area 0, либо Area 0 разделена на две части (Discontinuous Backbone). Virtual-Link не поднимается:
%OSPF-4-ERRRCV: Received invalid packet on Virtual-Link: Transit area 10 is STUB (Virtual-Links not allowed)
%OSPF-5-ADJCHANGE: Neighbor 10.255.255.2 on OSPF_VL0 from DOWN to DOWN, Neighbor Down: Interface down or detached
%OSPF-7-DEBUG: Virtual-Link lookup failed: Router ID 10.255.255.2 unreachable through transit area 10- Состояние Virtual-Link в
show ip ospf virtual-linksнаходится в статусеdownилиdisabled. - Межзонные маршруты (IA) из изолированной зоны не попадают в таблицу маршрутизации ядра сети.
- ABR не может построить сквозное дерево SPF до магистрали.
1. Ограничения стандарта для OSPF Virtual-Link (RFC 2328)
Virtual-Link — это логический туннель внутри OSPF, соединяющий изолированный ABR с магистральной зоной Area 0 через промежуточную зону (Transit Area). Критические условия работы:
- Транзитная зона (Transit Area) не может являться Stub или NSSA зоной (обязана быть Regular Area).
- В конфигурации Virtual-Link в качестве идентификатора соседа указывается OSPF Router ID (а не IP-адрес интерфейса!).
- Оба маршрутизатора должны иметь полный маршрут внутри транзитной зоны до Router ID противоположной стороны.
2. Диагностика состояния Virtual-Link
# Cisco IOS-XE
show ip ospf virtual-links
show ip ospf neighbor
show ip route ospf | include 10.255.255.2
# Junos
show ospf virtual-links
show ospf virtual-neighborhood3. Корректная конфигурация OSPF Virtual-Link
Пример соединения изолированного ABR (RID 10.255.255.2) с магистральным ABR (RID 10.255.255.1) через транзитную Area 1:
# На Backbone ABR (соединен с Area 0 и Area 1)
router ospf 1
router-id 10.255.255.1
area 1 virtual-link 10.255.255.2
# На изолированном ABR (соединен с Area 1 и Area 2)
router ospf 1
router-id 10.255.255.2
area 1 virtual-link 10.255.255.14. Junos OS: Конфигурация Virtual-Link
set protocols ospf area 0.0.0.1 virtual-link neighbor-id 10.255.255.2 transit-area 0.0.0.1 Частые вопросы (FAQ)
Почему в virtual-link указывается Router ID, а не IP-адрес соседа?
Virtual-Link строит маршрут через транзитную зону динамически на основе вычисления пути до указанного Router ID в базе LSDB Transit Area.
Можно ли построить Virtual-Link через несколько транзитных зон подряд?
Нет. Virtual-Link может проходить строго через одну транзитную зону. Если изолированную зону отделяют две промежуточные зоны, необходимо использовать GRE-туннель с выносом интерфейса в Area 0.
Передаются ли Hello-пакеты через Virtual-Link?
Да, маршрутизаторы обмениваются специальными Unicast Hello-пакетами поверх транзитной зоны для поддержания виртуальной смежности.
Какой бит устанавливается в LSA при работе через Virtual-Link?
Устанавливается бит DoNotAge (DNA, бит 0x8000 в LSA Age), чтобы предотвратить необходимость периодического обновления LSA каждые 30 минут через виртуальный линк.