Сети

Настройка OSPF через GRE и L2‑канал для отказоустойчивости

В Packet Tracer OSPF не распространяется через GRE‑туннель и L2‑канал. Узнайте, как объявить интерфейсы и задать тип сети, чтобы маршруты переключались.

Почему OSPF не распространяется в Cisco Packet Tracer, если между двумя объектами настроены два канала – GRE‑туннель и L2‑канал? Я хочу, чтобы при падении одного канала маршрутизация переключалась на другой. Ниже приведены конфигурации интерфейсов и OSPF на обоих объектах, но маршруты не обмениваются. Что может быть причиной и как исправить?

  • Сеть 192.168.20.0/24 и 192.168.36.0/24.
  • Интерфейсы: Tunnel0, GigabitEthernet0/0/0.10, GigabitEthernet0/0/0.236, GigabitEthernet0/0/1, и т.д.
  • OSPF: router-id, network 192.168.20.0 0.0.0.255 area 1, network 192.168.236.0 0.0.0.255 area 0 (на первом объекте) и аналогично на втором.
  • Соседство устанавливается, но маршруты не приходят.

Как правильно настроить OSPF, чтобы маршруты распространялись через оба канала и обеспечивалась отказоустойчивость?

Краткий ответ
OSPF не распространяется, потому что интерфейсы GRE и L2‑канала неправильно объявлены в OSPF.
Для GRE нужно явно задать тип сети point‑to‑point и использовать правильный маски wildcard (обычно /30), а интерфейс порт‑канала должен включаться в OSPF как broadcast.
После корректной настройки обеих ссылок маршруты появятся, а при падении одного канала маршрутизация автоматически переключится на другой.

Содержание


Проверка интерфейсов и их статуса

Прежде чем менять конфигурацию, убедитесь, что все интерфейсы находятся в состоянии up и имеют корректные IP‑адреса.

bash
show ip interface brief
show interfaces Tunnel0
show interfaces GigabitEthernet0/0/0.10
show interfaces Port-channel1

Если какой‑то интерфейс «shutdown» – включите его:
interface Tunnel0no shutdown.


Почему adjacency формируется, но LSA не обмениваются

  • Тип сети – GRE‑туннели по умолчанию объявляются как broadcast.
    ОSPF тогда ожидает наличие нескольких соседей, а пакеты LSA не проходят.
  • Wildcards – если в команде network указана маска 0.0.0.255, она не совпадает с IP‑адресом /30, поэтому OSPF не объявляет интерфейс.
  • Router‑ID – одинаковый router‑ID на двух роутерах приводит к конфликту; хотя adjacency может формироваться, LSAs не обмениваются.

Настройка GRE‑туннеля для OSPF

bash
interface Tunnel0
 ip address 192.168.20.1 255.255.255.252   ! /30
 ip ospf network point-to-point            ! критично
 no shutdown

Важно – маска /30 и wildcard 0.0.0.3 в network:

bash
router ospf 1
 router-id 10.0.0.1
 network 192.168.20.0 0.0.0.3 area 1   ! GRE

Согласно сообществу Cisco, для GRE‑туннеля обязательно задавать point‑to‑point тип сети, иначе LSAs не проходят.
Решено: проблема GRE-туннеля и OSPF – сообщество Cisco


Настройка L2‑канала (port‑channel) для OSPF

bash
interface GigabitEthernet0/0/0.10
 encapsulation dot1Q 10
 ip address 192.168.236.10 255.255.255.0
 no shutdown

interface Port-channel1
 ip address 192.168.236.1 255.255.255.0
 ip ospf network broadcast            ! тип сети по умолчанию
 no shutdown

В OSPF объявляем весь диапазон:

bash
router ospf 1
 network 192.168.236.0 0.0.0.255 area 0

Проверка и отладка OSPF

Команда Что показывает
show ip ospf neighbor Состояние соседей, их ID, область
show ip ospf interface Какие интерфейсы участвуют, тип сети, cost
show ip ospf database LSAs, которые роутер видит
debug ip ospf events Подробные события OSPF (помимо обычного debug ospf packet)

Если LSA не видны, проверьте, что wildcard в network соответствует IP‑адресу интерфейса и что тип сети правильный.


Обеспечение отказоустойчивости

  1. Настройте одинаковые hello/dead интервалы на обоих интерфейсах (по умолчанию 10 с и 40 с).

    bash
    interface Tunnel0
     ip ospf hello-interval 10
     ip ospf dead-interval 40
    
  2. Установите различный cost – более низкий для «первичного» канала, более высокий для резервного.

    bash
    interface GigabitEthernet0/0/0.10
     ip ospf cost 10
    interface Tunnel0
     ip ospf cost 100
    
  3. Проверьте, что router‑ID уникален на каждом роутере:
    router ospf 1router-id 10.0.0.1 и router-id 10.0.0.2.

При падении GRE‑туннеля OSPF автоматически пересчитает маршруты и использует L2‑канал, и наоборот.


Часто задаваемые вопросы

  • Проблема с TTL в GRE
    Убедитесь, что tunnel ttl 255 (по умолчанию 0 – не пересекает маршрутизаторы).

  • Packet Tracer не поддерживает OSPF на GRE
    В версиях < 7.2 некоторые функции ограничены; обновите до последней версии.

  • Маршруты не появляются, но show ip ospf neighbor показывает Full
    Проверьте, что network команды в OSPF действительно охватывают IP‑адреса интерфейсов.


Источники

  1. Решено: проблема GRE-туннеля и OSPF – сообщество Cisco
  2. Роутер с одной стороны GRE-туннеля не добавляет маршрут OSPF через туннель, в то время как роутер с другой стороны
  3. Трафик, отправленный в GRE-туннель, не проходит, но GRE-туннель поднят и OSPF-соседи сформированы
  4. Настройка GRE-туннеля поверх IPsec с OSPF – Cisco
  5. Руководство по настройке OSPF Cisco – тип сети

Заключение

  • Для успешного обмена OSPF‑LSAs через GRE‑туннель требуется point‑to‑point тип сети, правильные wildcard‑маски и включение интерфейса в OSPF.
  • L2‑канал (port‑channel) объявляется как broadcast, но может иметь более низкий cost, чтобы служить резервным маршрутом.
  • После исправления конфигурации маршруты появятся, а при падении одного канала маршрутизация автоматически переключится на другой.
  • Регулярно проверяйте статус соседей и LSAs с помощью команд show ip ospf neighbor и show ip ospf database, чтобы убедиться, что отказоустойчивость работает как задумано.
Авторы
Проверено модерацией
Модерация