Маршрутизація: статика, кілька провайдерів, failover
Один канал інтернету — це один пункт відмови. У цьому уроці навчимося прописувати статичні маршрути, розберемось із distance і check-gateway та зробимо автоматичний failover на два провайдери. І дізнаємось, чим failover відрізняється від балансування через PCC.
← Усі уроки курсу «MikroTik / RouterOS з нуля»

Статичні маршрути: gateway і distance
Маршрутизація — це правила «куди відправляти пакет для такої-то мережі». Мінімум, який уже працює після Уроку 2, — default route (0.0.0.0/0) у бік провайдера, який RouterOS отримав від DHCP-клієнта. Але статику варто вміти прописувати руками (меню IP > Routes):
/ip route add dst-address=0.0.0.0/0 gateway=192.0.2.1
# маршрут до віддаленої підмережі через конкретний шлюз
/ip route add dst-address=10.10.0.0/24 gateway=192.168.10.254
Параметр distance — «вага» маршруту. Що менше число, то пріоритетніший маршрут. Коли до однієї цілі є кілька шляхів, RouterOS обере з найменшою distance, а решту тримає в резерві. Саме на цьому будується failover.
Два провайдери і failover
Класична задача офісу: два канали, і якщо основний падає — трафік має піти в резервний автоматично. Найпростіший робочий спосіб — два default route з різною distance і перевіркою живості шлюзу check-gateway:
/ip route add dst-address=0.0.0.0/0 gateway=192.0.2.1 \
distance=1 check-gateway=ping
# резервний канал: distance=2 — вмикається, коли перший «помер»
/ip route add dst-address=0.0.0.0/0 gateway=198.51.100.1 \
distance=2 check-gateway=ping
Логіка: поки шлюз основного каналу відповідає на ping, працює маршрут із distance=1. Щойно шлюз перестав пінгуватися — RouterOS деактивує цей маршрут, і трафік перемикається на резервний (distance=2). Канал повернувся — усе автоматично їде назад на основний.
Балансування навантаження: PCC
Failover — це «резерв». А якщо треба, щоб обидва канали працювали одночасно й ділили навантаження? Для цього є PCC (Per Connection Classifier) — механізм у mangle, який розкидає зʼєднання між каналами за хешем (наприклад, за парою src-address+dst-address), позначаючи їх connection-mark і routing-mark.
PCC — тема не для першого тижня: там кілька правил mangle, окремі таблиці маршрутизації й masquerade на кожен канал. Головне зараз — знати, що балансування двох провайдерів на MikroTik робиться саме через PCC, і не плутати його з простим failover.
Коли статики замало: OSPF
Поки мереж дві-три — статичних маршрутів вистачає. Але коли підмереж десятки й вони змінюються, руками це вести нереально. Тоді вмикають динамічну маршрутизацію — найчастіше OSPF: роутери самі обмінюються інформацією про мережі й будують таблиці маршрутів. Це наступний рівень після цього курсу — просто знай, що такий інструмент є і куди рости.
Типова помилка
Домашнє завдання
- Подивись поточну таблицю маршрутів: /ip route print — знайди свій default route і його distance.
- Якщо є другий канал — додай резервний default route з distance=2 і check-gateway=ping.
- Вимкни основний канал і переконайся, що інтернет не зник (перемкнувся на резерв).
Часті питання
Додай два default route (0.0.0.0/0) з різною distance: основний з distance=1, резервний з distance=2, обидва з check-gateway=ping. Поки шлюз основного каналу пінгується, працює він; щойно шлюз «помер» — трафік автоматично перемикається на резервний, а після відновлення повертається назад.
Distance — це пріоритет (адміністративна відстань) маршруту. Що менше число, то вищий пріоритет. Коли до однієї мережі є кілька шляхів, RouterOS обирає маршрут із найменшою distance, а решту тримає в резерві. На цьому будується failover між провайдерами.
Failover тримає резервний канал у запасі й вмикає його лише коли основний падає — робиться через distance і check-gateway. Балансування (load balancing) задіює обидва канали одночасно й ділить між ними трафік — на MikroTik це роблять через PCC (Per Connection Classifier) у mangle. Це різні задачі й різні механізми.
Зміст курсу
Канал стійкий до збоїв
Урок 6 — піднімаємо VPN: WireGuard, IPsec і L2TP для віддаленого доступу.