Народный

Гайды

MikroTik как VPN-сервер 2026: WireGuard + Reality

Команда vpn-rating.xyz · · обновлено 31 мая 2026 г. · ⏱ 6 мин
§ в этой статье — 23 разделов

MikroTik — это, по сути, маленький Linux в коробке с заводской прошивкой RouterOS. У него заметно более крутая кривая обучения, чем у Keenetic или Asus, но и возможности другие. RouterOS 7.x — это полноценный маршрутизатор enterprise-уровня по цене домашнего: BGP, OSPF, скриптовый язык, файрвол с десятками таблиц, контейнеры (аналог Docker) с версии 7.4.

Этот гайд покрывает два сценария: MikroTik как VPN-сервер (раздаёт WG-пиры наружу — себе на ноут, в семью, для офиса) и MikroTik как VPN-клиент (роутер выходит в интернет через зарубежный туннель). А заодно — как поднять VLESS Reality на RouterOS через container-пакет.

Какие модели MikroTik подходят

Для дома и небольшого офиса в 2026 году осмысленны эти модели:

МодельЦена (РФ)WG-скоростьОсобенности
hAP ac²5500 ₽~120 Мбит/сWi-Fi 5, 5 портов LAN
hAP ax²8500 ₽~350 Мбит/сWi-Fi 6, ARM Cortex-A53
hAP ax³12 000 ₽~450 Мбит/сУсиленная антенна
RB5009UG+S+IN17 000 ₽~700 Мбит/сБез Wi-Fi, для гик-сборок
CCR2004-1G-12S+2XS38 000 ₽~1.5 Гбит/сSFP-роутер для офиса
Chateau LTE1214 000 ₽~200 Мбит/сLTE-модем встроен

Для домашних задач — hAP ax² оптимальный баланс цена/производительность.

Подготовка: обновить RouterOS до 7.x

Если у вас MikroTik с RouterOS 6, обновите его до 7.x обязательно — на 6.x нет WireGuard. В Winbox → System → Packages → Check For Updates, выбрать channel stable, нажать Download&Install. Роутер перезагрузится.

После обновления проверьте, что версия 7.10 или выше:

/system resource print

Должно быть version: 7.10.x или новее.

Сценарий 1: WireGuard-сервер на MikroTik

MikroTik как WG-сервер — это удобно, когда:

  • Вы хотите подключаться домой из офиса/командировки и пользоваться ресурсами домашней сети (NAS, медиа-сервер, камеры).
  • Вы хотите дать родителям/жене VPN до вашего домашнего интернета (например, у них в стране Tinder/Spotify блокируется, а у вас — нет).
  • Вы поднимаете двойной VPN: дом → MikroTik → VPS → интернет.

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

В Winbox → WireGuard → +:

  • Name: wg-server
  • Listen Port: 51820
  • MTU: 1420
  • Private Key: оставить пустым (сгенерируется автоматически)

Или через CLI:

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

Шаг 2: Получить публичный ключ сервера

/interface wireguard print

Запишите public-key — он нужен будет на клиентах.

Шаг 3: Назначить адрес туннелю

/ip address add address=10.20.30.1/24 interface=wg-server

Это будет IP MikroTik внутри VPN-сети.

Шаг 4: Открыть порт в файрволе

/ip firewall filter add chain=input action=accept protocol=udp dst-port=51820 comment="WireGuard"

Порядок правила важен — оно должно быть до правила drop-all-input. Поднимите его вверх через /ip firewall filter move <id> 0.

Шаг 5: Добавить peer’а (клиента)

На клиенте (телефон, ноут) сначала генерируем пару ключей. Удобнее всего — через приложение WireGuard для Windows/macOS/iOS/Android: создать пустой конфиг, оно сгенерит ключи автоматически. Публичный ключ клиента копируем.

В MikroTik:

/interface wireguard peers add \
    interface=wg-server \
    public-key="<публичный ключ клиента>" \
    allowed-address=10.20.30.2/32

Шаг 6: Подготовить конфиг для клиента

Создайте на клиенте peer-laptop.conf:

[Interface]
PrivateKey = <приватный клиента>
Address = 10.20.30.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = <публичный MikroTik>
Endpoint = <ваш-внешний-IP>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

<ваш-внешний-IP> — это белый IP, который провайдер выдал MikroTik. Если у вас серый IP (NAT) — придётся использовать сервис типа DDNS (MikroTik умеет Cloud DDNS нативно, см. ниже) или ловить publicIP через VPS-relay.

Шаг 7: NAT и маршрутизация

Чтобы клиент через WG мог выходить в интернет, нужно NATить трафик из WG-сети наружу:

/ip firewall nat add chain=srcnat action=masquerade out-interface=ether1 src-address=10.20.30.0/24

(где ether1 — ваш WAN-интерфейс).

Cloud DDNS на MikroTik (если у вас серый IP)

У MikroTik есть встроенный сервис MikroTik Cloud, который выдаёт динамическое имя вида <id>.sn.mynetname.net. Включить:

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

Через минуту вы увидите назначенное имя. Используйте его в Endpoint конфига клиента.

Сценарий 2: MikroTik как WG-клиент

Обратная задача: роутер сам подключается к зарубежному VPS, и весь домашний трафик идёт через туннель.

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

/interface wireguard add name=wg-client listen-port=13231 mtu=1420

Запишите public key:

/interface wireguard print

Шаг 2: Прописать peer (это и есть удалённый сервер)

/interface wireguard peers add \
    interface=wg-client \
    public-key="<публичный сервера>" \
    endpoint-address=89.110.73.101 \
    endpoint-port=51820 \
    allowed-address=0.0.0.0/0 \
    persistent-keepalive=25s

Шаг 3: IP-адрес

/ip address add address=10.0.0.2/32 interface=wg-client

Шаг 4: Маршруты

Здесь начинается самая интересная часть. На MikroTik selective routing делается через routing tables и mangle rules.

Вариант A: весь трафик через VPN.

/ip route add dst-address=0.0.0.0/0 gateway=wg-client distance=1

Это поломает Госуслуги. Не делайте так без оговорок.

Вариант B: routing-mark по доменам.

Создаёте отдельную routing table via-vpn. Mangle-правило ловит трафик на определённые домены (или IP) и метит его. Затем route с этим mark’ом идёт через VPN, остальное — напрямую.

/routing table add fib name=via-vpn

/ip firewall mangle add chain=prerouting \
    action=mark-routing \
    new-routing-mark=via-vpn \
    dst-address-list=via-vpn-list \
    passthrough=no

/ip route add dst-address=0.0.0.0/0 gateway=wg-client routing-table=via-vpn

/ip firewall address-list add list=via-vpn-list address=youtube.com
/ip firewall address-list add list=via-vpn-list address=instagram.com
# ... и так далее

Вариант C: всё через VPN, кроме РФ.

Готовые списки российских IP-диапазонов есть на GitHub (например, re:filter или russia-iplist). Скачать прямо на MikroTik:

/tool fetch url="https://raw.githubusercontent.com/.../ru-ips.rsc" mode=https
/import file-name=ru-ips.rsc

После импорта получите address-list=russia со списком IP. Marking-rule:

/ip firewall mangle add chain=prerouting \
    action=mark-routing \
    new-routing-mark=via-vpn \
    dst-address-list=!russia \
    passthrough=no

«Не в списке russia → через VPN». Это самый удобный вариант для дома, если вы не хотите вручную поддерживать список доменов.

NAT для клиентов в LAN

Чтобы устройства из домашнего LAN могли выходить через WG, нужен masquerade на WG-интерфейсе:

/ip firewall nat add chain=srcnat action=masquerade out-interface=wg-client

Сценарий 3: VLESS Reality через container

С RouterOS 7.4+ есть container — аналог Docker, упрощённый. Можно запустить xray-core внутри контейнера и через него гнать трафик.

Ограничения:

  • Нужна модель с armhf/arm64/x86 архитектурой (hAP ax², hAP ax³, RB5009, CCR-серия — подходят; старые AC-модели на MIPS — нет).
  • Нужен USB-носитель или SSD: контейнерам нужна файловая система.
  • RouterOS container — он strip down: docker-compose там нет, образы тянутся как tar-архивы.

Шаги (для hAP ax² с USB-флешкой):

  1. Включить container package:
/system/package/enable container
/system reboot
  1. После перезагрузки подмонтировать флешку:
/disk format-drive usb1 file-system=ext4
  1. Указать MikroTik, что контейнеры лежат на usb1:
/container/config/set registry-url=https://registry-1.docker.io tmpdir=usb1/tmp
  1. Создать veth для контейнера и виртуальный интерфейс с IP:
/interface/veth add name=veth1 address=172.17.0.2/24 gateway=172.17.0.1
/interface/bridge add name=docker-br
/interface/bridge/port add bridge=docker-br interface=veth1
/ip/address add address=172.17.0.1/24 interface=docker-br
  1. Загрузить образ xray:
/container add remote-image=teddysun/xray:latest interface=veth1 root-dir=usb1/xray
  1. Положить config.json для xray в usb1/xray/etc/xray/config.json — это конфиг с outbound vless на ваш VPS:
{
  "log": { "loglevel": "warning" },
  "inbounds": [{
    "port": 1080,
    "listen": "0.0.0.0",
    "protocol": "socks",
    "settings": { "udp": true }
  }],
  "outbounds": [{
    "protocol": "vless",
    "settings": {
      "vnext": [{
        "address": "89.110.73.101",
        "port": 443,
        "users": [{
          "id": "<uuid>",
          "encryption": "none",
          "flow": "xtls-rprx-vision"
        }]
      }]
    },
    "streamSettings": {
      "network": "tcp",
      "security": "reality",
      "realitySettings": {
        "serverName": "www.microsoft.com",
        "fingerprint": "chrome",
        "publicKey": "<pubkey>",
        "shortId": "<sid>"
      }
    }
  }]
}
  1. Запустить:
/container start <id>
  1. Развернуть transparent proxy: правила в /ip firewall nat переписывают destination трафика на 172.17.0.2:1080 (SOCKS-порт xray).

Это сложнее, чем на OpenWrt-роутере, и менее производительно — overhead контейнера в RouterOS заметен. Реалистично — 60-70% от голого xray на том же чипе. Для серьёзной работы с VLESS лучше OpenWrt + xray или сборка на VPS.

Полезные скрипты

Автоперезапуск туннеля при пинг-фейле:

/system script add name=wg-check source={
    :local pingResult [/ping 10.0.0.1 count=3];
    :if ($pingResult = 0) do={
        /interface wireguard disable wg-client;
        :delay 5;
        /interface wireguard enable wg-client;
        :log warning "WG-client restarted: ping fail";
    }
}

/system scheduler add name=wg-watchdog interval=1m on-event=wg-check

Скрипт обновления списка российских IP раз в неделю:

/system scheduler add name=ru-list-update interval=1w on-event={
    /tool fetch url="https://raw.githubusercontent.com/.../ru-ips.rsc" mode=https;
    :delay 10s;
    /ip firewall address-list remove [/ip firewall address-list find list=russia];
    /import file-name=ru-ips.rsc;
    :log info "russia IP-list refreshed";
}

Производительность: что ожидать

Замеры с hAP ax² (без Wi-Fi, тест через LAN), VPS в Германии, канал 1 Гбит/с:

СценарийDownUp
Без VPN940 Мбит/с940 Мбит/с
WireGuard клиент360 Мбит/с350 Мбит/с
WG + selective routing (50% RU)480 Мбит/с470 Мбит/с
VLESS Reality (container)220 Мбит/с200 Мбит/с
IKEv2180 Мбит/с170 Мбит/с

Wi-Fi 6 у hAP ax² — около 700 Мбит/с в идеале, реально через комнату — 350-450 Мбит/с. То есть Wi-Fi становится бутылочным горлышком раньше, чем VPN.

С RB5009 (промышленный, без Wi-Fi):

СценарийDownUp
WireGuard клиент700 Мбит/с690 Мбит/с
VLESS Reality (container)320 Мбит/с310 Мбит/с

Частые проблемы

WG-туннель показывает RX/TX = 0. Скорее всего, файрвол блокирует исходящий UDP. Добавьте в output chain: accept для protocol=udp dst-port=51820.

Туннель поднимается, но интернета нет. Проверьте две вещи: MTU (должно быть 1420 на туннеле и 1380 в /ip firewall mangle change-mss правиле) и DNS (если резолв идёт через 192.168.88.1 — он пойдёт через основной маршрут, не VPN; нужно 1.1.1.1 или forwarding в WG-table).

/container команда не работает. Возможны два сценария: пакет container не установлен (по умолчанию его нет в стандартных образах — надо скачать routeros-arm64-7.X-extra.npk отдельно и установить), или архитектура чипа не поддерживает (старые MIPS-чипы).

MikroTik после reboot теряет туннель. Проверьте, что в WG-интерфейсе галка disabled снята и в peer — responder тоже включён. Иногда после обновления RouterOS они сбрасываются.

Стоит ли брать MikroTik как первый VPN-роутер

Если вы любите CLI, скрипты, точную настройку файрвола — да. MikroTik даёт уровень контроля, недоступный в Keenetic или Asus.

Если вы хотите «настроить за 15 минут и забыть» — нет, берите Keenetic или GL.iNet. На MikroTik простейший selective routing занимает 30 минут, и каждое нестандартное хотение — поход в документацию RouterOS.

Подробное сравнение — в обзоре роутеров для VPN.

Связанные материалы

читать дальше

Похожие статьи