OSPF и статические маршруты (in english)

Sometimes OSPF don’t update information about static routes.

We have:

  1. MikroTik router in office 192.168.0.254/24. Servers are located in this network.
    OSPF enabled
    OSPF cost to “Transit A” = 3
    OSPF cost to “Transit B” = 10

  2. MikroTik Main transit router (“Transit A”)
    OSPF enabled
    redistribute-static=as-type-1
    OVPN-Server for small offices

100 static routes via OVPN-tunnels to “small offices”
check gateway = ping

  1. MikroTik secondary transit router (“Transit B”), this router must route traffic if “Transit A” unreachable.
    OSPF enabled
    redistribute-static=as-type-1
    OVPN-Server for small offices

100 static routes over OVPN-tunnels to “small offices”
check gateway = ping

  1. 100 “small offices”, where we use MikroTik’s. This routers connected with OVPN tunnels to “Transit A” and “Transit B”
    OSPF not used
    OVPN-Client
    static routes
    check gateway = ping
    route distance to 192.168.0.0/24 via “Transit A” = 1
    route distance to 192.168.0.0/24 via “Transit B” = 10

This network work fine, but sometimes:
When OVPN link in “small office MT” to “Transit A” is down, static route to 192.168.0.0/24 via “Transit A” is unreachable.
All traffic goes via “Transit B”
OVPN Link in small office MT to “Transit A” is UP, static route to 192.168.0.0/24 via “Transit A” is reachable.
OSPF don’t update routing information. All traffic from 192.168.0.0/24 to “small office” goes via “Transit B”, but traffic from “small office” to 192.168.0.0/24 goes via “Transit A”
“Small office” unreachable from 192.168.0.254/24 and can’t connect to servers in 192.168.0.254/24
After re-enable ovpn-client in “small office” router, route information updates fine, all wokrs well.

Why it happens? How fix it?


Не всегда обновляется информация о статических маршрутах по OSPF.

Имеется:

  1. Роутер 192.168.0.254/24 в основном офисе, там же располагаются сервера, к которым должны иметь доступ все.
  2. Основной транзитный роутер (Транзит А) - через него маршрутизируется трафик от удаленных сетей в первую очередь
  3. Дополнительный роутер (Транзит Б)- через него должен маршрутизироваться трафик, если для клиента недоступен основной транзитный роутер.
    Настроен OSPF cost, от роутера 192.168.0.254/24 до Транзит А cost = 3, до Транзит Б cost=10

На транзитных маршрутизаторах настроен redistribute-static=as-type-1 и добавлены статические маршруты до подсетей маленьких офисов через адреса PPTP, которые назначаются при подключении маленького офиса по PPTP, в статических маршрутах настроено check gateway = ping

Имеются более 100 маленьких офисов, в которых установлены маршрутизаторы Mikrotik.
На каждом таком маршрутизаторе настроены PPTP туннели до транзитных маршрутизаторов и настроена статическая маршрутизация до подсети 192.168.0.0/24. Через Транзит А маршрут с метрикой 1, на Транзит Б с метрикой 10. Выставлена опция check gateway = ping

В общем данная схема работает и в случае недоступности Транзит А все идет через Транзит Б и наоборот.
Но иногда возникает ситуация:
Связь с Транзит А обрывается, маршрутизация перестраивается через Транзит Б, через какое то время Транзит А снова становится доступным, но маршрутизация обратно не перестраивается. Трафик из подсети 192.168.0.0/24 бегает через Транзит Б, а роутеры маленьких офисов пытаются слать трафик через статический маршрут через Транзит А, связь до маленьких офисов работать перестает.
Такое происходит не регулярно, в основном динамическая маршрутизация работает.

Почему такое может происходить и как это побороть? Возможно что-то не учтено при построении такого способа маршрутизации трафика? Переводить вообще все на OSPF не вариант.
OSPF_scheme 2.png

Это только на английском языке форуме.

Русский форум MikroTik - forum.mikrotik.ru. Советую там спросить, или же переспросить на английском- здесь это основной язык.


А в целом- у Вас роутеры в одном инстансе или разных? По вашей схеме лучше делать единый, так будут быстрее сходиться маршруты и правильно работать любые приоритеты.

\


Russian MikroTik forum - forum.mikrotik.ru. I recommend ask there or here on english - there is main language for forum.

Summary - your routers on one instance? At your sheme better make one instance - it makes fastest route recalculating and correct work of priorities.

Спасибо за замечание, перевел вопрос на английский.

Thank you for your comment, translated the question into English.

yes, routers in one instance.

router in 192.168.0.0/24
/routing ospf instance print
name=“default” router-id=192.168.0.254 distribute-default=never
redistribute-connected=no redistribute-static=no redistribute-rip=no
redistribute-bgp=no redistribute-other-ospf=no metric-default=1
metric-connected=20 metric-static=20 metric-rip=20 metric-bgp=auto
metric-other-ospf=auto in-filter=ospf-in out-filter=ospf-out

router “Transit A”
/routing ospf instance print
name=“default” router-id=192.168.251.254 distribute-default=never
redistribute-connected=no redistribute-static=as-type-1
redistribute-rip=no redistribute-bgp=no redistribute-other-ospf=no
metric-default=1 metric-connected=20 metric-static=20 metric-rip=20
metric-bgp=auto metric-other-ospf=auto in-filter=ospf-in
out-filter=ospf-out

router “Transit B”
/routing ospf instance print
name=“default” router-id=192.168.17.254 distribute-default=never
redistribute-connected=no redistribute-static=as-type-1
redistribute-rip=no redistribute-bgp=no redistribute-other-ospf=no
metric-default=1 metric-connected=20 metric-static=20 metric-rip=20
metric-bgp=auto metric-other-ospf=auto in-filter=ospf-in
out-filter=ospf-out