VPN на MikroTik: полный гайд 2026 — WireGuard, L2TP/IPsec, IKEv2, настройка сервера и клиента

олное руководство по настройке VPN на MikroTik в 2025: WireGuard, L2TP/IPsec, IKEv2, SSTP. Пошаговые инструкции с командами CLI и WinBox, решение ошибок 789/809, настройка Firewall и маршрутизации трафика
⚡ Быстрый ответ
Настройка VPN на MikroTik: создай IP-пул, PPP-профиль и пользователей, включи L2TP-сервер с use-ipsec=required, открой порты UDP 500/4500/1701 и ESP в firewall, добавь NAT для VPN-подсети.
Для WireGuard — создай интерфейс wg0, назначь IP, добавь peer с публичным ключом клиента, открой UDP 51820. Всё это работает на RouterOS 7.x и занимает 15–30 минут.

Сотрудники не могут подключиться к офисной 1С из дома? Три офиса гоняют данные через интернет без шифрования? Провайдер блокирует нужные сервисы?

Знакомо. MikroTik — это не просто роутер за 50 евро. Это полноценная сетевая ОС RouterOS с нативной поддержкой WireGuard, L2TP/IPsec, IKEv2, SSTP, OpenVPN. Один раз настроил — и у тебя корпоративный VPN уровня Cisco. Только без ценника Cisco.

В этой статье — только практика. Без введения на 3000 слов. Каждый протокол — свой раздел, своя последовательность команд, свои грабли.

Что получишь на выходе:

  • Работающий VPN-сервер под любой протокол.
  • MikroTik как VPN-клиент — для подключения к внешнему VPN или другому офису.
  • Гибкую маршрутизацию: Split Tunnel, Policy Routing.
  • Разбор ошибок 789, 809 и проблем с MTU.
  • Готовые команды CLI — копируй и вставляй.
ℹ️ Версия RouterOS
Все команды проверены на RouterOS 7.x. На 6.x — большинство работает, но WireGuard доступен только с версии 7.1. Обновиться: /system package update install

Навигация по протоколу — иди сразу куда нужно:

Что нужно Куда
Настроить WireGuard-сервер → Раздел WireGuard
Настроить L2TP/IPsec → Раздел L2TP/IPsec
Настроить IKEv2 → Раздел IKEv2
MikroTik как клиент VPN → Раздел «Клиент»
VPN не работает / ошибка 789/809 → Troubleshooting

Выбор протокола: WireGuard vs L2TP/IPsec vs IKEv2 vs SSTP

Прежде чем лезть в консоль — выбери протокол. Это как антибиотик: широкий спектр не всегда лучшее решение. У каждого — своё показание.

Протокол Скорость Безопасность Сложность Поддержка клиентов Когда брать
WireGuard 🔥 Высокая Высокая Средняя Win 10+, Linux, macOS, iOS, Android Выбор №1 в 2026
L2TP/IPsec Средняя Высокая Средняя Все ОС из коробки Корпоративный парк Windows без доп. ПО
IKEv2 Высокая Очень высокая Высокая (сертификаты) Win 7+, iOS, Android (с приложением) Мобильные клиенты, частая смена сетей
SSTP Средняя Высокая Средняя Только Windows нативно Заблокированы стандартные порты VPN
PPTP Быстрая Дыры везде Простая Везде Не использовать.

Нет времени думать — бери WireGuard. Если клиенты — Windows без стороннего ПО — бери L2TP/IPsec. Едут в командировки, часто теряют связь — IKEv2. Всё заблокировано, только 443 живой — SSTP.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'lineColor': '#64748b',
    'fontSize': '15px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
    A["Нужен VPN на MikroTik"] --> B{"Клиенты\nбез доп. ПО?"}
    B -->|Да| C{"Только Windows?"}
    B -->|Нет| D["WireGuard\nUDP 51820"]
    C -->|Да| E["L2TP/IPsec\nUDP 500/4500"]
    C -->|Нет, мобильные| F["IKEv2\nUDP 500/4500"]
    D --> G["Быстро. Безопасно.\nНастраивается за 10 минут"]
    E --> H["Работает из коробки\nна всех ОС"]
    F --> I["Держит сессию\nпри смене 4G/Wi-Fi"]

    style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style D fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style E fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style F fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style G fill:#f0fdf4,stroke:#22c55e,stroke-width:2px,color:#15803d
    style H fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style I fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e40af

Подготовка: что нужно до начала

Прежде чем крутить конфиги — проверь аптечку. Без этого лечение не начнём.

✅ Чеклист подготовки
— RouterOS 7.x: проверь командой /system resource print
— Белый (публичный) IP на WAN-интерфейсе. Нет — нужен DDNS.
— WinBox или SSH/Telnet доступ к CLI.
— Знаешь свою топологию: LAN (например 192.168.88.0/24), WAN-интерфейс (например ether1).
— Провайдер не закрывает UDP 500, 4500. У части ISP это закрыто по умолчанию.

Нет статического IP? Включи DDNS

MikroTik умеет в динамический DNS из коробки. Включается одной командой:


/ip cloud set ddns-enabled=yes
/ip cloud print

В поле dns-name появится адрес вида xxxxxxxx.sn.mynetname.net. Вот его и давай клиентам вместо IP.

⚠️ IP Forwarding - включи до начала
Без этого VPN-клиенты не увидят твою локальную сеть. Проверь и включи: /ip settings set ip-forward=yes

Стоишь за CGNAT провайдера?

Если роутер за двойным NAT — VPN-сервер на нём не поднять. Провайдер просто не пустит трафик. Вариант один: поднять VPN на VPS с белым IP, MikroTik подключается к нему как клиент. Об этом — в разделе «MikroTik как клиент».

Белый IP: что это и где взять

Настройка L2TP/IPsec VPN-сервера на MikroTik

L2TP/IPsec — проверенный тяжеловес. Протокол из тех, что знал ещё до когда ты пришёл в профессию. Встроен в Windows, macOS, iOS, Android. Ставить ничего не надо — директор сам подключится из дома по инструкции на двух листах А4. Из минусов — двойная инкапсуляция (L2TP поверх IPsec) съедает немного скорости и CPU. Для офисных задач это не заметно.

Шаг 1: IP-пул для клиентов


/ip pool add name=vpn-pool ranges=192.168.200.2-192.168.200.254

Шаг 2: PPP-профиль


/ppp profile add name=vpn-profile \
  local-address=192.168.200.1 \
  remote-address=vpn-pool \
  dns-server=8.8.8.8,1.1.1.1 \
  use-encryption=yes

Шаг 3: Пользователи


/ppp secret add name=user1 password=SuperSecurePass123 profile=vpn-profile service=l2tp
/ppp secret add name=user2 password=AnotherPass456 profile=vpn-profile service=l2tp
🚨 Безопасность паролей
Никакого password=123456. Минимум 12 символов, буквы + цифры + спецсимволы. L2TP с weak-паролями ломают брутфорсом за часы. Там снаружи не скучают.

Шаг 4: Включение L2TP-сервера


/interface l2tp-server server set enabled=yes \
  default-profile=vpn-profile \
  use-ipsec=required \
  ipsec-secret=YourIPsecPreSharedKey2026

Параметр use-ipsec=required — только зашифрованные соединения. Значение yes разрешает и без IPsec. Не надо так.

Шаг 5: Алгоритмы шифрования IPsec

RouterOS создаёт IPsec-политику автоматически. Но лучше задай явно — некоторые клиенты не договариваются с дефолтными настройками:


/ip ipsec proposal set [ find default=yes ] \
  auth-algorithms=sha256 \
  enc-algorithms=aes-256-cbc \
  pfs-group=modp2048

Шаг 6: Открытие портов в Firewall

Без этого клиенты будут молча висеть и не подключаться. L2TP/IPsec требует четырёх правил:


# IKE - обмен ключами IPsec
/ip firewall filter add chain=input protocol=udp dst-port=500 \
  action=accept comment="IPsec IKE" place-before=0

# NAT-T - IPsec за NAT
/ip firewall filter add chain=input protocol=udp dst-port=4500 \
  action=accept comment="IPsec NAT-T" place-before=0

# L2TP
/ip firewall filter add chain=input protocol=udp dst-port=1701 \
  action=accept comment="L2TP" place-before=0

# ESP протокол
/ip firewall filter add chain=input protocol=ipsec-esp \
  action=accept comment="IPsec ESP" place-before=0

Шаг 7: NAT для VPN-клиентов


/ip firewall nat add chain=srcnat src-address=192.168.200.0/24 \
  action=masquerade out-interface=ether1 comment="NAT for VPN clients"

Замени ether1 на свой WAN-интерфейс.

Шаг 8: Доступ к локальной сети

Хочешь, чтобы клиенты видели принтеры, NAS, 1С — добавь маршрут в профиль:


/ppp profile set vpn-profile routes=192.168.88.0/24
✅ Проверка L2TP
Windows: Параметры → VPN → Добавить VPN → Тип: L2TP/IPsec с общим ключом. Введи IP роутера, логин, пароль и IPsec-ключ. Соединение должно установиться за 5–15 секунд.

Настройка WireGuard VPN-сервера на MikroTik

WireGuard — 4000 строк кода против 600 000 у OpenVPN. Меньше кода — меньше поверхности атаки. Меньше поверхности атаки — меньше инцидентов в 3 ночи. В RouterOS появился с версии 7.1 и с тех пор стал де-факто стандартом для новых установок. Аутентификация — только по публичным ключам. Никаких логинов-паролей. Это не баг — это фича.

Шаг 1: Создание интерфейса


/interface wireguard add name=wg0 listen-port=51820 mtu=1420

Сразу запиши публичный ключ сервера — он нужен для настройки клиентов:


/interface wireguard print detail
# Поле public-key - это серверный ключ для клиентских конфигов

Шаг 2: IP-адрес интерфейса


/ip address add address=10.10.10.1/24 interface=wg0

Шаг 3: Добавление клиентов (peers)

Сначала генерируй ключи на стороне клиента. В официальном WireGuard-клиенте (Windows/macOS) — кнопка «Добавить туннель» → «Создать из пустого». Берёшь публичный ключ клиента и добавляешь на сервере:


/interface wireguard peers add \
  interface=wg0 \
  public-key="CLIENT_PUBLIC_KEY_HERE==" \
  allowed-address=10.10.10.2/32 \
  comment="user1-laptop"

# Второй клиент
/interface wireguard peers add \
  interface=wg0 \
  public-key="CLIENT2_KEY==" \
  allowed-address=10.10.10.3/32 \
  comment="user2-phone"

Шаг 4: Firewall


# Открываем порт WireGuard
/ip firewall filter add chain=input protocol=udp dst-port=51820 \
  action=accept comment="WireGuard" place-before=0

# Форвардинг трафика из WireGuard-сети
/ip firewall filter add chain=forward in-interface=wg0 \
  action=accept comment="WG forward" place-before=0

Шаг 5: NAT


/ip firewall nat add chain=srcnat src-address=10.10.10.0/24 \
  action=masquerade out-interface=ether1 comment="WireGuard NAT"

Конфиг клиента (Windows / Linux / macOS)

Создай файл wg0-client.conf:


[Interface]
PrivateKey = CLIENT_PRIVATE_KEY_HERE
Address = 10.10.10.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = SERVER_PUBLIC_KEY_HERE
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0 — Full Tunnel, весь трафик через VPN. Нужен Split Tunnel — замени на 192.168.88.0/24, 10.10.10.0/24.

Скрипт добавления нового peer


:local peerKey "NEW_USER_KEY=="
:local peerIP "10.10.10.5/32"
:local peerComment "new-user"

/interface wireguard peers add \
  interface=wg0 \
  public-key=$peerKey \
  allowed-address=$peerIP \
  comment=$peerComment

:log info "WireGuard peer $peerComment added with IP $peerIP"
Настройка VLAN на MikroTik — следующий шаг

Настройка IKEv2 VPN на MikroTik

IKEv2 — золотой стандарт для мобильников. Телефон переключается с 4G на Wi-Fi в метро — туннель не рвётся. Для командировочных незаменим.

Минус один: нужны сертификаты. Без PKI не обойтись. Многие на этом месте закрывают вкладку и ставят L2TP. Не делай так — разберём по шагам, там ничего страшного.

Шаг 1: Создание CA


/certificate add name=ca-cert common-name=MikroTik-CA \
  key-size=2048 days-valid=3650 key-usage=key-cert-sign,crl-sign
/certificate sign ca-cert ca-certificate=ca-cert name=ca-cert

Шаг 2: Серверный сертификат


# Замени YOUR_SERVER_IP на реальный IP или FQDN
/certificate add name=server-cert common-name=YOUR_SERVER_IP \
  subject-alt-name=IP:YOUR_SERVER_IP \
  key-size=2048 days-valid=3650 \
  key-usage=digital-signature,key-encipherment,tls-server
/certificate sign server-cert ca-certificate=ca-cert name=server-cert

Шаг 3: Клиентский сертификат


/certificate add name=client-cert common-name=vpn-client \
  key-size=2048 days-valid=3650 key-usage=tls-client
/certificate sign client-cert ca-certificate=ca-cert name=client-cert

Шаг 4: IPsec — профиль, proposal, peer


/ip ipsec profile add name=ike2-profile \
  hash-algorithm=sha256 enc-algorithm=aes-256 \
  dh-group=modp2048 dpd-interval=2m dpd-maximum-failures=5

/ip ipsec proposal add name=ike2-proposal \
  auth-algorithms=sha256 enc-algorithms=aes-256-cbc pfs-group=modp2048

/ip ipsec mode-config add name=ike2-mode-config \
  address=192.168.201.0/24 address-pool=vpn-pool system-dns=no

/ip ipsec policy group add name=ike2-group
/ip ipsec policy add src-address=0.0.0.0/0 dst-address=0.0.0.0/0 \
  proposal=ike2-proposal group=ike2-group template=yes

/ip ipsec peer add name=ike2-peer address=0.0.0.0/0 \
  exchange-mode=ike2 certificate=server-cert \
  send-initial-contact=yes profile=ike2-profile \
  mode-config=ike2-mode-config policy-template-group=ike2-group \
  passive=yes notrack-chain=input

Шаг 5: Порты Firewall


/ip firewall filter add chain=input protocol=udp dst-port=500 \
  action=accept comment="IKEv2 IKE"
/ip firewall filter add chain=input protocol=udp dst-port=4500 \
  action=accept comment="IKEv2 NAT-T"
/ip firewall filter add chain=input protocol=ipsec-esp \
  action=accept comment="IKEv2 ESP"

Экспорт сертификатов для клиентов


/certificate export-certificate ca-cert type=pem
/certificate export-certificate client-cert type=pkcs12 export-passphrase=CertPassword123
# Файлы появятся в /Files - скачай через WinBox (Files → ПКМ → Download)

MikroTik как VPN-клиент

Иногда задача обратная: не принимать подключения, а самому подключиться к VPN-серверу. Все устройства в сети уходят в интернет через VPS в другой стране — или два офиса связываются через туннель без выделенной линии. Каналы связи дорогие, а WireGuard бесплатный. Математика простая. Вот как это настраивается.

Вариант А: WireGuard-клиент


# Создаём клиентский интерфейс
/interface wireguard add name=wg-client listen-port=51821 mtu=1420

# Смотрим свой публичный ключ - его нужно добавить на сервере как peer
/interface wireguard print detail

# Добавляем серверный peer
/interface wireguard peers add \
  interface=wg-client \
  public-key="SERVER_PUBLIC_KEY==" \
  endpoint-address=SERVER_IP \
  endpoint-port=51820 \
  allowed-address=0.0.0.0/0 \
  persistent-keepalive=25

# Назначаем IP, который выдал сервер
/ip address add address=10.10.10.100/24 interface=wg-client

Вариант Б: L2TP-клиент


/interface l2tp-client add name=l2tp-to-office \
  connect-to=OFFICE_VPN_SERVER_IP \
  user=vpn-user password=vpn-password \
  use-ipsec=yes ipsec-secret=SharedKey123 \
  profile=default disabled=no

Маршрутизация через туннель


# Весь трафик через VPN
/ip route add gateway=wg-client distance=1 comment="VPN default route"

# Только корпоративная подсеть
/ip route add dst-address=192.168.1.0/24 gateway=wg-client

Маршрутизация VPN-трафика: Policy Routing и Split Tunnel

Вот тут начинается интересное. И вот тут обычно ломают. Задача: одни устройства ходят через VPN, другие — напрямую. Или весь корпоративный трафик в туннель, Netflix — мимо.

Метод 1: Policy Routing по IP устройства

Ноутбук 192.168.88.50 идёт через VPN, все остальные — напрямую:


# Таблица маршрутизации
/routing table add name=vpn-table fib

# Маршрут через WireGuard в эту таблицу
/ip route add dst-address=0.0.0.0/0 gateway=wg0 routing-table=vpn-table

# Правило: трафик с ноутбука → vpn-table
/routing rule add src-address=192.168.88.50/32 table=vpn-table action=lookup

# NAT для трафика из vpn-table
/ip firewall nat add chain=srcnat src-address=192.168.88.50/32 \
  action=masquerade out-interface=wg0 comment="Policy NAT for laptop"

Метод 2: Mangle — маркировка трафика


/ip firewall mangle add chain=prerouting \
  src-address=192.168.88.50/32 \
  action=mark-routing new-routing-mark=use-vpn passthrough=yes

/ip route add dst-address=0.0.0.0/0 gateway=wg0 \
  routing-mark=use-vpn distance=1

Split Tunnel: только корпоративный трафик через VPN

Для L2TP/PPP-клиентов — через профиль:


/ppp profile set vpn-profile routes=192.168.88.0/24,10.0.0.0/8

Для WireGuard-клиентов — в конфиге клиента меняй AllowedIPs:


# Вместо AllowedIPs = 0.0.0.0/0
AllowedIPs = 192.168.88.0/24, 10.10.10.0/24

Безопасность VPN: изоляция клиентов

Поднял VPN — хорошо. Теперь сделай так, чтобы клиенты не лезли друг к другу.

Запрет общения VPN-клиентов между собой


# Для L2TP/PPP
/ip firewall filter add chain=forward \
  in-interface=l2tp-server out-interface=l2tp-server \
  action=drop comment="Block inter-VPN traffic L2TP"

# Для WireGuard
/ip firewall filter add chain=forward \
  in-interface=wg0 out-interface=wg0 \
  action=drop comment="Block WG client-to-client"

Ограничение доступа к конкретным ресурсам


# VPN-клиенты видят только файловый сервер 192.168.88.10
/ip firewall filter add chain=forward \
  src-address=192.168.200.0/24 dst-address=!192.168.88.10 \
  in-interface=l2tp-server action=drop \
  comment="VPN clients - only file server"

Одна сессия на пользователя


/ppp secret set user1 sessions-limit=1

Проверка подключений: как убедиться что всё работает

Настроил — проверь. Вот команды которые реально показывают что происходит.


# Активные L2TP-сессии
/ppp active print

# Состояние WireGuard peers - last handshake, rx/tx байты
/interface wireguard peers print detail

# Логи L2TP и IPsec в реальном времени
/log print follow where topics~"l2tp" or topics~"ipsec"

# Пинг из роутера через WireGuard-туннель
/ping 10.10.10.2 interface=wg0 count=4

# Текущие маршруты
/ip route print where active=yes

# Состояние NAT - убедись что правило активно
/ip firewall nat print stats
%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#f8fafc',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'noteBkgColor': '#fefce8',
    'noteTextColor': '#713f12',
    'noteBorderColor': '#fbbf24',
    'actorBkg': '#f8fafc',
    'actorBorder': '#94a3b8',
    'actorTextColor': '#1e293b',
    'fontSize': '15px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'sequence': {
    'mirrorActors': false,
    'messageAlign': 'center',
    'actorMargin': 120,
    'width': 160,
    'noteMargin': 12
  }
}}%%
sequenceDiagram
    participant C as Клиент
    participant WAN as MikroTik WAN
    participant TUN as Туннель wg0/l2tp
    participant LAN as LAN 192.168.88.0/24

    C->>WAN: Handshake (UDP 51820 / UDP 500+4500)
    WAN->>TUN: Создаёт туннель
    TUN->>C: Выдаёт IP из пула
    Note over C,TUN: VPN установлен
    C->>TUN: Трафик (зашифрован)
    TUN->>LAN: Форвард + NAT
    LAN->>TUN: Ответ
    TUN->>C: Ответ (зашифрован)

Типичные ошибки при настройке VPN на MikroTik и их лечение

Добро пожаловать в палату неотложной помощи. Разбираем по симптомам. Без «перезагрузи и посмотри» — это не диагностика, это молитва. У нас тут другой подход: смотрим логи, изолируем компонент, фиксим.

Ошибка 789: The L2TP connection attempt failed

IPsec не может установить соединение. Три основные причины: неверный Pre-Shared Key, заблокированы UDP 500/4500, или клиент и сервер не договорились по алгоритмам шифрования.

Диагностика ошибки 789 - план действий
1. Проверь что IPsec-ключ совпадает на сервере и клиенте — copy-paste, без пробелов.
2. Убедись что UDP 500 и 4500 открыты в firewall.
3. Проверь логи IPsec — там будет точная причина.
4. Попробуй упростить алгоритмы шифрования.

# Смотрим логи IPsec в реальном времени - пока клиент пытается подключиться
/log print follow where topics~"ipsec"

# Проверяем установленные SA (должны появиться при подключении)
/ip ipsec installed-sa print

# Проверяем что порты открыты
/ip firewall filter print where dst-port=500 or dst-port=4500

# Упрощаем алгоритмы - добавляем sha1 и aes-128 для совместимости
/ip ipsec proposal set [ find default=yes ] \
  enc-algorithms=aes-256-cbc,aes-128-cbc \
  auth-algorithms=sha256,sha1

Ошибка 809: VPN-подключение невозможно установить

🚨 Ошибка 809 - MikroTik за NAT провайдера
Это почти всегда CGNAT. IPsec и NAT — плохая компания. Нужно включить NAT Traversal на роутере. И добавить ключ реестра на Windows-клиенте.

# Включаем NAT Traversal
/ip ipsec profile set [ find default=yes ] nat-traversal=yes

На Windows-клиенте дополнительно добавь ключ реестра (запуск от администратора):


# PowerShell - запустить от администратора
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\PolicyAgent" `
  -Name "AssumeUDPEncapsulationContextOnSendRule" -Value 2 -Type DWord
# После - перезагрузка Windows обязательна

Туннель работает, но большие пакеты теряются (сайты не открываются)

Классика. VPN подключён, пинг проходит, но браузер зависает или открывает страницы очень медленно. Причина — MTU слишком большой, пакеты фрагментируются или дропаются.


# WireGuard - рекомендуемый MTU 1420
/interface wireguard set wg0 mtu=1420

# L2TP - снижаем до 1400
/interface l2tp-server server set max-mtu=1400 max-mru=1400

# MSS Clamping - автоматическая коррекция MTU для TCP
/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn \
  in-interface=wg0 action=change-mss \
  new-mss=clamp-to-pmtu comment="MSS Clamping WireGuard"

WireGuard: peer подключился, но трафик не идёт


# Смотрим на rx/tx bytes у peer
# Если tx растёт, а rx=0 - проблема на стороне клиента (его маршруты)
# Если оба нули - нет handshake
/interface wireguard peers print detail

# Проверяем маршруты
/ip route print where active=yes

# Проверяем NAT
/ip firewall nat print stats

# Пинг из роутера напрямую через туннель
/ping 10.10.10.2 interface=wg0 count=4

IKEv2: ошибка «Certificate not trusted»


# Проверяем что CA-сертификат подписан корректно
/certificate print detail where name=ca-cert
# Поле "trusted" должно быть yes

# Если нет - подписываем вручную
/certificate sign ca-cert ca-certificate=ca-cert name=ca-cert

# Проверяем что серверный сертификат подписан CA
/certificate print detail where name=server-cert
# Поле "ca" должно указывать на ca-cert

# Убедись что subject-alt-name в сертификате совпадает с IP/FQDN, к которому подключается клиент
/certificate print detail where name=server-cert
# Ищи строку "subject-alt-name"

L2TP: клиент подключился, но не пингует LAN


# Проверяем что ip-forward включён
/ip settings print | grep ip-forward
# Должно быть: ip-forward: yes

# Проверяем маршрут до LAN в профиле
/ppp profile print detail where name=vpn-profile
# Должны быть routes=192.168.88.0/24

# Проверяем активную сессию - какой IP получил клиент
/ppp active print detail

# Пинг из роутера к клиенту
/ping 192.168.200.2 count=4

WireGuard не стартует после перезагрузки роутера


# Проверяем что интерфейс не disabled
/interface wireguard print
# Колонка "D" - если стоит, интерфейс отключён

# Включаем
/interface wireguard enable wg0

# Проверяем автозапуск - WireGuard поднимается автоматически если не disabled
# Убедись что disable=no
/interface wireguard set wg0 disabled=no

AdGuard + VPN на MikroTik: DNS-фильтрация поверх туннеля

Отдельная история — когда хочется не просто шифровать трафик, но и фильтровать рекламу и трекеры для всей сети. Два пути.

Вариант 1: DoH (DNS over HTTPS) прямо на MikroTik


# RouterOS 7.x поддерживает DoH нативно
/ip dns set use-doh-server=https://dns.adguard.com/dns-query \
  verify-doh-cert=yes allow-remote-requests=yes

# Убираем обычные DNS-серверы
/ip dns set servers=""

Вариант 2: AdGuard Home на VPS + DNS через WireGuard

На VPS ставишь AdGuard Home, он слушает на порту 53. В настройках WireGuard-клиента на MikroTik прописываешь его IP как DNS-сервер:


# На MikroTik - DNS через туннель на VPS с AdGuard
/ip dns set servers=10.10.10.1 allow-remote-requests=yes
# 10.10.10.1 - IP WireGuard-интерфейса на VPS где стоит AdGuard

Все DNS-запросы клиентов пойдут зашифрованным туннелем на AdGuard. Реклама фильтруется до того как попадает в браузер.

VLESS на MikroTik: что реально можно сделать

Честный ответ: VLESS — не нативный протокол RouterOS. Это протокол из экосистемы Xray/V2Ray для обхода DPI. RouterOS его не поддерживает из коробки.

В RouterOS 7.x есть Container — запуск Docker-образов прямо на роутере. Работает только на устройствах с достаточным RAM: hAP ax², CCR, RB5009.

⚠️ VLESS через Container - для продвинутых
Это задача для инженеров с опытом. Требует внешнего хранилища (USB/SD), настройки veth-интерфейсов и понимания Docker. Для простого обхода блокировок — проще поднять Xray на отдельном VPS и подключить MikroTik через WireGuard.

# Включаем поддержку контейнеров (требует перезагрузки)
/system/device-mode/update container=yes

# После перезагрузки - устанавливаем пакет container
# Скачай с mikrotik.com → Extra Packages для своей архитектуры

# Добавляем контейнер с Xray
/container add remote-image=teddysun/xray interface=veth1 \
  logging=yes root-dir=disk1/xray \
  cmd="/usr/bin/xray run -config /etc/xray/config.json"

Если цель — обход блокировок для всей сети: подними Xray/VLESS на VPS, подключи MikroTik к нему через WireGuard, настрой Policy Routing для нужных устройств. Это надёжнее и проще в обслуживании.

DynDNS на MikroTik: полный гайд

Профилактика: как не сломать снова

Один раз правильно настроить — мало. Нужно чтобы это работало через полгода после того как ты об этом забудешь.

Мониторинг VPN-туннелей


# Скрипт проверки - добавь в Scheduler с запуском каждые 5 минут
/system scheduler add name=check-vpn interval=5m \
  on-event={
    :if ([/interface wireguard get wg0 running] = false) do={
      /log warning "WireGuard wg0 is DOWN"
      # Здесь можно добавить отправку уведомления в Telegram
    }
  }

Резервная копия конфига


# Экспорт конфига в файл
/export file=vpn-backup-2026

# Или полный бэкап (включая пароли)
/system backup save name=full-backup-vpn
Автобэкап MikroTik в Telegram — настройка за 20 минут

Автоматическое восстановление L2TP-клиента


# Если используешь MikroTik как клиент - включи dial-on-demand
/interface l2tp-client set l2tp-to-office dial-on-demand=no
# dial-on-demand=no - всегда держит соединение активным

FAQ — часто задаваемые вопросы

Почему L2TP/IPsec не подключается с первого раза?

Чаще всего три причины. Первая — неверный Pre-Shared Key: один лишний пробел и всё. Вторая — UDP 500 или 4500 заблокированы провайдером или файрволом. Третья — Windows-клиент за NAT: нужен ключ реестра AssumeUDPEncapsulationContextOnSendRule=2 и перезагрузка. Смотри в раздел Troubleshooting — там пошагово.

Как проверить что VPN-туннель действительно работает?


# WireGuard - смотрим last-handshake и трафик
/interface wireguard peers print detail

# L2TP - активные сессии
/ppp active print

# С клиента - проверь свой внешний IP
# Должен стать IP роутера, а не провайдерский

Что если у MikroTik нет белого IP (CGNAT)?

Поднять VPN-сервер напрямую не получится — провайдер не пустит входящий трафик. Варианта два: купить статический IP у провайдера (обычно 3–10$/мес.) или арендовать VPS с белым IP и поднять WireGuard-сервер там. MikroTik подключается к VPS как клиент — все устройства в сети получают VPN-выход через него.

Сколько клиентов выдержит MikroTik с WireGuard?

Зависит от железа. На hAP ac² (ARM, 128MB RAM) — реально 10–20 активных туннелей при умеренном трафике. На RB4011 или RB5009 — 50+ без проблем. Узкое место — CPU при шифровании. Смотри загрузку: /system resource print.

Можно ли использовать один MikroTik как сервер и как клиент одновременно?

Да. Создаёшь два разных WireGuard-интерфейса: wg0 — серверный (принимает клиентов), wg-client — клиентский (подключается к внешнему серверу). Разводишь маршрутами. Работает.

Почему после подключения VPN не виден интернет (только локальная сеть)?

Два места смотреть. Первое — NAT: убедись что есть правило masquerade для VPN-подсети через WAN-интерфейс. Второе — AllowedIPs в конфиге клиента: если там только локальные подсети — интернет и не пойдёт. Для Full Tunnel нужно AllowedIPs = 0.0.0.0/0.

Как добавить нового WireGuard-пользователя без перезапуска сервера?

WireGuard не требует перезапуска. Просто добавь новый peer — он начнёт работать немедленно:


/interface wireguard peers add \
  interface=wg0 \
  public-key="NEW_CLIENT_PUBLIC_KEY==" \
  allowed-address=10.10.10.10/32 \
  comment="new-employee"

Итоги

Ты прошёл весь путь: от выбора протокола до рабочего туннеля. Если всё заработало с первого раза — поздравляю, ты в меньшинстве. WireGuard — для нового, L2TP/IPsec — для корпоративных Windows-парков без стороннего ПО, IKEv2 — для мобильников в командировках. Каждый протокол — свои порты, свой firewall, своя логика.

Главное что нужно помнить: VPN на MikroTik — это не магия и не чёрный ящик. Это набор конфигурируемых компонентов: интерфейс, профиль, пользователи, firewall, NAT, маршруты. Сломалось — смотри логи, проверяй каждый компонент по цепочке. Отлаживается за 15 минут если знаешь где смотреть.

✅ Если не заработало - разберёмся
Опиши симптом в комментариях: какой протокол, какая ошибка, что показывает /log print. Постараюсь ответить по делу, без «перезагрузи и посмотри».
NTP на MikroTik: клиент и сервер — шпаргалка MikroTik с нуля до production — полный курс
Андрей Анатольевич
Author: Андрей Анатольевич

Руководитель ИТ / Кризис-менеджер 25 лет в IT: от инженера в МегаФоне до руководителя отдела. Знаю, как выглядит бардак: нестабильные сети, устаревшая инфраструктура, конфликты в команде, раздутые сроки. Помогаю бизнесу выходить из кризиса: навожу порядок в легаси, стабилизирую то, что разваливается, выстраиваю прогнозируемые процессы. Не раз возвращал к жизни ИТ-структуры — знаю цену хаосу. 📍 Ищу проект для полной реорганизации / стабилизации. 📬 Telegram: @over_dude ✉️ mail@it-apteka.com

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →

Мы ВКонтакте

IT-Аптека — советы, новости и помощь рядом.

Вступить в группу ВКонтакте →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх