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.