Sometimes OSPF don’t update information about static routes.
We have:
-
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 -
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
- 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
-
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.
Имеется:
- Роутер 192.168.0.254/24 в основном офисе, там же располагаются сервера, к которым должны иметь доступ все.
- Основной транзитный роутер (Транзит А) - через него маршрутизируется трафик от удаленных сетей в первую очередь
- Дополнительный роутер (Транзит Б)- через него должен маршрутизироваться трафик, если для клиента недоступен основной транзитный роутер.
Настроен 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 не вариант.
