Серверное оборудование для бизнеса — надёжные решения для любых задач Подробнее →
Статья

Настройка OSPF на MikroTik: пошаговое руководство

OSPF — протокол динамической маршрутизации, который спасает жизнь когда у вас больше двух-трёх точек и статические маршруты превращаются в ад. Мы использовали его для связи пяти филиалов компании через арендованные каналы, и MikroTik оказался вполне достойной заменой дорогим Cisco-решениям.

Зачем OSPF вместо статики

Пока у вас два роутера — статические маршруты справляются. Добавляете третий — уже нужно следить, чтобы на всех трёх всё было согласовано. При пяти узлах это превращается в таблицу из 20+ записей, которую нужно обновлять вручную при каждом изменении топологии.

OSPF сам строит карту сети (LSDB — Link State Database), сам считает оптимальные маршруты по алгоритму Дейкстры, сам реагирует на падение линка. Добавили новый роутер — он объявил себя соседям, обменялся LSA-пакетами, и через несколько секунд весь трафик перестроен.

Наша схема: 5 филиалов

Офис (HQ)     — 192.168.1.0/24  — Area 0 (backbone)
Склад         — 192.168.2.0/24  — Area 0
Производство  — 192.168.3.0/24  — Area 1 (stub)
Магазин 1     — 192.168.4.0/24  — Area 1 (stub)
Магазин 2     — 192.168.5.0/24  — Area 1 (stub)

HQ и Склад — в backbone Area 0. Производство и магазины — в Area 1, которая объявлена stub: внешних маршрутов не получают, только default route от ABR (Area Border Router на HQ).

Настройка на MikroTik RouterOS

Все команды через терминал (SSH или Winbox Terminal).

Шаг 1: Включаем OSPF и создаём инстанс

/routing ospf instance
add name=default router-id=192.168.1.1

router-id — уникальный идентификатор роутера в домене OSPF. Обычно берут IP основного интерфейса.

Шаг 2: Создаём Area

# Area 0 (backbone) — уже есть по умолчанию в RouterOS 7
/routing ospf area
add name=backbone area-id=0.0.0.0 instance=default

# Area 1 — stub
add name=area1 area-id=0.0.0.1 instance=default type=stub

Шаг 3: Добавляем интерфейсы

/routing ospf interface-template
add interfaces=ether1 area=backbone
add interfaces=ether2 area=backbone

Шаг 4: Настройка на филиальном роутере (например, Склад)

/routing ospf instance
add name=default router-id=192.168.2.1

/routing ospf area
add name=backbone area-id=0.0.0.0 instance=default

/routing ospf interface-template
add interfaces=ether1 area=backbone

Проверка adjacency

После настройки смотрим, поднялось ли OSPF-соседство:

/routing ospf neighbor print

Должны увидеть соседей в состоянии full. Если состояние застряло на 2-way или exstart — проблема в MTU или аутентификации.

Проверяем таблицу маршрутов:

/ip route print where routing-mark=""

Маршруты от OSPF помечены флагом DAo (Dynamic, Active, OSPF).

DR и BDR: кто главный

На широковещательных сетях (Ethernet) OSPF выбирает DR (Designated Router) и BDR (Backup DR), чтобы не устраивать flood LSA между всеми узлами. Выбор идёт по приоритету, при равных — по router-id.

Если хотите, чтобы конкретный роутер всегда был DR:

/routing ospf interface-template
add interfaces=ether1 area=backbone priority=100

По умолчанию priority=1. Если priority=0 — роутер никогда не станет DR.

Cost-метрики

OSPF выбирает путь с наименьшей суммарной метрикой (cost). По умолчанию cost считается как 100 Mbit / bandwidth. Для гигабитных линков это даёт cost=1, для 100 Mbit — cost=1 тоже (минимум). Это неудобно.

Лучше задавать cost вручную:

/routing ospf interface-template
add interfaces=ether1 area=backbone cost=10

Можно выстроить приоритет каналов: основной с cost=10, резервный с cost=100.

Troubleshooting

  • Соседство не поднимается — проверьте, совпадает ли hello-interval и dead-interval на обоих концах (по умолчанию 10 и 40 секунд).
  • Маршруты не появляются — убедитесь, что сеть входит в правильную Area.
  • Петли маршрутизации — скорее всего проблема в неправильной настройке redistribution.
/routing ospf instance
set default in-filter=ospf-in out-filter=ospf-out

Итог

MikroTik с RouterOS 7 нормально справляется с OSPF даже в среднем по размеру корпоративном окружении. Основная экономия — в цене: CHR-лицензия или железный hEX стоят в разы дешевле Cisco ISR. Функциональность для большинства задач — сопоставимая.

3 Ответа

  1. MikroTik реально выигрывает по цене, за те деньги что Cisco берёт за один роутер можно взять штук пять hEX и ещё останется. Для небольших офисов самое то.

  1. А почему OSPF, а не BGP? Просто для таких задач иногда удобнее iBGP внутри, особенно если планируется рост сети и нужна гибкость в управлении маршрутами.

  1. Спасибо за статью, как раз разбираюсь с маршрутизацией на работе. Наконец-то понял что такое DR и BDR, объяснение очень понятное.