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 и обновите список пакетов. Сначала базовая подготовка:
- обновите индексы:
opkg update; - проверьте свободное место:
df -h— раздел/overlayдолжен иметь хотя бы несколько мегабайт запаса; - установите вспомогательные пакеты для маршрутизации:
opkg install kmod-tun ca-bundle ca-certificates.
Вариант sing-box
В свежих ветках OpenWRT (23.05 и новее) sing-box есть в официальном репозитории. Установка:
- основной пакет:
opkg install sing-box; - если пакета нет в вашей сборке, скачайте статический бинарь под архитектуру своего чипа (mipsle, arm, aarch64) со страницы релизов проекта и положите в
/usr/bin/sing-box, затемchmod +x /usr/bin/sing-box; - проверьте версию:
sing-box version.
Вариант xray-core
Для xray чаще всего используют готовый пакет xray-core и веб-плагин. Установка:
- сам движок:
opkg install xray-core; - веб-интерфейс (если доступен в вашем фиде):
opkg install luci-app-xray— он добавит раздел управления прямо в LuCI; - проверьте:
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) порядок такой:
- откройте LuCI в браузере по адресу роутера и войдите под root;
- перейдите в раздел Services (Службы) — там появится пункт вашего прокси-клиента;
- создайте новый сервер (outbound): выберите протокол VLESS, вставьте адрес, порт, UUID и flow
xtls-rprx-vision; - включите TLS и режим Reality, впишите SNI (server name), public key, short id и fingerprint
chrome; - в разделе маршрутизации задайте, какой трафик идёт через туннель, а какой напрямую (об этом ниже);
- сохраните и примените настройки (Save & Apply), затем запустите службу.
Многие плагины поддерживают импорт подписки одной строкой: найдите поле Import from URL/share link, вставьте туда VLESS-ссылку Visavio — и все параметры Reality заполнятся автоматически. Это самый быстрый путь, но убедитесь, что плагин корректно распознал flow и fingerprint: иногда их приходится выставить вручную.
Настройка LuCI похожа на процесс на других маршрутизаторах — если у вас параллельно есть Keenetic, загляните на страницу про Keenetic, логика разделения трафика там та же.
Правила маршрутизации: РФ напрямую, блокировки через VPN
Самое ценное в OpenWRT — умная маршрутизация. Смысл в том, чтобы не гонять весь трафик через туннель, а отправлять в VPN только то, что действительно заблокировано или замедлено. Так вы экономите процессор роутера, держите высокую скорость и не ломаете работу российских сервисов, которые не любят иностранные IP.
Типовая схема правил (в порядке приоритета):
- трафик к приватным адресам (
192.168.0.0/16,10.0.0.0/8) — всегда напрямую; - домены и IP из российского списка (
geosite:category-ru,geoip:ru) — напрямую, чтобы банки, госуслуги и локальные сервисы работали с домашним IP; - заблокированные ресурсы и всё остальное — в туннель (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.