Good

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

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

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

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

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

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

flowchart TB
    PC[💻 Ваш ПК<br/>192.168.1.10]
    Router[🔀 Роутер<br/>192.168.1.1]
    ISP[🌐 Провайдер<br/>10.0.0.1]
    Google[☁️ Google DNS<br/>8.8.8.8]

    PC -->|Куди 8.8.8.8?| Router
    Router -->|Не моя мережа →<br/>gateway 10.0.0.1| ISP
    ISP -->|...hop by hop...| Google

    Note1[/"Роутер дивиться<br/>в таблицю маршрутів"/]
    Router -.-> Note1

    style PC fill:#3b82f6,color:#fff
    style Router fill:#f59e0b,color:#000
    style ISP fill:#22c55e,color:#fff
    style Google fill:#ef4444,color:#fff

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

Роутер отримує пакет і вирішує:
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

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

flowchart TB
    subgraph LAN ["LAN: 192.168.1.0/24"]
        PC1[💻 PC1]
        PC2[💻 PC2]
        PC3[💻 PC3]
    end

    MikroTik[🔀 MikroTik<br/>LAN: 192.168.1.1<br/>WAN: 10.0.0.2]

    ISP[🌐 Провайдер<br/>10.0.0.1<br/>← default gateway]

    PC1 & PC2 & PC3 -->|ether2-4<br/>bridge| MikroTik
    MikroTik -->|ether1| ISP

    style MikroTik fill:#f59e0b,color:#000
    style ISP fill:#22c55e,color:#fff

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

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"
flowchart LR
    subgraph Normal ["Нормальний режим"]
        MK1[🔀 MikroTik]
        Main1[✅ Main ISP<br/>distance=1]
        Backup1[⏸️ Backup ISP<br/>distance=10<br/>standby]
        MK1 -->|active| Main1
        MK1 -.->|standby| Backup1
    end

    subgraph Failover ["Якщо Main ISP падає"]
        MK2[🔀 MikroTik]
        Main2[❌ Main ISP<br/>недоступний]
        Backup2[✅ Backup ISP<br/>активний]
        MK2 -.-x Main2
        MK2 -->|active| Backup2
    end

    style Main1 fill:#22c55e,color:#fff
    style Backup1 fill:#6b7280,color:#fff
    style Main2 fill:#ef4444,color:#fff
    style Backup2 fill:#22c55e,color:#fff

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