Блог Fixcom

Настройка MikroTik на два провайдера или инструкция по рекурсивной маршрутизации

про рекурсию


В Mikrotik есть механизм, называется check-gateway=ping в /ip route. Многие его используют в дефолтных маршрутах для проверки соединения до оборудования провайдера. В такой реализации Сheck-gateway=ping не видит, что происходит за шлюзом провайдера. А вот рекурсивная маршрутизация мониторит наличие интернета за шлюзом провайдера.

check-gateway=ping



Check-gateway=ping + рекурсия


Проверяется соединение до удаленного сервера, а не оборудование провайдера. В примере, если ping до 8.8.8.8 пропадает, происходит переключение на резервную линию.

Кейс


Есть удаленный сервер в Германии. К нему подключаются пользователи из офиса в Алматы. Иногда возникают проблемы с интернетом, не по нашей вине. Связь с сервером теряется. Решено подключить резервную линию интернета и настроить рекурсивную маршрутизацию в Mikrotik. У нас все IP-адреса белые и статичные. Настраиваем.

Дано:

172.16.1.1 - адрес шлюза основного интернет провайдера
172.16.2.1 - адрес шлюза резервного интернет провайдера
8.8.8.8 - адрес удаленного сервера в Германии

В Winbox



Правило 1

Правило 2

Правило 3

Итог



Через консоль

/ip route
add check-gateway=ping distance=1 gateway=8.8.8.8
add distance=1 dst-address=8.8.8.8/32 gateway=172.16.1.1 scope=10
add distance=2 gateway=172.16.2.1

Готово, при разрыве соединения до сервера 8.8.8.8 маршрутизатор переключится на резервную линию интернета и обратно, если пинг восстановится.

От автора

Существует несколько вариантов реализации рекурсивной маршрутизации. В данной статье описан самый простой. Единственный минус данного способа, это возникновение проблем в работе телефонии при переключении линка. Для решение проблемы можно настроить маршрутизацию с помощью ECMP + PCC + Mangle, но это уже совсем другая инструкция.
Made on
Tilda