Netwatch MikroTik – Резервування каналів на Мікротік

В цій статті, поговоримо про одну з важливих функцій мережевого обладнання – резервування каналів на маршрутизаторах MikroTik, а саме про інструмент Netwatch MikroTik. (Два провайдери на одному роутері)

Для початку розберемось, що таке резервування і для чого воно потрібне? Резервування каналів – це процес налаштування пристроїв для автоматичного перемикання на інший канал (Провайдер) в разі відмови основного з’єднання. Це важлива функція для забезпечення неперервності роботи мережі та забезпечення доступу до інтернету навіть у випадку проблем з основним провайдером.

Тепер під’єднаймось до нашого маршрутизатора MikroTik і налаштуємо резервування каналів за допомогою інструмента Netwatch.

Для налаштування будемо використовувати утиліту WinBox. В першу чергу нам потрібно налаштувати з’єднання з двома провайдерами. Ключове тут те, що маршрути обов’язково мають бути прописані вручну, DNS провайдерів використовувати теж не варто, якщо ви хочете, щоб ваша схема працювала (Використовуйте DNS сервери загальновідомі, наприклад 8.8.8.8). Не залежно від того який спосіб підключення надав вам ваш провайдер, більшість налаштувань потрібно робити вручну.

Припустимо у нас є налаштоване підключення до двох провайдерів (Стандартне налаштування де налаштовано DHCP Server/NAT/DNS):

vstavlene zobrazhennya 15

  1. ISP_1 маршрут відповідає першому провайдеру, який під’єднано до eth1.
  2. ISP_2 маршрут відповідає другому провайдеру підключеному до eth2.
Коментарі до маршрутів це обов’язкова умова налаштування резервування каналів на MikroTik, далі зрозумієте чому.

Після того як ми налаштували з’єднання з провайдерами, переходимо на вкладку Tools, далі на вкладку Netwatch і створюємо правило яке і буде регулювати перемикання між провайдерами.

  • 1Поле name можете не заповнювати, можете залишити пустим, воно ні на що не впливає. 
  • Поле host потрібно вписати адресу яку ми будемо пінгувати (Наприклад 1.1.1.1 або 8.8.8.8). Ця адреса має бути максимально стабільною, бо від цього залежить коректність відпрацювання правил. (Як приклад можна взяти IP адресу 1.1.1.1)
  • Тип перевірки обираємо simpl, тобто проста перевірка. Якщо у вас згодом, з’явиться бажання більш тонко налаштувати перевірку можете обрати тип ІСМР.
  • Поле interval, це поле відповідає за періодичність перевірок вказаної вище адреси, час перевірки встановлюйте залежно від ваших потреб, за роки використання netwatch, я для себе знайшов оптимальний час в 1 хвилину, ви можете обрати свій інтервал.
  • Поле timeout, це поле відповідає за час відгуку хоста, який ви моніторите. Залежно від того, що для вас є нормою по часу відгуку, такий час і виставляєте. Я для прикладу виставлю одиницю. Взагалі ідеальна затримка пінгу має бути менш як 40 мілісекунд, нормальним або більш менш терпимим є інтервал від 40 і приблизно до 110 мілісекунд.
  • Натискаємо Apply. Готово, правило створено.

Тепер нам потрібно додати маршрут від основного провайдера до адреси яку ми будемо моніторити. Для цього переходимо в IP —-> Route і створюємо правило /ip route add distance=1 dst-address=1.1.1.1/32 gateway=ether1) Рекомендую завжди писати коментарі, так потім легше розуміти що за що відповідає.  Якщо ви перейдете на вкладку Netwatch —-> Status, то тут ви можете побачити скільки перевірок було виконано.

Наступним кроком нам потрібно написати на вкладках Up і Down скрипти, які будуть перемикати наші канали. Вкладка Up буде відповідати за основного провайдера, Down з резервного.

Напишемо два скрипти. Перший рядок буде вмикати маршрут з коментарем ISP_1 і вимикати маршрут з коментарем ISP_2. (Саме тому ми й прописали маршрутам коментарі на самому початку) Натиснемо Apply. Тепер давайте те саме зробимо на вкладці Down, тільки тут все буде дзеркально маршрут ISP_1 вимикаємо, а маршрут ISP_2 вмикаємо.

Вкладка UP
  • /ip route enable [find comment=”ISP_1″]
  • /ip route disable [find comment=”ISP_2″] 
Вкладка Down
  • /ip route disable [find comment=”ISP_1″]
  • /ip route enable [find comment=”ISP_2″] 

23

Тобто у випадку коли маршрутизатор не зможе “достукатись” до ip адреси яку ми моніторимо, або інтервал відгуку буде перевищено, в такому випадку скрипт перемкнеться на резервного провайдера і буде на ньому працювати до моменту, поки не з’явиться стабільний зв’язок з IP адресою яку ми моніторимо. Після чого знову перемикнеться на основного провайдера.

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

Щоб цього уникнути, нам потрібно трошки модифікувати наші скрипти. Додамо скрипти, які під час перемикання каналів, будуть скидати всі TCP і UDP з’єднання. Таким чином ми уникнемо зависання неактивних з’єднань. (Можна обрати скрипт під ваші потреби. Всі 3 не потрібно використовувати!!!)

  • :foreach i in=[/ip firewall connection find protocol~”udp”] do={ /ip firewall connection remove $i } – Скидає udp з’єднання по черзі.
  • :foreach i in=[/ip firewall connection find protocol~”tcp”] do={ /ip firewall connection remove $i } – Скидає tcp з’єднання по черзі.
  • /ip firewall connection remove [find] – Скидає всі з’єднання одночасно.

І останнє що нам потрібно зробити, щоб завершити налаштування резервування на Mikrotik, потрібно додати одне правило у фаєрволі, яке забороняє пінгувати з резервного провайдера адресу яку ми моніторимо. (/ip firewall filter add action=drop chain=output protocol=icmp dst-address=1.1.1.1 out-interface=WAN_2) З цим правилом є певні дискусії, потрібно воно чи ні. Я особисто його завжди додаю, як то кажуть про всяк випадок. Їсти воно не просить і гірше точно не зробить.

4 5

У випадку, якщо ваш провайдер періодично міняє шлюз за замовчуванням (gateway), можна перейти на вкладку DHCP client–>Advanced і в полі Script прописати наступний скрипт /ip route set gateway=$”gateway address” numbers=[find comment=ISP1] Де ISP1 це коментар вашого маршруту, на якому шлюз за замовчуванням (gateway) періодично міняється. В такому випадку скрипт буде автоматично міняти шлюз за замовчуванням в route і все буде працювати коректно.

Отже, підіб’ємо підсумок. Резервування каналів на пристроях MikroTik Netwatch- це важлива функція для забезпечення надійності мереж. Попри деякі складнощі у налаштуванні, вона дозволяє забезпечити безперервний доступ до інтернету навіть у непередбачуваних ситуаціях.

Якщо у вас є питання або коментарі по Netwatch MikroTik, не соромтеся залишати їх у коментарях нижче.

Посилання на YouTube відео – https://youtu.be/WOQ747XokEI

0 0 votes
Rating
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Scroll to Top