Настройка 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. Функциональность для большинства задач — сопоставимая.
MikroTik реально выигрывает по цене, за те деньги что Cisco берёт за один роутер можно взять штук пять hEX и ещё останется. Для небольших офисов самое то.