Ошибка OSPF в MikroTik: discarding packet mismatched area id
Архитектура OSPF зон (Areas) и суть ошибки
Протокол динамической маршрутизации OSPF (Open Shortest Path First) использует иерархическую структуру зон (Areas) для снижения нагрузки на процессоры маршрутизаторов. Ошибка discarding packet: mismatched area id в логах MikroTik означает, что роутер получил OSPF Hello-пакет от соседа на определенном интерфейсе, но идентификатор зоны (Area ID), указанный в этом пакете, не совпадает с Area ID, настроенным на самом роутере для этого интерфейса. OSPF строго требует совпадения параметров зоны для формирования соседства (Adjacency). Симптомы: роутеры не становятся соседями (Neighbor State не переходит в Full, застревая в Init или 2-Way), маршруты не прилетают. Бизнес-риски: отсутствие связи между филиалами, петли маршрутизации, потеря отказоустойчивости L3-сети.
Параметры, обязательные для соседства OSPF
| Параметр OSPF Hello | Требование | Причина сбоя |
|---|---|---|
| Area ID | Строгое совпадение | Роутер А в Area 0.0.0.0, Роутер Б в Area 0.0.0.1. |
| Hello / Dead Intervals | Строгое совпадение | Настроены разные таймеры (по умолчанию 10/40 сек). |
| Subnet Mask | Строгое совпадение | Интерфейсы роутеров имеют разные маски (например, /24 и /30). |
| Authentication | Строгое совпадение | Несовпадение паролей MD5/SHA. |
Диагностика и устранение проблем соседства OSPF
Сценарий 1: Исправление Mismatched Area ID
Самая очевидная проблема — опечатка в настройке зоны (особенно при ручном вводе IP-адресов зон вместо формата 0.0.0.x).
- Откройте Routing -> OSPF.
- Перейдите на вкладку Areas. Убедитесь, что Area ID на обоих роутерах совпадает (обычно для Backbone зоны это
0.0.0.0). - Перейдите на вкладку Networks (или Interface Templates в RouterOS v7). Убедитесь, что нужная подсеть привязана именно к той Area, которая смотрит на соседа.
Сценарий 2: Решение проблем с масками подсетей
Частая скрытая причина: IP-адреса настроены неверно.
Пример конфликта масок:
Роутер A: IP 192.168.1.1/24 (Area 0)
Роутер B: IP 192.168.1.2/30 (Area 0)
Решение: Выровнять маски на интерфейсах!
/ip address
set [find address="192.168.1.2/30"] address=192.168.1.2/24Сценарий 3: Специфика RouterOS v7 (Новый движок OSPF)
В ROS v7 настройка OSPF радикально изменилась. Теперь зоны привязываются через Interface Templates.
Настройка OSPF в ROS v7
/routing/ospf/instance
add name=default
/routing/ospf/area
add instance=default name=backbone area-id=0.0.0.0
/routing/ospf/interface-template
add area=backbone networks=10.0.0.0/24 type=ptpТиповые ошибки администраторов
- Дублирование Router ID: Если оба роутера имеют одинаковый Router ID (например, скопированный конфиг), соседство не поднимется, хотя Area ID совпадает. Обязательно задайте уникальный Router ID (обычно это IP-адрес loopback интерфейса).
- Проблемы с типом сети (Network Type): Если на одном конце выставлен тип
Broadcast(требует DR/BDR), а на другомPoint-to-Point, соседство может подняться, но маршруты не попадут в таблицу (FIB). Тип сети (ptp, broadcast, nbma) должен совпадать.
Динамическая маршрутизация в крупных сетях требует грамотного дизайна (разделение на Areas, Stub-зоны, Route Summarization). Сетевые эксперты ITSTM переработают дизайн вашего OSPF-домена, устранят флаппинг линков и настроят BFD для мгновенной реакции на разрыв оптики.
Частые вопросы (FAQ)
Почему соседство висит в статусе 2-Way?
Статус 2-Way означает, что роутеры видят Hello-пакеты друг друга, но не могут перейти к обмену базами данных (LSDB). В Broadcast-сетях это нормально для роутеров (DROther), которые не являются DR или BDR. Если же это два главных роутера, проверьте MTU на интерфейсах (Mismatched MTU).
Обязательно ли использовать Area 0.0.0.0?
Да, OSPF требует наличия магистральной зоны (Backbone Area), к которой должны физически или виртуально (Virtual Link) подключаться все остальные зоны (Area 1, Area 2 и т.д.). Без Area 0 межзонная маршрутизация работать не будет.
Как принудительно перезапустить процесс OSPF на MikroTik?
В RouterOS v6 это делается отключением и включением инстанса: '/routing ospf instance disable default', а затем 'enable default'. В v7 OSPF работает как отдельный процесс, перезапуск интерфейса обычно решает проблему синхронизации.
Влияет ли фаервол на OSPF?
Да. OSPF использует собственный протокол IP с номером 89 (а не TCP/UDP). Убедитесь, что в IP -> Firewall -> Filter нет правил, блокирующих входящий трафик (Input) по протоколу OSPF, или разрешите IP мультикаст адреса 224.0.0.5 и 224.0.0.6.