*КУБ - повний комплекс хмарних послуг!

Налаштування правил NAT

Для виходу в інтернет потрібно створити правило NAT для основного та резервного провайдера.

Налаштування правил NAT
Для виходу в інтернет

Маркування трафіку

Маркуємо вхідний та вихідний трафік для провайдерів ISP1 та ISP2.

Меню IP – Firewall – Mangle – нове правило. Вибираємо ланцюжок Prerouting, вхідний інтерфейс ISP1. Маркуємо з’єднання та задаємо ім’я марки From-ISP1. Для оптимізації навантаження вибираємо лише нові з’єднання.

Маркування трафіку
Маркуємо вхідний

Створюємо маркування роутингу для створеної марки з’єднання From-ISP1.

Створюємо маркування
маркування роутингу

Маркуємо правило роутингу output

Маркуємо правило
Маркуємо правило роутингу

Останнім правилом маркування для ISP1 буде ланцюжок output.

За аналогією створюємо і для другого. Повинно вийти так:

ланцюжок output.
За аналогією створюємо і для другого

Налаштування Routing Rules

Наступний етап, це налаштування правил та таблиць маршрутизації. Слід рознести трафік відповідними провайдерами. Створюємо Rule із src address першого оператора, впишемо вручну новий table.

Налаштування Routing Rules
налаштування правил

Порядок має значення. Необхідно вказати всі наші локальні мережі, трафік до них йтиметься через табличку main.

Порядок має значення

А тепер mark routing випустимо через відповідні таблички.

А тепер mark routing
mark routing випустимо

Створення таблиць маршрутизації

В основній таблиці маршрутизації потрібно створити 2 маршрути, основний та резервний. Для цього вам потрібно визначитися хто з них яку роль виконуватиме. Т.к. активний завжди буде один. У першого метрика 1

Створення таблиць маршрутизації
потрібно визначитися хто з них яку роль виконуватиме
активний завжди буде один

Відкриваємо table ISP1 та створюємо default route з будь-якою метрикою через шлюз провайдера.

Відкриваємо table ISP1

Аналогічно і для table ISP2

Аналогічно і для table ISP2

Обов’язково дамо коментарі записам у main. Загальний вигляд Route List наступний.

Обов’язково дамо коментарі

Для побудови відмовостійкої мережевої інфраструктури важливо не лише правильно налаштувати маршрутизацію та резервування каналів, а й використовувати VPS-хостинг зі стабільним мережевим підключенням, що забезпечить високу доступність сервісів і мінімізує простої.

Налаштування перемикання інтернет-каналів

Є кілька способів відстеження стану. Один з них – це перевірка провайдерського шлюзу arp або ping запитами в самому налаштуванні маршруту. Але він ефективний, т.к. gateway може бути і доступний, а доступ до інету за ним немає. Як один із варіантів, перевіряти доступність на основі пінг запитів будь-яких великих сервісів, які доступні цілодобово. Вбудованих засобів у Mikrotik немає, і тому будемо використовувати простенький скрипт нижче.

#Main interface name

:global MainIf ether1

#Failover interface name

:global RsrvIf ether2

:local PingCount 1

:local PingTargets {GW1; 8.8.8.8: GW2}

:local host

:local MainIfInetOk false

:local RsrvIfInetOk false

:local MainPings 0

:local RsrvPings 0

foreach host in=$PingTargets do={

:local res [/ping $host count=$PingCount interface=$MainIf]

:set MainPings ($MainPings + $res)

:local res [/ping $host count=$PingCount interface=$RsrvIf]

:set RsrvPings ($RsrvPings + $res)

:delay 1

}

:set MainIfInetOk ($MainPings >= 1)

:set RsrvIfInetOk ($RsrvPings >= 1)

:put “MainIfInetOk=$MainIfInetOk”

:put “RsrvIfInetOk=$RsrvIfInetOk”

:local MainGWDistance [/ip route get [find comment=”ISP1″] distance]

:local RsrvGWDistance [/ip route get [find comment=”ISP2″] distance]

:put “MainGWDistance=$MainGWDistance”

:put “RsrvGWDistance=$RsrvGWDistance”

if ($MainIfInetOk && ($MainGWDistance >= $RsrvGWDistance)) do={

/ip route set [find comment=”ISP1″] distance=1

/ip route set [find comment=”ISP2″] distance=2

:put “switched to main internet connection”

:log info “switched to main internet connection”

;tool e-mail send to=”admin@cube-host.net” subject “Mikrotik to main internet connection”

}

if (!$MainIfInetOk && $RsrvIfInetOk && ($MainGWDistance <= $RsrvGWDistance)) do={

/ip route set [find comment=”ISP1″] distance=2

/ip route set [find comment=”ISP2″] distance=1

:put “switched to reserve internet connection”

:log info “switched to reserve internet connection”

;tool e-mail send to=”admin@cube-host.net” subject “Mikrotik to reserv internet connection”

}

Основні параметри, які вам потрібно буде виправити:

Збережіть скрипт з іменем dual_wan

Збережіть скрипт з іменем dual_wan

Перевіряємо роботу в терміналі командою
/system script run dual_wan

Перевіряємо роботу в терміналі командою

Якщо налаштовано пошту, скрипт надішле лист про перемикання каналів.

Menu