Основи маршрутизації в MikroTik

Ця стаття пояснює що таке маршрутизація, як працює таблиця маршрутів, і як налаштувати статичні маршрути в RouterOS.

Що таке маршрутизація?

Маршрутизація — це процес вибору шляху для пакета даних від джерела до призначення.

Простий приклад

Уявіть, що ви надсилаєте лист:

┌──────────────────────────────────────────────────────┐
│                                                      │
│  Ваш дім (192.168.1.10)                             │
│       │                                              │
│       │ "Куди відправити пакет для 8.8.8.8?"        │
│       ▼                                              │
│  Роутер (192.168.1.1) ─────────────────────────────▶│
│       │                                              │
│       │ Дивиться в таблицю маршрутів:               │
│       │ "8.8.8.8 не в моїй мережі,                  │
│       │  відправлю через gateway 10.0.0.1"          │
│       ▼                                              │
│  Провайдер (10.0.0.1) ─────────────────────────────▶│
│       │                                              │
│       │ ... і так далі до Google                    │
│       ▼                                              │
│  Google DNS (8.8.8.8)                               │
│                                                      │
└──────────────────────────────────────────────────────┘

Роутер — це "пошта"

Роутер отримує пакет і вирішує:
1. Це для мене? → Обробляю
2. Це для моєї локальної мережі? → Відправляю напряму
3. Це кудись далі? → Відправляю через gateway

Таблиця маршрутизації

Що це?

Routing table — це "книга адрес" роутера. Для кожної мережі вказано куди відправляти пакети.

Як подивитися в MikroTik

/ip route print

Приклад виводу:

Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, s - STATIC
Columns: DST-ADDRESS, GATEWAY, DISTANCE
#   DST-ADDRESS        GATEWAY         DISTANCE
0 A c 192.168.1.0/24   ether1          0
1 A c 10.10.10.0/24    wg0             0
2 A s 0.0.0.0/0        192.168.1.254   1
3 A s 10.0.0.0/8       10.10.10.1      10

Пояснення колонок

Колонка Значення
Flags D=динамічний, A=активний, c=connected, s=статичний
DST-ADDRESS Мережа призначення (куди?)
GATEWAY Через кого відправляти
DISTANCE Пріоритет (менше = краще)

Типи маршрутів

Connected (c) — мережі, до яких роутер підключений напряму:

192.168.1.0/24 через ether1   роутер має IP в цій мережі

Static (s) — маршрути, додані вручну:

10.0.0.0/8 через 10.10.10.1   адмін сказав "йди туди"

Dynamic (D) — маршрути від протоколів (OSPF, BGP):

172.16.0.0/12 через 10.10.10.5   OSPF сказав "є шлях"

Default Gateway

Що це?

Default gateway — це "якщо не знаю куди, йди сюди".

Записується як 0.0.0.0/0 — означає "всі адреси".

Як налаштувати

/ip route add dst-address=0.0.0.0/0 gateway=192.168.1.254

Або коротше:

/ip route add gateway=192.168.1.254

Типова конфігурація

┌─────────────────────────────────────────────────────────┐
│                                                         │
│  LAN: 192.168.1.0/24                                   │
│       │                                                 │
│       │ ether2-4 (bridge)                              │
│       │                                                 │
│  ┌────▼────┐                                           │
│  │ MikroTik│  192.168.1.1                              │
│  │         │                                           │
│  └────┬────┘                                           │
│       │ ether1                                         │
│       │ 10.0.0.2                                       │
│       │                                                 │
│  ┌────▼────┐                                           │
│  │Провайдер│  10.0.0.1 ← default gateway              │
│  └─────────┘                                           │
│                                                         │
└─────────────────────────────────────────────────────────┘

Таблиця маршрутів:

0 A c 192.168.1.0/24   bridge1         0      локальна мережа
1 A c 10.0.0.0/24      ether1          0      мережа до провайдера
2 A s 0.0.0.0/0        10.0.0.1        1      default gateway

Статичні маршрути

Коли потрібні?

  1. Доступ до віддаленої мережі через певний gateway
  2. VPN тунелі — маршрути до мереж за тунелем
  3. Резервні шляхи — failover на інший канал

Синтаксис

/ip route add dst-address=МЕРЕЖА gateway=КУДИ distance=ПРІОРИТЕТ

Приклад 1: Маршрут до офісної мережі

# Офіс (10.20.0.0/24) доступний через VPN gateway 10.10.10.5
/ip route add dst-address=10.20.0.0/24 gateway=10.10.10.5
┌─────────────┐         ┌─────────────┐         ┌─────────────┐
│ Ви          │         │ Ваш роутер  │         │ Офіс        │
│ 192.168.1.10│────────▶│ 10.10.10.1  │─ VPN ──▶│ 10.20.0.0/24│
└─────────────┘         └─────────────┘         └─────────────┘
                              │
                              │ Таблиця:
                              │ 10.20.0.0/24 → 10.10.10.5 (VPN)

Приклад 2: Маршрут через WireGuard

# WireGuard peer має мережу 172.16.0.0/16
/ip route add dst-address=172.16.0.0/16 gateway=wg0

Приклад 3: Blackhole (заборона)

# Заблокувати доступ до мережі
/ip route add dst-address=10.99.0.0/24 type=blackhole

Distance та Metric

Distance (Administrative Distance)

Distance — це "довіра" до джерела маршруту.

Distance Джерело
0 Connected (напряму підключені)
1 Static routes (за замовчуванням)
20 eBGP
110 OSPF
200 iBGP
255 Unreachable

Менше = краще. Якщо є два маршрути до однієї мережі, перемагає з меншим distance.

Практичний приклад: Failover

# Основний канал (distance=1)
/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.1 distance=1 comment="main"

# Резервний канал (distance=10)
/ip route add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=10 comment="backup"
┌─────────────────────────────────────────────────────────┐
│                                                         │
│  Нормальний режим:                                     │
│                                                         │
│  MikroTik ──(distance=1)──▶ Main ISP ✓                 │
│           ──(distance=10)──▶ Backup ISP (standby)      │
│                                                         │
│  Якщо Main ISP падає:                                  │
│                                                         │
│  MikroTik ──(distance=1)──▶ Main ISP ✗ (недоступний)   │
│           ──(distance=10)──▶ Backup ISP ✓ (активний)   │
│                                                         │
└─────────────────────────────────────────────────────────┘

Check-gateway

Щоб failover працював автоматично:

/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.1 distance=1 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=10 check-gateway=ping

check-gateway=ping — роутер пінгує gateway і вимикає маршрут якщо він не відповідає.

Routing Mark (Policy Routing)

Що це?

Routing mark дозволяє різний трафік відправляти різними шляхами.

Приклад: VoIP через окремий канал

# 1. Маркуємо VoIP трафік
/ip firewall mangle add chain=prerouting protocol=udp dst-port=5060-5061 \
    action=mark-routing new-routing-mark=voip

# 2. Маршрут для маркованого трафіку
/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.1 routing-mark=voip

# 3. Звичайний маршрут для всього іншого
/ip route add dst-address=0.0.0.0/0 gateway=192.168.100.1
┌─────────────────────────────────────────────────────────┐
│                                                         │
│  VoIP трафік ──(mark=voip)──▶ ISP 1 (низька латентність)│
│                                                         │
│  Весь інший ──(без mark)────▶ ISP 2 (дешевший)         │
│                                                         │
└─────────────────────────────────────────────────────────┘

Troubleshooting

Перевірити маршрут для IP

/ip route check 8.8.8.8

Подивитися активні маршрути

/ip route print where active

Traceroute

/tool traceroute 8.8.8.8

Типові проблеми

Проблема: Немає доступу до Інтернету

# Перевірити default gateway
/ip route print where dst-address=0.0.0.0/0

# Перевірити DNS
/ip dns print
/ping 8.8.8.8
/ping google.com

Проблема: Немає доступу до VPN мережі

# Перевірити маршрут
/ip route print where dst-address~"10.20"

# Перевірити тунель
/interface wireguard peers print

Практичне завдання

Завдання

Налаштуйте маршрутизацію для такої схеми:

┌─────────────┐         ┌─────────────┐
│ LAN         │         │ Сервер      │
│ 192.168.1.0 │         │ 10.10.10.10 │
└──────┬──────┘         └──────┬──────┘
       │                       │
       │ ether2                │ wg0
       │                       │
  ┌────▼───────────────────────▼────┐
  │           MikroTik              │
  │                                 │
  │  ether1: 10.0.0.2               │
  │  ether2: 192.168.1.1            │
  │  wg0:    10.10.10.1             │
  └────────────────┬────────────────┘
                   │ ether1
                   │
              ┌────▼────┐
              │ ISP     │
              │ 10.0.0.1│
              └─────────┘

Рішення

# Default gateway до ISP
/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.1

# Якщо WireGuard peer має мережу 10.10.10.0/24, вона вже connected через wg0
# Додаткових маршрутів не потрібно

# Перевірка
/ip route print

Див. також

Шлях: networking/basics/routing.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications