Коротко: на MikroTik с RouterOS 7 есть два пути. Быстрый — встроенный WireGuard: клиент нативный, настройка через WinBox или консоль занимает 15 минут. Продвинутый — протокол VLESS через функцию Container: на роутере запускается лёгкий контейнер с xray, работает на моделях с архитектурой ARM/ARM64/x86 и внешним накопителем. Второй путь даёт маскировку трафика под обычный HTTPS и стабильность в любых сетях — и, в отличие от других роутерных решений, поддерживает в том числе XHTTP-конфигурации. Разбираем оба пути.
Не разбираешься в роутерах? Честная навигация
MikroTik — инструмент сетевых инженеров: тут нет мастеров настройки, а логика RouterOS требует понимания маршрутизации. Если ты выбираешь первый роутер под VPN для дома — посмотри сначала гайд по Keenetic или TP-Link: там всё настраивается кнопками в веб-интерфейсе. Если MikroTik уже стоит и ты с ним на «ты» — поехали. Застрянешь — поддержка Tainet поможет разобраться с твоей конфигурацией.
Что понадобится
- RouterOS 7.x (WireGuard встроен начиная с седьмой версии; для контейнеров желательно 7.6+, лучше свежая стабильная ветка).
- Для пути VLESS: модель на ARM, ARM64 или x86 (hAP ax2/ax3, RB5009, CCR2004 и новее, x86/CHR) и накопитель под контейнер — USB-флешка или NVMe; на моделях со старыми архитектурами (MIPS) контейнеры не поддерживаются, там остаётся WireGuard.
- Конфигурация от сервиса. У Tainet при оформлении доступны оба формата — файл WireGuard и VLESS-ссылка — в Telegram-боте или на этом сайте в личном кабинете; первые 7 дней — бесплатно, хватит обкатать настройку.
Дальше в статье - практические шаги; если нужно готовое подключение, Tainet настраивается за пару минут - через Telegram-бот или в личном кабинете на этом сайте.
Путь 1: WireGuard нативно
Все параметры — из файла конфигурации WireGuard (у Tainet он в личном кабинете в разделе подписки). Через консоль:
# интерфейс с приватным ключом из [Interface] PrivateKey
/interface/wireguard/add name=wg-vpn private-key="ПРИВАТНЫЙ_КЛЮЧ"
# адрес из [Interface] Address
/ip/address/add address=10.0.0.2/32 interface=wg-vpn
# пир: публичный ключ сервера, endpoint и порт из [Peer]
/interface/wireguard/peers/add interface=wg-vpn \
public-key="ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА" endpoint-address=АДРЕС_СЕРВЕРА \
endpoint-port=51820 allowed-address=0.0.0.0/0 persistent-keepalive=25s
# NAT для локальной сети через туннель
/ip/firewall/nat/add chain=srcnat out-interface=wg-vpn action=masquerade
# маршрут всего трафика в туннель (или только нужного — см. раздел про маршрутизацию)
/ip/route/add dst-address=0.0.0.0/0 gateway=wg-vpn distance=5
В WinBox то же самое делается в разделах WireGuard → Interfaces/Peers, IP → Addresses, IP → Firewall → NAT, IP → Routes. Проверка: /interface/wireguard/peers/print должен показывать рост rx/tx, а устройства за роутером — внешний IP сервера.
Честная оговорка: WireGuard быстр и прост, но его трафик распознаваем, и в части сетей соединение живёт нестабильно. Если это твой случай — путь 2.
Путь 2: VLESS через контейнер
Идея: на роутере поднимается контейнер с xray, который держит VLESS-подключение, а RouterOS заворачивает в него трафик. Используем готовый образ (например, универсальный aznka/xray-vless-mikrotik под свою архитектуру — он же понимает транспорты Vision, XHTTP, gRPC, WebSocket).
Шаг 1. Включи поддержку контейнеров. Установи пакет container (Extra packages под свою версию), затем:
/system/device-mode/update container=yes
RouterOS попросит подтвердить изменение физически — нажатием кнопки на устройстве или холодной перезагрузкой в отведённое время. Это защита MikroTik, без неё контейнеры не запустятся.
Шаг 2. Сеть для контейнера.
/interface/veth/add name=veth-vless address=172.17.0.2/24 gateway=172.17.0.1
/interface/bridge/add name=containers
/interface/bridge/port/add bridge=containers interface=veth-vless
/ip/address/add address=172.17.0.1/24 interface=containers
/ip/firewall/nat/add chain=srcnat src-address=172.17.0.0/24 action=masquerade
Шаг 3. Передай контейнеру свою VLESS-ссылку (скопируй её целиком из личного кабинета или бота Tainet):
/container/envs/add list=vless-env key=VLESS_URL value="vless://ТВОЯ_ССЫЛКА_ЦЕЛИКОМ"
Шаг 4. Создай и запусти контейнер (root-dir — на твоём накопителе):
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/tmp
/container/add remote-image=aznka/xray-vless-mikrotik-arm64:latest \
interface=veth-vless root-dir=disk1/containers/vless \
envlist=vless-env start-on-boot=yes logging=yes name=vless
/container/start vless
Шаг 5. Заверни трафик. Простейший вариант — весь трафик через контейнер отдельной таблицей маршрутизации:
/routing/table/add name=to_vpn fib
/ip/route/add dst-address=0.0.0.0/0 gateway=172.17.0.2 routing-table=to_vpn
/ip/firewall/mangle/add chain=prerouting src-address=192.168.88.0/24 \
action=mark-routing new-routing-mark=to_vpn passthrough=yes
(Подставь свою локальную подсеть; для выборочной маршрутизации меняй условие в mangle — по адресам устройств или спискам назначения.)
Проверка: /container/print — статус running; лог контейнера покажет установленное подключение; устройства из размеченной подсети выходят с IP сервера.
Нюанс про типы конфигураций: контейнер работает на полноценном xray, поэтому понимает и VLESS, и XHTTP-варианты из подписки Tainet — фильтровать ничего не нужно. Это отличает MikroTik-путь от роутерных решений на sing-box (как HomeProxy на OpenWRT), где XHTTP пока не поддерживается — подробности в гайде по OpenWRT.
Tainet работает с любым из путей: WireGuard-конфиг для штатного клиента, VLESS-подписка для OpenWRT — одна подписка, оба формата, плюс те же серверы на телефоне и компьютере. Подключение через Telegram-бот или в личном кабинете на этом сайте, от 8 ₽ в день.
Попробовать →Проблемы и решения
Контейнер не стартует. Три классические причины: не подтверждён device-mode (повтори шаг 1 и нажми кнопку), не хватает места (проверь накопитель и root-dir), образ не под твою архитектуру (/system/resource/print → architecture-name, выбери соответствующий тег образа).
Контейнер работает, трафик не идёт. Проверь NAT-правило для 172.17.0.0/24, маршрут в routing-table и mangle-правило — три места, где обычно теряется пакет. И убедись, что в VLESS_URL ссылка скопировалась целиком.
Скорость ниже ожидаемой. Шифрование в контейнере нагружает CPU: на hAP ax-серии реалистично ожидать десятки—до сотни Мбит/с через VLESS; для гигабитных задач смотри в сторону RB5009/CCR. WireGuard на тех же устройствах быстрее в разы — иногда правильная схема это WireGuard по умолчанию + VLESS для устройств, которым нужна стабильность.
После обновления RouterOS всё пропало. Проверь, что пакет container установлен под новую версию, и перезапусти контейнер.
Не решилось — напиши в поддержку: подскажем по твоей модели и конфигурации.
Частые вопросы
Какие модели MikroTik подходят для VLESS-контейнера?
Любые на ARM/ARM64/x86 с возможностью подключить накопитель: hAP ax2/ax3, RB5009, CCR2004 и новее, виртуальный CHR. Старые MIPS-модели (hEX, hAP lite и подобные) контейнеры не поддерживают — на них только WireGuard/OpenVPN.
WireGuard или VLESS на MikroTik?
WireGuard — быстрее и проще, ставится за 15 минут без контейнеров. VLESS — стабильнее в капризных сетях благодаря маскировке под HTTPS. Рабочая схема многих админов: начать с WireGuard, добавить VLESS-контейнер при проблемах со связью. Как устроена маскировка — в разборе протокола VLESS.
Можно ли пустить через VPN только часть устройств?
Да, это сильная сторона MikroTik: меняй условия в mangle-правиле — по адресам устройств, address-list или назначению. Телевизор через туннель, рабочий комп напрямую — штатная задача.
Одна подписка на роутер и телефон — можно?
Да: подписка Tainet мультиустройственная — контейнер на роутере и Happ на телефоне работают с одной ссылкой. Обзор всех платформ — в гайде по устройствам.
Если нужен сервис, который дружит с MikroTik из коробки: у Tainet в одной подписке — WireGuard-конфиг для нативного пути и VLESS/XHTTP-ссылки для контейнера, бесплатная первая неделя на обкатку, от 8 ₽ в день. Оформить — в Telegram-боте или на этом сайте в личном кабинете. Вопросы по твоей схеме — поддержка отвечает живыми людьми.