MikroTik / RouterOS · Урок 6 ·

VPN на MikroTik: WireGuard, IPsec, L2TP

Віддалений доступ у мережу без VPN — це або прокинуті назовні порти, або дірки в безпеці. У цьому уроці піднімемо сучасний WireGuard за пʼять кроків, розберемо, коли натомість потрібні IPsec чи L2TP, і чому «тунель піднявся, а пінгу немає» — майже завжди питання allowed-address і фаєрвола.

Рівень: Advanced·~11 хв читання

← Усі уроки курсу «MikroTik / RouterOS з нуля»

Урок 6. VPN на MikroTik: WireGuard, IPsec, L2TP — курс SEOWORK

Три VPN на MikroTik і коли який

VPN на MikroTik буває для двох задач: зʼєднати два офіси (site-to-site) або дати співробітнику доступ у мережу з дому/дороги (roadwarrior). RouterOS уміє багато протоколів, але на практиці актуальні три:

  • WireGuard — сучасний, швидкий, простий. Нативний у RouterOS v7. Рекомендований за замовчуванням.
  • IPsec — індустріальний стандарт для site-to-site, сумісний із обладнанням інших вендорів, але складніший у налаштуванні.
  • L2TP/IPsec — зручний для roadwarrior: клієнт вбудований у Windows, macOS, Android, iOS без стороннього ПЗ.
Порада. Якщо обидві сторони — MikroTik (або є WireGuard-клієнт), бери WireGuard і не мучся. IPsec — коли на іншому кінці Cisco/Fortinet. L2TP/IPsec — коли треба підключати ноутбуки й телефони штатним клієнтом ОС.

WireGuard за пʼять кроків

WireGuard працює на ключах: у кожної сторони є приватний і публічний ключ, і вони обмінюються публічними. Логіка «інтерфейс + peers + allowed-address». На сервері (меню WireGuard):

# 1. створити wireguard-інтерфейс (ключі згенеруються самі)
/interface wireguard add name=wg0 listen-port=51820
# 2. дати йому адресу в окремій VPN-підмережі
/ip address add address=10.20.0.1/24 interface=wg0
# 3. підглянути свій публічний ключ (знадобиться клієнту)
/interface wireguard print
# 4. додати peer — клієнта, вставивши ЙОГО публічний ключ
/interface wireguard peers add interface=wg0 \
public-key=“КЛЮЧ_КЛІЄНТА” allowed-address=10.20.0.2/32
allowed-address — серце WireGuard. Це «які адреси доступні через цей peer». На сервері для клієнта вказують його VPN-адресу (10.20.0.2/32). На клієнті в allowed-address пишуть мережі, які треба маршрутизувати у тунель (наприклад 10.20.0.0/24 і локалку офісу, або 0.0.0.0/0, щоб пустити весь трафік). Помилка тут = «тунель піднявся, а пінгу немає».

Не забудь відкрити UDP-порт (51820) у фаєрволі ланцюга input, інакше зовнішній клієнт не достукається.

IPsec та L2TP коротко

IPsec (site-to-site) зʼєднує дві мережі шифрованим тунелем. Налаштування складніше: peer (адреса іншої сторони + спільний ключ), proposal (алгоритми шифрування), policy (які підмережі шифрувати). Головна граблі — несиметричні proposal/policy на двох кінцях: якщо алгоритми чи підмережі не збігаються, тунель не встановиться. IPsec вимагає, щоб обидві сторони описали дзеркальні політики.

L2TP/IPsec (roadwarrior) — коли треба підключати людей. Піднімаєш /interface l2tp-server, вмикаєш use-ipsec із спільним ключем, заводиш користувачів у /ppp secret. Далі співробітник додає VPN штатним клієнтом Windows/macOS/телефону — без встановлення додаткового ПЗ. Це головна перевага L2TP над WireGuard для масового підключення співробітників.

Типова помилка

Тунель є, доступу немає. Найпоширеніша ситуація з WireGuard: handshake пройшов, інтерфейс up — а пінгу до ресурсів немає. Причини майже завжди дві: (1) неправильний allowed-address — не вказано потрібні мережі, тож трафік не йде в тунель; (2) фаєрвол — забули дозволити VPN-підмережу у forward або UDP-порт у input. Друга класика — переплутати місцями публічні ключі сторін. Перевіряй handshake: у /interface wireguard peers print має оновлюватися last-handshake.

Домашнє завдання

  1. Підніми WireGuard-інтерфейс wg0 із адресою 10.20.0.1/24 і портом 51820.
  2. Відкрий UDP 51820 у фаєрволі (chain=input).
  3. Додай peer із публічним ключем клієнта і правильним allowed-address, підключись із телефону чи ноутбука.
  4. Перевір last-handshake — якщо оновлюється, тунель живий.

Часті питання

Для більшості задач — WireGuard: він нативний у RouterOS v7, швидкий і найпростіший у налаштуванні (ключі + peers + allowed-address). IPsec обирають для site-to-site із обладнанням інших вендорів (Cisco, Fortinet), а L2TP/IPsec — коли треба підключати ноутбуки й телефони штатним VPN-клієнтом операційної системи.

Дві типові причини. Перша — неправильний allowed-address: у ньому треба вказати мережі, які маршрутизуються в тунель, інакше трафік туди не йде. Друга — фаєрвол: не дозволено VPN-підмережу у forward або закритий UDP-порт у input. Перевір last-handshake у списку peers — якщо оновлюється, сам тунель живий.

Залежить від протоколу. Для WireGuard потрібен WireGuard-клієнт (є на всі платформи, безкоштовний). Для L2TP/IPsec клієнт уже вбудований у Windows, macOS, Android та iOS — нічого встановлювати не треба, тому L2TP зручний для масового підключення співробітників.

Зміст курсу

  1. Перше підключення
  2. Базове налаштування (IP/DHCP/NAT)
  3. Firewall RouterOS
  4. Wi-Fi, bridge та VLAN
  5. Маршрутизація і failover
  6. VPN (WireGuard/IPsec/L2TP)
  7. QoS, бекап і хардненг

Віддалений доступ налаштовано

Урок 7 — фінал: QoS, моніторинг, бекап і хардненг роутера.

Сподобалось? Поділіться — це найкраща підтримка

Розбори кіберзагроз від SEOWORK

Одна практична стаття на тиждень — як не купитися на фішинг, захистити акаунти й дані. У подарунок одразу памʼятка у PDF.

Практична перевірка · урок 6 з 7

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. WireGuard handshake є, але LAN за тунелем не пінгується. Що перевірити першочергово?
2. Що можна передавати іншій стороні WireGuard?
3. Коли IPsec часто доречніший за WireGuard?