Инструкции·9 мин

VPN на OpenWRT: настройка sing-box и Xray через LuCI в 2026

Как поднять VLESS Reality на роутере с OpenWRT: установка sing-box и xray-core через opkg, управление в LuCI и маршрутизация по доменам.

OpenWRT превращает обычный роутер в полноценный VPN-шлюз: один раз настроили — и весь дом ходит в интернет через зашифрованный туннель без клиентов на каждом устройстве. В этом руководстве разберём, как поднять VLESS Reality через sing-box и xray-core, настроить всё из веб-интерфейса LuCI и через конфиг, импортировать подписку Visavio и сделать умную маршрутизацию: российские сайты напрямую, заблокированные — через VPN.

Почему именно OpenWRT

OpenWRT — это открытая прошивка на базе Linux для сотен моделей роутеров. В отличие от закрытых стоковых прошивок и даже от гибкого Keenetic, здесь вы получаете полноценную систему с пакетным менеджером opkg, доступом по SSH и правами root. Это означает, что можно установить любой современный клиент — sing-box или xray-core — с поддержкой протокола VLESS и маскировки Reality, а не довольствоваться тем, что зашил производитель.

Главное преимущество — гибкость маршрутизации. На OpenWRT вы сами решаете, какой трафик отправлять в туннель, а какой пускать напрямую. Российские банки, госуслуги и сайты с отечественным хостингом продолжают работать без задержек и без «иностранного» IP, а заблокированные ресурсы открываются через VPN. Всё это работает прозрачно для клиентских устройств: телефоны, телевизоры и ноутбуки не знают, что за роутером стоит VPN, и не требуют никаких приложений.

Если вы только выбираете платформу под маршрутизатор, посмотрите обзорную страницу VPN для OpenWRT и сравнение с готовыми решениями на VPN для роутера. Владельцам Keenetic будет полезен отдельный разбор про настройку на Keenetic.

Требования к железу и памяти

Reality и VLESS с шифрованием XTLS-Vision почти не нагружают процессор благодаря аппаратному ускорению AES на современных чипах, но сам разбор трафика и работа прокси-демона требуют ресурсов. Ориентируйтесь на следующие минимумы:

ПараметрМинимумКомфортно
Оперативная память (RAM)128 МБ256 МБ и больше
Постоянная память (Flash)16 МБ32 МБ и больше
ПроцессорОдноядерный MIPS 600+ МГцДвухъядерный ARM (Cortex-A7/A53)
Реальная скорость50–150 Мбит/с300 Мбит/с — до гигабита

На роутерах с 8 МБ Flash пакет sing-box просто не поместится — выбирайте модели минимум с 16 МБ или устанавливайте демон на внешний USB-накопитель через extroot. По памяти 128 МБ хватает для одного туннеля, но при активной маршрутизации по большим спискам доменов комфортнее иметь 256 МБ. Скорость упирается прежде всего в процессор: слабый одноядерный MIPS выдаст 50–150 Мбит/с, а двухъядерный ARM легко прокачает 300 Мбит/с и выше. Именно поэтому под VPN на роутере берут модели вроде Xiaomi AX3000T, GL.iNet, Netgear R7800 или устройства на чипах MediaTek MT7981/MT7986.

sing-box или xray-core: что выбрать

Оба клиента отлично работают с VLESS Reality, и подписка Visavio совместима с любым из них. Разница — в архитектуре и удобстве.

  • xray-core — прямой наследник v2ray, эталонная реализация протоколов VLESS и XTLS-Vision. Максимально совместим со всеми нюансами Reality, конфиг описывается в JSON с привычной структурой inbounds/outbounds/routing. На OpenWRT ставится вместе с плагином luci-app-xray (проект XrayR/PassWall), даёт тонкий контроль.
  • sing-box — более новый универсальный движок «всё в одном». Один бинарь умеет клиент и сервер, поддерживает VLESS, Reality, Hysteria2, TUIC и другие протоколы, имеет встроенный DNS-резолвер и продвинутый движок правил (rule-set). Конфиг компактнее, маршрутизация по геолокации и доменам описывается изящнее. Немного требовательнее к памяти.

Практический совет: если нужен один стабильный VLESS Reality туннель и предсказуемость — берите xray-core. Если планируете сложную маршрутизацию по спискам стран и доменов, гибкий DNS и, возможно, другие протоколы в будущем — sing-box удобнее. Ниже покажем оба пути.

Установка через opkg

Подключитесь к роутеру по SSH командой ssh root@192.168.1.1 и обновите список пакетов. Сначала базовая подготовка:

  1. обновите индексы: opkg update;
  2. проверьте свободное место: df -h — раздел /overlay должен иметь хотя бы несколько мегабайт запаса;
  3. установите вспомогательные пакеты для маршрутизации: opkg install kmod-tun ca-bundle ca-certificates.

Вариант sing-box

В свежих ветках OpenWRT (23.05 и новее) sing-box есть в официальном репозитории. Установка:

  1. основной пакет: opkg install sing-box;
  2. если пакета нет в вашей сборке, скачайте статический бинарь под архитектуру своего чипа (mipsle, arm, aarch64) со страницы релизов проекта и положите в /usr/bin/sing-box, затем chmod +x /usr/bin/sing-box;
  3. проверьте версию: sing-box version.

Вариант xray-core

Для xray чаще всего используют готовый пакет xray-core и веб-плагин. Установка:

  1. сам движок: opkg install xray-core;
  2. веб-интерфейс (если доступен в вашем фиде): opkg install luci-app-xray — он добавит раздел управления прямо в LuCI;
  3. проверьте: xray version.

Если нужного пакета нет, добавьте сторонний репозиторий (например, из проектов PassWall или homeproxy) — но помните, что сторонние фиды нужно подключать осознанно и только из проверенных источников. Универсальный и безопасный путь — статический бинарь из официальных релизов проекта.

Импорт подписки VLESS Reality от Visavio

После оплаты вы получаете в личном кабинете и от поддержки ссылку-подписку — строку вида vless://uuid@server:443?...&security=reality&sni=...&flow=xtls-rprx-vision. Из неё нужно вытащить параметры и перенести в конфиг клиента. Разберём, что означает каждое поле:

  • UUID — ваш уникальный идентификатор пользователя (часть до символа @);
  • server и port — адрес и порт узла (обычно 443);
  • sni — имя домена-«маски», под TLS-соединение с которым маскируется трафик;
  • pbk (public key) — публичный ключ Reality;
  • sid (short id) — короткий идентификатор Reality;
  • fp (fingerprint) — отпечаток TLS, например chrome;
  • flow — режим XTLS, для Reality это xtls-rprx-vision.

Не хотите разбирать ссылку вручную — напишите в поддержку, там пришлют готовый JSON-конфиг именно под sing-box или xray для роутера. Подробный разбор полей и примеры есть на странице про конфиг VLESS.

Настройка sing-box через конфиг

Основной способ для sing-box — правка файла /etc/sing-box/config.json. Минимальный рабочий конфиг для VLESS Reality состоит из блоков inbounds (локальный вход, например прозрачный tun или mixed-прокси), outbounds (сам туннель до сервера Visavio) и route (правила маршрутизации). Ключевой блок outbound выглядит так: тип vless, ваш server и server_port, uuid, поле flow со значением xtls-rprx-vision и вложенный объект tls с enabled: true, реальным server_name (это ваш SNI), секцией reality с public_key и short_id, а также utls с fingerprint chrome.

Для прозрачного шлюза добавьте inbound типа tun с включённым auto_route — тогда sing-box сам поднимет виртуальный интерфейс и перехватит системный трафик. После правки проверьте синтаксис командой sing-box check -c /etc/sing-box/config.json, запустите демон service sing-box start и включите автозапуск service sing-box enable. Логи смотрите через logread -e sing-box.

Настройка через LuCI (веб-интерфейс)

Если работа с JSON пугает, почти всё можно сделать мышкой в веб-интерфейсе LuCI. При установленном плагине (luci-app-xray для xray или homeproxy-модуль для sing-box) порядок такой:

  1. откройте LuCI в браузере по адресу роутера и войдите под root;
  2. перейдите в раздел Services (Службы) — там появится пункт вашего прокси-клиента;
  3. создайте новый сервер (outbound): выберите протокол VLESS, вставьте адрес, порт, UUID и flow xtls-rprx-vision;
  4. включите TLS и режим Reality, впишите SNI (server name), public key, short id и fingerprint chrome;
  5. в разделе маршрутизации задайте, какой трафик идёт через туннель, а какой напрямую (об этом ниже);
  6. сохраните и примените настройки (Save & Apply), затем запустите службу.

Многие плагины поддерживают импорт подписки одной строкой: найдите поле Import from URL/share link, вставьте туда VLESS-ссылку Visavio — и все параметры Reality заполнятся автоматически. Это самый быстрый путь, но убедитесь, что плагин корректно распознал flow и fingerprint: иногда их приходится выставить вручную.

Настройка LuCI похожа на процесс на других маршрутизаторах — если у вас параллельно есть Keenetic, загляните на страницу про Keenetic, логика разделения трафика там та же.

Правила маршрутизации: РФ напрямую, блокировки через VPN

Самое ценное в OpenWRT — умная маршрутизация. Смысл в том, чтобы не гонять весь трафик через туннель, а отправлять в VPN только то, что действительно заблокировано или замедлено. Так вы экономите процессор роутера, держите высокую скорость и не ломаете работу российских сервисов, которые не любят иностранные IP.

Типовая схема правил (в порядке приоритета):

  1. трафик к приватным адресам (192.168.0.0/16, 10.0.0.0/8) — всегда напрямую;
  2. домены и IP из российского списка (geosite:category-ru, geoip:ru) — напрямую, чтобы банки, госуслуги и локальные сервисы работали с домашним IP;
  3. заблокированные ресурсы и всё остальное — в туннель (outbound Visavio).

В sing-box это описывается в секции route.rules через готовые rule-set с геоданными: правило с geoip: ["ru", "private"] направляем в outbound: "direct", а всё прочее — в ваш VLESS-outbound. В xray-core аналогичный механизм называется routing с полями domain, ip и outboundTag, а списки подключаются файлами geosite.dat и geoip.dat. Дополнительно стоит закрепить прямую отправку DNS-запросов к российским резолверам, иначе домены будут разрешаться через туннель и часть сайтов «уедет» на иностранный маршрут.

Скорость и нагрузка на процессор

Reality и XTLS-Vision спроектированы так, чтобы минимально нагружать устройство: значительная часть трафика идёт напрямую между клиентом и сервером без лишнего оборачивания, а шифрование AES ускоряется аппаратно. Тем не менее прокси-демон всё равно разбирает пакеты, и на слабых роутерах именно процессор становится узким местом. Практические ориентиры по реальной пропускной способности мы привели в таблице выше.

Чтобы выжать максимум скорости на OpenWRT:

  • используйте умную маршрутизацию — чем меньше трафика в туннеле, тем меньше работы для CPU;
  • на устройствах с аппаратным NAT-offloading оставляйте прямой трафик на аппаратном ускорении, а в VPN пускайте только заблокированное;
  • следите за загрузкой командой top во время скачивания — если ядро упирается в 100%, скорость ограничена процессором, и апгрейд железа даст больше, чем любые твики;
  • выбирайте ближайшую по географии локацию из 30+ доступных у Visavio — меньше пинг, стабильнее скорость.

На современном ARM-роутере VLESS Reality спокойно отдаёт скорость, близкую к гигабиту, чего достаточно для 4K-стриминга и больших загрузок на весь дом сразу.

Типичные проблемы и решения

  • Пакет не устанавливается, «no space left» — не хватает Flash. Освободите место, удалив лишние пакеты, или используйте extroot на USB, либо статический бинарь вместо пакета.
  • Служба стартует и сразу падает — почти всегда ошибка в конфиге. Проверьте JSON через sing-box check или xray -test и смотрите logread.
  • Туннель поднимается, но сайты не открываются — проверьте системное время роутера (date): при неверных часах TLS-хендшейк Reality не проходит. Настройте NTP.
  • Handshake failed / reality verify error — не совпадают public key, short id или SNI. Сверьте их с актуальной подпиской, ключи периодически меняются.
  • Российские сайты открываются медленно или требуют капчу — значит их трафик ушёл в туннель. Проверьте правила маршрутизации и DNS: geoip:ru должен идти напрямую.
  • Скорость низкая на всех сайтах — упирается процессор роутера либо выбрана далёкая локация. Сократите объём туннелируемого трафика и смените узел.

Частые вопросы (FAQ)

Нужно ли ставить приложение на каждое устройство?

Нет. В этом и смысл настройки на роутере: VPN работает на уровне шлюза, а телефоны, телевизоры и ноутбуки просто пользуются интернетом без каких-либо клиентов. Если же нужен VPN только на одном устройстве, проще импортировать подписку в приложение вроде Hiddify, v2rayTun или NekoRay.

Подойдёт ли мой роутер?

Проверьте модель в Table of Hardware на сайте OpenWRT. Для VLESS Reality нужны минимум 16 МБ Flash и 128 МБ RAM, а для высокой скорости — двухъядерный ARM. Совсем бюджетные модели с 8 МБ Flash не подойдут без ухищрений.

sing-box или xray — что стабильнее?

Оба стабильны и совместимы с Visavio. xray-core чуть привычнее для одного туннеля, sing-box удобнее для сложной маршрутизации и умеет больше протоколов. Выбор зависит от задач, а не от качества.

Будет ли работать российский банк-клиент?

Да, если настроить маршрутизацию: трафик с geoip:ru идёт напрямую с вашим домашним IP, а через туннель уходит только заблокированное. Это стандартная схема, описанная выше.

Можно получить готовый конфиг?

Да. Поддержка Visavio присылает готовые JSON-конфиги под sing-box и xray, включая настроенную маршрутизацию РФ-трафика. Достаточно назвать модель роутера и версию OpenWRT.

Есть ли пробный период?

Есть бесплатный доступ на 24 часа — можно протестировать скорость и настройку на своём роутере до оплаты. Активируется через сайт или Telegram-бот @vpnvisaviobot.

Вывод

OpenWRT — самый гибкий способ поднять VPN на роутере: полный root-доступ, пакетный менеджер и свобода выбора между sing-box и xray-core дают контроль, которого нет в закрытых прошивках. Связка VLESS Reality от Visavio маскируется под обычный TLS 1.3, обходит DPI и замедления, а умная маршрутизация оставляет российские сервисы на прямом маршруте и высокой скорости. Один раз настроили — и весь дом под защитой без клиентов на устройствах.

Хотите попробовать на своём железе — оформите подписку с бесплатным пробным периодом и получите готовый конфиг под OpenWRT. Полезные материалы рядом: VPN для OpenWRT, VPN для роутера и разбор конфига VLESS.

Попробовать Visavio

VPN на Reality с мгновенной активацией. Оплата СБП и картой.

Начать за 167 ₽/мес